关于循环语句和if的用法
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/31 10:31:52
关于循环语句和if的用法
我的程序如下:
function Y=fic(E,N)
%find initial condition 寻求微粒的初值条件
%总能量为E,动能为T,势能为V,并且e=t+v
Y=zeros(N,4);
for i=1:N
T=unifrnd(0,E);
Y(i,2)=abs((2*T*cos(unifrnd(-pi,pi)))^0.5);
Y(i,4)=abs((2*T-Y(i,2)^2))^0.5;
Y(i,1)=unifrnd(-pi,pi);
test=acos(E-T-2.5-1.5*cos(Y(i,1))/(1.5+0.5*cos(Y(i,1))));
if isreal(test)==1
Y(i,3)=test;
else (这一块不知咋弄)
end
end
我的想法:test 不是实数,重新计算第i步,直到结果test维实数,才计算第i+1步,
我的程序如下:
function Y=fic(E,N)
%find initial condition 寻求微粒的初值条件
%总能量为E,动能为T,势能为V,并且e=t+v
Y=zeros(N,4);
for i=1:N
T=unifrnd(0,E);
Y(i,2)=abs((2*T*cos(unifrnd(-pi,pi)))^0.5);
Y(i,4)=abs((2*T-Y(i,2)^2))^0.5;
Y(i,1)=unifrnd(-pi,pi);
test=acos(E-T-2.5-1.5*cos(Y(i,1))/(1.5+0.5*cos(Y(i,1))));
if isreal(test)==1
Y(i,3)=test;
else (这一块不知咋弄)
end
end
我的想法:test 不是实数,重新计算第i步,直到结果test维实数,才计算第i+1步,
给我邮箱号,我给你发过去