傅立叶级数MATLAB绘图

时间:2015-02-25 18:38:22

标签: 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)

1 个答案:

答案 0 :(得分:1)

您似乎正在做正确的事情,但您并没有将波浪组件汇总在一起。您只需将它们一个接一个地分配给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