close all
clear all
clc
z=79;
k=9e9;%k=1/(4πε0)为静电力常量,值为8.98810^9(Nm^2)/C^2;
e=1.6e-19;%e为基元电荷;
m=6.68e-27;%m为alpha粒子质量;
a=2ze^2k/m;
vx0=input('请输入初始速度(速度范围1-3):')
t=0;
x=-50;
E=5;
vx=(2E/m)^(1/2);
vy=0;
i=1;
for b=-20:5:20
line(0,0,'marker','.','markersize',50,'color','r');
text(2,0,'靶粒子');
hold on
while t<1000;
r(i)=(x(i)^2+b^2)^(1/2);
phi(i)=acos(x(i)/r(i));
ax(i)=(a/r(i)^2)*cos(phi(i));
ay(i)=(a/r(i)^2)*sin(phi(i));
x(i)=x(i)+vx(i)*1+(1/2)*ax(i)*1^2;
y(i)=b+vy(i)*1+(1/2)*ay(i)*1^2;
vx(i)=vx(i)+ax(i)*1;
vy(i)=vy(i)+ay(i)*1;
t=t+1;
plot(x(i),y(i),'ko')
i=i+1
end
end
索引超出数组范围。
出错 Untitled14 (line 21)
r(i)=(x(i)^2+b^2)^(1/2);
用volecity-verlet算法,想输出粒子在各个时刻的位置
i的初始值为多少,i不能为0
索引用的i为什么循环条件是t,可能是i没有给初始值