打靶法c语言程序,打靶法求解一维Schrodinger方程程序示例

使用打靶法求解一维Schrodinger方程的C语言实现
该程序用C语言实现打靶法,以解决一维Schrodinger方程,寻找特定条件下的能量本征值。通过循环迭代计算,确定满足边界条件的解,并将结果输出到文件中。运行程序时,用户需输入最大坐标值、最大能量值、常数K以及数据组数。

流程图

a4c26d1e5885305701be709a3d33442f.png

# include

# include

# defineh 10

floatksqu(float

x,float e)

{float

k=0.1,m=0.01,ksq,v;

v=k*(x-1)*(x-1)*(x-2)*(x-2);

ksq=2*m*(e-v)/(h*h);

returnksq;

}

intmain()

{FILE *fp;

floatx,e,de=1;

floatdx,xmin,xmax,k1,k2,k3,k4,l1,l2,l3,l4,k,psi,psi1;

fp=fopen("1.txt","w+");

xmin=0;xmax=20;dx=0.05;

for(e=0;e<=6000;e=e+1)

{psi=0.0001;psi1=0;dx=0.1;

for(x=xmin;x<=xmax;x=x+dx)

{k=-ksqu(x,e);

k1=k*psi;

l1=psi1;

k2=k*(psi+dx*l1/2);

l2=psi1+dx*k1/2;

k3=k*(psi+dx*l2/2);

l3=psi1+dx*k2/2;

k4=k*(psi+l3*dx);

l4=psi1+dx*k3;

psi=psi+dx*(l1+2*l2+2*l3+l4)/6;

psi1=psi1+dx*(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值