我正在使用此代码来绘制单位阶跃函数
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 绘制零。
我正在使用此代码来绘制单位阶跃函数
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 绘制零。
您的代码一次测试所有 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 所指出的,还有一个生成与您的类似的阶跃输出的 heaviside 函数(尽管在 0 时值为 0.5)。但是,仅当您安装了符号工具箱时,heaviside 功能才可用。