作者ENGImichael (Harmonic)
看板MATLAB
标题[问题] if条件式
时间Sun May 10 16:28:46 2015
小弟是Matlab的新手,
麻烦各位前辈指点一下小弟的两个问题,谢谢
1. 为什麽会出现以下讯息以及如何修正?
-------------------------------------------------------------------------
Operands to the || and && operators must be convertible to logical scalar
values.
Error in mos_operation3 (line 18)
elseif (Vgs>=Vt) && (Vds>=(Vgs-Vt) )
-------------------------------------------------------------------------
(附上程式码)
Vgs=0:0.1:10;
Id1=0;
Id2=0.5*Un*C*W/L*(Vgs-Vt).^2; %Id2为Vgs的二次函数,其余皆为常数
Id3=Un*C*W/L*Vds*(Vgs-Vt-0.5*Vds); %Id3为Vgs的一次函数,其余皆为常数
if (Vgs<Vt)
Id1=0;
elseif (Vgs>=Vt) && (Vds>=(Vgs-Vt) )
Id2;
elseif(Vgs>=Vt) && (Vds<(Vgs-Vt))
Id3;
end;
plot(Vgs,Id1,Vgs,Id2,Vgs,Id3);
麻烦各位前辈帮小弟解答,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.168.142.140
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1431246528.A.663.html
※ 编辑: ENGImichael (118.168.142.140), 05/10/2015 16:30:22
※ 编辑: ENGImichael (118.168.142.140), 05/10/2015 16:30:55
1F:推 JamesChen: Vgs >= Vt (常数) 这样会 return 一串 0 1 的 判断 05/10 20:59
2F:→ JamesChen: 不是 scalar 当然跑不动阿 05/10 20:59