📄 solve_schrodinger_equation.txt
字号:
#include<math.h>
#include<stdio.h>
main()
{
int n=2500,i=0,k=1,h=1,m=2,j,s;
int xma=100,xmi=-100,x0=200;
float e0=-0.01,de=0.005,n=0.1;
float k1,k2,k3,k4,l1,l2,l3,l4;
float k(i)=-2m/(h*h)*(e0-k*(-100+in-1)*(-100+in-1)*(-100+in+2)*(- 100+in+2))
float q(0)=0,f(0)=0,y(j);
for(s=0;s<1;s++)
{
for(j=0;;j++)
{
for(i=0;i<2000;i++)
{
k1=q(i);
l1=k(i)*f(i);
k2=q(i)+n/2*l1;
l2=k(i+1/2)*(f(i)+n/2*k2);
k3=q(i)+n/2*l2;
l3=k(i+1/2)*(f(i)+n/2*k3);
k4=q(i)+n*l3;
l4=k(i+1)*(f(i)+n*k4);
f(i+1)=f(i)+n/6*(k1+2*k2+2*k3+k4);
q(i+1)=q(i)+n/6*(l1+2*l2+2*l3+l4);
}
y(j)=f(2000)-f(0);
}
if(y(j)&&k(2500)=q(0))
{
printf("eo=%f",eo);
for(i=0;i<2500;i++);
printf("f(i)=%f",f(i));
}
else
{
if(j>=1)
{
if(y(j)*y(j-1)>0)
e0=e0+de;
}
else
{
de=1/2*de;
eo=eo+de;
}
s=-1;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -