【问题标题】:Fourier Series MATLAB plotting傅里叶级数 MATLAB 绘图
【发布时间】:2015-02-25 18:38:21
【问题描述】:

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

我能够计算系数值并且它们是矢量形式,但我无法将其转换为我的输出信号并绘制它。我已经复制了到目前为止所做的事情。

我只是变得很困惑,希望有一些方向。

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)

【问题讨论】:

    标签: matlab


    【解决方案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
    

    【讨论】:

    • 我认为这可以解决问题,但您可能需要使用x=0;进行初始化
    • @LuisMendo 谢谢,我已经修好了。
    猜你喜欢
    • 2014-11-16
    • 1970-01-01
    • 2016-01-26
    • 2014-05-26
    • 2016-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多