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步,否则才进行下一步,
求指点,谢谢!



雷达卡




京公网安备 11010802022788号







