MATLAB中,如何将函数y的取值限定在(0,1)范围内

小弟在求一个微分方程的解得图像,想把y的取值范围限定在(0,1)的范围内,即y>=1时y=1,y<=0时y=0,其他时候y即为所求,我用if y>1
y=1;
elseif 1>y>0
y=y;
else y=0;
end
但是不行,请哪位高人给点指点,感激不尽
我要画的函数是f=3.5*y^1.2-(5/(x^0.3))*y,麻烦给位高人了

第1个回答  推荐于2018-04-13
f=3.5*(y>=1).^1.2-(5./(x.^0.3)).*(y>=1)+3.5*(y.*(y>0&y<1)).^1.2-(5./(x.^0.3)).*(y.*(y>0&y<1))+3.5*(0*(y<0)).^1.2-(5./(x.^0.3)).*(0*(y<0))本回答被提问者和网友采纳
第2个回答  2010-08-26
你的自变量在那里?
可以这么来画:
x=0:0.01:pi;
if 2sin(x)<1,y=2sin(x);
else
y=1
end
plot(x,y,'r-')
还有0<y<1是不合法的输入。
相似回答