使用if else条件绘制单位步骤

时间:2013-09-30 19:44:51

标签: matlab

我正在使用此代码绘制单位步骤函数

t1=-2:0.01:2;

if t1>=0
    y=1;
else if t1<0
    y=0;

   end

end

subplot(3,1,1)
plot(t1,y)`

但我没有得到所需的输出。它在每个点都为y绘制零点。

1 个答案:

答案 0 :(得分:3)

您的代码一次测试所有t1值,与

相同
if all(t1>=0)
    y=1;
else if all(t1<0)
    y=0;

   end

end

你想要的是:

t1=-2:0.01:2;
y = zeros(size(t1));
y(t1>=0) = 1;

subplot(3,1,1)
plot(t1,y)

另一种(效率较低)的方法是:

t1=-2:0.01:2;
for index=1:length(t1)
    if t1(index)>=0
        y(index)=1;
    else if t1(index)<0
            y(index)=0;
        end
    end
end

subplot(3,1,1)
plot(t1,y)

如P0W所示,还有一个重载功能可以生成与您类似的步进输出(尽管值为0.5为0)。但是,只有安装了符号工具箱,才能使用重质功能。