关于matlab绘制分段函数问题

我的函数是阶跃函数:y=0(x<0) y=1(x>=0)
然后我的matlab代码是这样的
x=linspace(-2,2);
y=0*(x<0)+1*(0<=x);
plot(x,y)
但是问题是在x=0的时候,y那条线不是垂直画下来的,怎么办

第1个回答  2013-04-18
画阶跃信号:
1.调用符号函数heaviside(t)函数 ,连续的, eg1:ut=sym('heaviside(t)');ezplot(ut,[-10,10]),更多用法,原理,请help2.调用数值函数 stepfun(t,t0)函数,此函数用来表示连续和离散的都可以 eg2:t=-10:0.01:10;ut=stepfun(t,0);plot(t, ut) 原理请help.3.用符号函数sign(t),ut=1/2+1/2*sign(t),具体怎么用可以自己琢磨一下。4.离散的简单,直接用向量表示,k1=-10;k2=10;t=k1:k2;ut=[zeros(size(k1:-1)),ones(size(0:k2))];stem(t,ut,'filled')
相似回答