关于利用傅里叶级数拟合三角波和矩形波matlab

首先要通过傅里叶变换算出来正余弦波的系数

matlab的代码如下:

t = (0:9999)*0.001; %扫描时间
i=0;
y=0;
q=0.2;
w=2*pi;
for i=1:1:100
    ak=q*sin(q*i*pi)/(q*i*pi);
    y=y+ak.*cos(i*w*t);
    
end
figure(1);
plot(t,y);

做出来的波形就像下面这样,这里我q定义的是tao/T(也就是占空比)。

下面的q也是这个意思

关于利用傅里叶级数拟合三角波和矩形波matlab_第1张图片

三角波代码如下:

t = (0:9999)*0.001; %扫描时间
i=0;
y=0;
q=0.2;
w=2*pi;
for i=1:2:100
    ak=4/(pi*i*i*pi);
    y=y+ak.*cos(i*w*t);
    
end
figure(1);
axis([-10 10 -10 10]);
plot(t,y);

关于利用傅里叶级数拟合三角波和矩形波matlab_第2张图片

 运行的代码就是这样

你可能感兴趣的:(其他)