我是靠谱客的博主 现实灯泡,最近开发中收集的这篇文章主要介绍matlab 连续两个if,if 多个条件同时成立怎么改,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Qc=0:200;

b=[2,5,10,20,30];

alpha=0.88;

beta=0.88;

lambda=2.25;

gamma=0.61;

delta=0.69;

RP=30;

t0=10;

alpha1=20;

beta1=2;

pr=[0.75,0.1,0.05,0.05,0.05];

wz=@(z)(z^gamma)/((z^gamma+(1-z)^gamma)^(1/gamma));

wf=@(f)(f^delta)/((f^delta+(1-f)^delta)^(1/delta));

f1=@(Qc)RP-(t0+alpha1.*(Qc./200).^beta1+b(1));

f2=@(Qc)RP-(t0+alpha1.*(Qc./200).^beta1+b(2));

f3=@(Qc)RP-(t0+alpha1.*(Qc./200).^beta1+b(3));

f4=@(Qc)RP-(t0+alpha1.*(Qc./200).^beta1+b(4));

f5=@(Qc)RP-(t0+alpha1.*(Qc./200).^beta1+b(5));

f1=f1(Qc);

f2=f2(Qc);

f3=f3(Qc);

f4=f4(Qc);

f5=f5(Qc);

if f1>0 && f2>0 && f3>0 && f4>0 && f5>=0;

vp1=f1.^alpha;vp2=f2.^alpha;vp3=f3.^alpha;vp4=f4.^alpha;vp5=f5.^alpha;

wz1=wz(pr(1))-wz(0);wz2=wz(pr(1)+pr(2))-wz(pr(1));wz3=wz(pr(1)+pr(2)+pr(3))-wz(pr(1)+pr(2));wz4=wz(pr(1)+pr(2)+pr(3)+pr(4))-wz(pr(1)+pr(2)+pr(3));wz5=wz(1)-wz(pr(1)+pr(2)+pr(3)+pr(4));

cwa=vp1*wz1+vp2*wz2+vp3*wz3+vp4*wz4+vp5*wz5

elseif f1<0&&f2<0&&f3<0&&f4<0&&f5<0;

vp1=-lambda*(-f1).^beta;vp2=-lambda*(-f2).^beta;vp3=-lambda*(-f3).^beta;vp4=-lambda*(-f4).^beta;vp5=-lambda*(-f5).^beta;

wf1=wf(1)-wf(pr(2)+pr(3)+pr(4)+pr(5));wf2=wf(pr(2)+pr(3)+pr(4)+pr(5))-wf(pr(3)+pr(4)+pr(5));wf3=wf(pr(3)+pr(4)+pr(5))-wf(pr(4)+pr(5));wf4=wf(pr(4)+pr(5))-wf(pr(5));wf5=wf(pr(5))-wf(0);

cwa=vp1*wf1+vp2*wf2+vp3*wf3+vp4*wf4+vp5*wf5

elseif f1>0&&f2>0&&f3>0&&f4>=0&&f5<0;

vp1=f1.^alpha;vp2=f2.^alpha;vp3=f3.^alpha;vp4=f4.^alpha;vp5=-lambda*(-f5).^beta;

wz1=wz(pr(1))-wz(0);wz2=wz(pr(1)+pr(2))-wz(pr(1));wz3=wz(pr(1)+pr(2)+pr(3))-wz(pr(1)+pr(2));wz4=wz(pr(1)+pr(2)+pr(3)+pr(4))-wz(pr(1)+pr(2)+pr(3));wf5=wf(pr(5))-wf(0);

cwa=vp1*wz1+vp2*wz2+vp3*wz3+vp4*wz4+vp5*wf5

elseif f1>0&&f2>0&&f3>=0&&f4<0&&f5<0;

vp1=f1.^alpha;vp2=f2.^alpha;vp3=f3.^alpha;vp4=-lambda*(-f4).^beta;vp5=-lambda*(-f5).^beta;

wz1=wz(pr(1))-wz(0);wz2=wz(pr(1)+pr(2))-wz(pr(1));wz3=wz(pr(1)+pr(2)+pr(3))-wz(pr(1)+pr(2));wf4=wf(pr(4)+pr(5))-wf(pr(5));wf5=wf(pr(5))-wf(0);

cwa=vp1*wz1+vp2*wz2+vp3*wz3+vp4*wf4+vp5*wf5

elseif f1>0&&f2>=0&&f3<0&&f4<0&&f5<0;

vp1=f1.^alpha;vp2=f2.^alpha;vp3=-lambda*(-f3).^beta;vp4=-lambda*(-f4).^beta;vp5=-lambda*(-f5).^beta;

wz1=wz(pr(1))-wz(0);wz2=wz(pr(1)+pr(2))-wz(pr(1));wf3=wf(pr(3)+pr(4)+pr(5))-wf(pr(4)+pr(5));wf4=wf(pr(4)+pr(5))-wf(pr(5));wf5=wf(pr(5))-wf(0);

cwa=vp1*wz1+vp2*wz2+vp3*wf3+vp4*wf4+vp5*wf5

else

vp1=f1.^alpha;vp2=-lambda*(-f2).^beta;vp3=-lambda*(-f3).^beta;vp4=-lambda*(-f4).^beta;vp5=-lambda*(-f5).^beta;

wz1=wz(pr(1))-wz(0);wf2=wf(pr(2)+pr(3)+pr(4)+pr(5))-wf(pr(3)+pr(4)+pr(5));wf3=wf(pr(3)+pr(4)+pr(5))-wf(pr(4)+pr(5));wf4=wf(pr(4)+pr(5))-wf(pr(5));wf5=wf(pr(5))-wf(0);

cwa=vp1*wz1+vp2*wf2+vp3*wf3+vp4*wf4+vp5*wf5

end

plot(Qc,real(cwa),'r ','linewidth',1.6)

帮忙看看这程序。新手来的。 万分感谢!!!

??? Operands to the || and && operators must be convertible to logical scalar values.

Error in ==> CCC at 22

if f1>0 && f2>0 && f3>0 && f4>0 && f5>=0;

该怎么改啊??

另外,结果有复数,怎么回事???

最后

以上就是现实灯泡为你收集整理的matlab 连续两个if,if 多个条件同时成立怎么改的全部内容,希望文章能够帮你解决matlab 连续两个if,if 多个条件同时成立怎么改所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部