如何利用matlab合成周期方波信号 matlab中除了square和rectpuls还有什么可以表示周期性方波
如何利用matlab合成周期方波信号
参考程序:
t=-pi:0.001:pi
omega=1
y=square(t,50)
plot(t,y),grid on
xlabel(t),ylabel(周期方波信号)
axis([-pi pi -1.5 1.5])
n_max=[1:2:9] %表示不同的谐波数的叠加%
N=length(n_max)
for k=1:N
n=1:2:n_max(k)
b=4./(pi*n)
x=b*sin(omega*n*t)
figure
plot(t,y)
hold on
plot(t,x)
hold off
xlabel(t),ylabel(部分和的波形)
axis([-pi pi -1.5 1.5]),grid on
title([谐波数=,num2str(n_max(k))])
end
这个是通过谐波合成的过程,其中 n 为谐波数。当n改为单值99时可以看出,已经近乎方波,所以,可知,当n→∞时,可以合成为方波的。
matlab中除了square和rectpuls还有什么可以表示周期性方波
方波其实很容易生成,比如你写一个周期为2T的正弦波,通过符号函数就得到周期为2T的方波,你可以再乘上系数加上系数,变成你相要的
方波其实很容易生成,比如你写一个周期为2T的正弦波,通过符号函数就得到周期为2T的方波,你可以再乘上系数加上系数,变成你相要的
matlab画方波
%您要的是这种效果?
% if(0
% 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])