|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我编了一个用if elseif end 求解的程序,其中有好几个elseif,但为什么前面的elseif 条件明明判断为假还要继续执行,而不执行后面的elseif,想了很久没有想出来,请高人赐教,程序如下:
eksiton=[1 0 0 0 0;0 1e-4 0 0 0;0 0 1e-5 0 0;0 0 0 -1e-5 0;0 0 0 0 -2e-3]
[v1 v2]=size(eksiton);
sigmac=zeros(size(eksiton));
for i=1:v1;
for j=1:v2;
if eksiton(i,j)>0.00015
sigmac(i,j)=0
elseif 0>eksiton(i,j)>=eksitonc
sigmac(i,j)=fc*(afa*(eksiton(i,j)/eksitonc)+(3-2*afa)*(eksiton(i,j)/eksitonc)^2+(afa-2)*(eksiton(i,j)/eksitonc)^3)
elseif eksitonc>eksiton(i,j)>=-3.3e-3
sigmac(i,j)=fc*(eksiton(i,j)/eksitonc)/(afd*(eksiton(i,j)/eksitonc-1)^2+(eksiton(i,j)/eksitonc))
elseif eksiton(i,j)==0
sigmac(i,j)==0
elseif 0<eksiton(i,j)<=eksitont
sigmac(i,j)=ft*(1.2*(eksiton(i,j)/eksitont)-0.2*(eksiton(i,j)/eksitont)^6)
elseif 0.00015>=eksiton(i,j)>eksitont
sigmac(i,j)=ft*(eksiton(i,j)/eksitont)/(aft*(eksiton(i,j)/eksitont-1)^1.7+(eksiton(i,j)/eksitont))
elseif -3.3e-3>eksiton(i,j)
disp('over')
end
end
end
eksiton
sigmac
%eksitonc=-1.64e-3,eksitont=0.081e-3 |
|