傅立叶级数MATLAB绘图



我正试图绘制一个具有不同谐波数量的分解三角波,但我被卡住了

我能够计算出系数值,它们是矢量形式的,但我无法将其转换为输出信号并绘制出来。我已经复制了迄今为止所做的工作。

我只是感到很困惑,希望能给我一些指导。

syms t k w_0;
w_0=(2*pi);
k=[1:4]
a_k=(2/1)*(int(2*t*cos(k*w_0*t),t,0,.5)+(int((2-2*t)*cos(k*w_0*t),t,.5,1)))
b_k=(2/1)*(int(2*t*sin(k*w_0*t),t,0,.5)+(int((2-2*t)*sin(k*w_0*t),t,.5,1)))
a_0=(int(2*t,t,0,.5)+int(2-2*t,t,.5,1))

t=[0:.1:10];
%x=a_0+(symsum((a_k.*cos(w_0*k*t)+b_k.*sin(w_0*k*t)),1,2))
for i=[1:4]
    x=a_0+a_k(i)*cos(w_0*i.*t)+b_k(i)*sin(w_0*i.*t)
end
plot(t,x)

您似乎做得很好,但没有将波浪分量相加。您只是将它们一个接一个地分配给x,覆盖最后一个。

尝试

x = 0;
for i=[1:4]
    x = x + a_0+a_k(i)*cos(w_0*i.*t)+b_k(i)*sin(w_0*i.*t)
end

最新更新