怎么用matlab演示傅里叶级数与周期函数的逼近程度

怎么用matlab演示傅里叶级数与周期函数的逼近程度,第1张

根据傅里叶级数,得知一个周期信号的表达式可以写成:

其中ak由分析公式得到

为了验证x(t)如何有一系列的指数信号构成的猛誉,我们修改下x(t)的表达式为:

仅仅是将正无穷大改为整数N,我们通过不断加大N来观察x(t)的情况。

取一个周期内以周期T进行周期拖延得到x1(t),通过分析公式得带ak。

下为matlab仿真枝扒段图

这是i=1的情况,就是简单的余弦函数,与信号x1(t)相去甚远;

i=5的情况发现已经有点雏形了

这是i=100的情况,与原来的信号已经很相符了

因此我们可以得出结论,随着N不断变大,所得到的结此纳果将会无限逼近信号x1(t).

我会一点点傅里叶变换

给你漏差困编一段,你做庆侍一些修改试返念试吧

>>Y

=

fft(y,512)

Pyy

=

Y.*

conj(Y)

/

512

f

=

1000*(0:256)/512

plot(f,Pyy(1:257))

title('你的程序’)

xlabel(‘频率(Hz)’)

给一个f(x)=x (x \in 清早(0,\pi))的例子吧友陵:

Simplify[2/Pi * Integrate[Sin[n x] x, {x, 0, pi}],

Assumptions -> n \[Element] Integers]

得到正弦的系数:(因为延拓成了奇函数)

-2*((-1)^n/n)

然后画出来即可,搞点花答告雀样吧,使用了Manipulate,这样可以动感一点:

Manipulate[

Show[{Plot[Evaluate[Sum[-2*(-1)^n/n Sin[n x], {n, 1, k}]], {x, 0, 1},

PlotRange -> {0, 1}],

Plot[x, {x, 0, 1}, PlotStyle -> {Red, Dashed}]}], {k, 10, 50}]

另一个修行靠个人了,呵呵~


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12565205.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存