matlab画方波

我想画一个方波,
if(0<x<0.5),y=1;
if(0.5<=x<1);y=-1;
else,y=0;
谢谢大家了!尝试了很多次,总也不行。
x=linspace(-5,5,1000);
y=[];
for x0=x
if x0>=1
y=[y,0];
elseif x0>=0.5
y=[y,-1];
elseif x0>=0
y=[y,1];
elseif x0>=-5
y=[y,0];
end
end
plot(x,y)
axis([-5 5 -2 2])
程序我已经会了。

%您要的是这种效果?
% if(0<x<0.5),y=1;
% if(0.5<=x<1);y=-1;
% else,y=0;
x=linspace(-5,5,1000);
y=zeros(1,length(x));
y=x-floor(x);

y(find(y<=0 & y>=1))=0;
y(find(y>=0.5 & y<1))=-1;
y(find(y>0 & y<.5))=1;
plot(x,y),hold on;
y=0;
plot(x,y);
axis([-5 5 -2 2])追问

不是啦,要是这种方波我完全可以用staris函数画啦~
不过还是谢谢你!
我的程序就是不会在else和elseif没搞清楚。

追答

matlab最大优势就在于矩阵操作,你用 else 和 elseif 其实是降低matlab工作效能。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答