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工作效能。

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

如何用matlab画方波?
x2=[x1,zeros(1,6)];x=10*x2;%所求的周期脉冲信号 N=8;%长度为8 n=[0:1:N-1];k=[0:1:N-1];WN=exp(-j*2*pi\/N);nk=n'*k;WNnk=WN.^nk;Xk=x*WNnk;magXk=abs([Xk(N\/2+1:N),Xk(1:N\/2+1)]);subplot(2,1,1);stem(n,x);%画出周期脉冲信号 subplot(2,1,...

matlab 中画方波的square函数怎么设置周期和峰值
一、在MATLAB中用square函数来表示,其调用形式为 y=square(t,DUTY) ,其作用类似于sin(t),用以产生一个时长为t、幅值为±1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。例如频率为30Hz的周期性方波信号的MATLAB程序和图形如下:1、在MATLAB的...

如何用MATLAB或simulink产生1和-1交替周期可以任意设置的方波函数,越...
x = square(t,duty)其中duty用来表示周期

matlab画方波怎样改上升沿
使用“square”函数来绘制方波,使用“pulsedelay”参数来控制上升沿。以下代码将创建一个周期为2秒的方波,上升沿延迟0.1秒:t=0:0.01:10,y=square(2*pi*t,pulsedelay=0.1),plot(t,y),xlabel('时间(秒)'),ylabel('振幅'),title('方波')。

如何产生方波信号matlab
1、周期性矩形波(方波)信号:在MATLAB中用square函数来表示,其调用形式为 y=square(t,DUTY)其作用类似于sin(t),用以产生一个时长为t、幅值为±1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。例如频率为30Hz的周期性方波信号的 MATLAB 参考程序如下:t=-...

如何产生方波信号matlab
周期性矩形波(方波)信号:在MATLAB中用square函数来表示,其调用形式为 y=square(t,DUTY)其作用类似于sin(t),用以产生一个时长为t、幅值为±1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。例如频率为30Hz的周期性方波信号的 MATLAB 参考程序如下:t=-2*...

matlab 里如何产生固定周期和宽度,不同幅值的脉冲方波?
t = 0:0.01:8;y = -0.5*square(0.5*pi*(t+1))+0.5;%画方波 y2=2*y;%将幅值放大 t2=t(end)+t;%将横轴加长往后移动 y3=[y y2] %叠加纵坐标 t3=[t t2] %叠加横坐标 clf;hold on figure(1) %输出第一个幅值相同的方波 plot(t,y,'-r','lineWidth',1)axis([...

matlab如何画随时间变化的方波图
有产生方波的函数啊,Square函数 例:clc;clear T=0:0.01:2*pi;A=0.5;P=4;y=A*square(P*T);plot(T,y)我运行过了

怎么在MATLAB中用傅立叶变换画出周期为2占空比为50%的矩形方波?
方波的傅里叶级数为无穷次,采用傅里叶级数绘制波形的话,可取有限次,例如999 clf;Fs = 500; % % 0.5Hz基波频率,考虑999次谐波,采样频率必须大于500Hz T = 1\/Fs; % 采样周期 L = 1000; % 采样点数,一个周期2秒对应2*FS点 t = (0:L-1)*T; % 时间,单位:S ...

MATLAB程序如何产生方波
T=2*10*pi;t=0:0.01:T;y=sign(sin(t));plot(t,y);占空比你自己去调节sin(t)的周期就行了

相似回答