用Mathematica演示级数逼近问题——傅里叶级数

时间:2024-10-12 20:55:37

傅里叶级数,是用来逼近周期函数的一个方法。把一个周期函数展开成傅里叶级数,有一个好处,那就是处处收敛。因此,只要确保级数在一个周期内能够很好地逼近已知函数,那么这个逼近就可以推广到其它所有的周期里面。

用Mathematica演示级数逼近问题——傅里叶级数
用Mathematica演示级数逼近问题——傅里叶级数
用Mathematica演示级数逼近问题——傅里叶级数

工具/原料

电脑

mma

基本操作

1、先来作一个函数——x/2 的3阶傅里叶级数:FourierSeries[x/2, x, 3】并画出对比图:Plot[{%, x/2}, {x, -3 Pi, 3 Pi}]可以发现,只在区间{-Pi,Pi}上有可比性!

用Mathematica演示级数逼近问题——傅里叶级数

2、把级数的表达式处理一番:FourierSeries[x/2, x, 3] // SimplifyFourierSeries[x/2, x, 3] // Simplify // Traditio荏鱿胫协nalFormFourierSeries[x/2, x, 3] // FullSimplifyFourierSeries[x/2, x, 3] // FullSimplify // TraditionalForm

用Mathematica演示级数逼近问题——傅里叶级数

3、用列表的形式,给出t/2的前10阶Fourier级数式:Table[FourierSeries[t/2, t, n], {n, 1, 10}] // FullSimplify // TraditionalForm

用Mathematica演示级数逼近问题——傅里叶级数

4、把列表里的所有表达式画到一起:Plot[%, {t, -3 Pi, 3 Pi}]

用Mathematica演示级数逼近问题——傅里叶级数

5、函数t/2前10阶的Four坡纠课柩ier级数式,对应的逼近程度(互动模拟):Manipulate[Plot[{t/2, E即枢潋雳valuate[FourierSeries[t/2, t, n]]}, {t, -Pi, Pi}, PlotRange -> 2], {n, 1, 10, 1}]

用Mathematica演示级数逼近问题——傅里叶级数
用Mathematica演示级数逼近问题——傅里叶级数

6、Manipulate[Plot[{t/2, Evaluate[FourierSeries[t/2, t, n]]}, {t, -3 Pi, 3 Pi}, PlotRange -> 5], {n, 1, 10, 1}]

用Mathematica演示级数逼近问题——傅里叶级数

7、再尝试一些其它函数,如t^2:Manipulate[Plot[{t^2, Evaluate[FourierSeries[t^2, t, n]]}, {t, -3 Pi, 3 Pi}], {n, 1, 10, 1}]

用Mathematica演示级数逼近问题——傅里叶级数

8、一稍僚敉视个分段函数:f[x_] = Piecewise[{{1, 0 <= x < Pi}, {-1, -Pi <= x < 0}}];运行互动代码:Manipul锾攒揉敫ate[Show[Plot[f[x], {x, -Pi, Pi}, PlotStyle -> {Thickness[0.01], Red}, PlotRange -> {-1.5, 1.5}], Plot[Evaluate[FourierSeries[f[x], x, n]], {x, -Pi, Pi}, PlotStyle -> {Thickness[0.01], Blue}]], {n, 1, 36, 1}]

用Mathematica演示级数逼近问题——傅里叶级数

9、再来一个分段函数:f[x_] = Piecewise[{{0, 0 <= x < Pi}, {x, -Pi <= x < 0}}]仍旧用上一步的互动代码,逼近情况的互动模拟效果如下!

用Mathematica演示级数逼近问题——傅里叶级数
© 手抄报圈