我是matlab的新手并编写了一个功能代码,旨在帮助绘制半波整流正弦函数。但它没有给我我期望的结果。
function x = rectifiedSineWave(t )
if sin(t) < 0
x = 0;
else
x = sin(t);
end
答案 0 :(得分:4)
如果t
只有一个元素,那么原始代码就可以了。
如果t
是矢量,您可能需要
function x = rectifiedSineWave(t)
x = sin(t);
x(x<0)=0;
或,更简单(感谢Serg)
function x = rectifiedSineWave(t)
x = max(0, sin(t));
这样,sin(t)
为负的元素将设置为零。
您的问题是if sin(t)<0
只要矢量t
的任何元素为负,就会触发,并将x
设置为零。