在MatLAB中绘制傅里叶级数

时间:2014-12-05 04:30:58

标签: matlab plot fft

我有这个matlab任务,但我从未学过如何使用matlab,我的教授只是把它放在我们身上。作业是在matlab上绘制这个傅里叶级数:

2+ summ sin(2npi)cos(npit)/(npi)+(1-cos(2npi))sin(npit)/(npi)。我必须在同一图表上将其绘制为求和的上限= 1,3,5,10。我不是新编码,只是matlab,所以如果你们能给我一个正确方向的推动,我会非常感激。

我在这个网站上找到了这个代码,但我不知道如何根据自己的问题进行调整:

  clear
clc
syms n
a0=input('Enter coefficient a0: ');
an=input('Enter coefficient an: ');
bn=input('Enter coefficient bn: ');
a=input('Enter lower boundary: ');
b=input('Enter upper boundary: ');
t=linspace(a,b,10000);
suma=0;
for n=1:10 %% n could be any number, bigger n - better approximation
suma=suma+(subs(an,'n',n).*cos(2.*n.*pi.*t./(b-a))+subs(bn,'n',n).*sin(2.*n.*pi.*t./(b-a)));
end
series=a0+suma;
plot(t,series)
grid

它说INPUT的第一个参数必须是一个字符串。我可以修改此代码对我有用,或者我应该尝试其他的

1 个答案:

答案 0 :(得分:0)

首先你需要一个像这样的矢量 n:0.1:100(你的矢量为[0.1 0.2 0.3 .... 100] 接下来,您使用n作为傅立叶级数函数中的变量: 2+ summ sin(2npi)cos(npit)/(npi)+(1-cos(2npi))sin(npit)/(npi)(当你进行乘法时,尝试使用*,它使得阅读更容易)< / p>

你可以用类似的方式完成所有功能。

要绘图,请使用: 数字 情节(功能,&#39;你想要什么类型的颜色和点(比如&#39; ro&#39;是红色的&#39; s)&#39;) 其他情节偏好可以在Matlab帮助中找到。要在同一图上绘制多个函数,请使用: 坚持,稍等 情节(下一个) 情节(和下一个)