我是matlab新手,为了帮助绘制半波整流正弦函数,编写函数代码。但它并没有给我所期望的结果。我无法识别的matlab函数中的错误
function x = rectifiedSineWave(t)
if sin(t) < 0
x = 0;
else
x = sin(t);
end
我是matlab新手,为了帮助绘制半波整流正弦函数,编写函数代码。但它并没有给我所期望的结果。我无法识别的matlab函数中的错误
function x = rectifiedSineWave(t)
if sin(t) < 0
x = 0;
else
x = sin(t);
end
如果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
为零。
't'是矢量吗? – 2012-03-26 11:16:55