第九节 用 MATLAB 求傅里叶级数及其实验
本节介绍用 MATLAB软件求函数的傅里叶级数的部分和和傅里叶系数等的
方法及其实验。
一、用 MATLAB 求函数的傅里叶级数
可以编写求函数 fun 在
上的傅里叶系数的 MATLAB 主程序:
function [a0,an,bn]=afourier(fun,l)
syms x n
a0=int(fun,x,-l,l)/l;
an=int(fun*cos(n*pi*x/l),x,-l,l)/l;
bn=int(fun*sin(n*pi*x/l),x,-l,l)/l;
求函数 fun 在
上的傅里叶级数前 m 项的 MATLAB 主程序:
function S=safourier(fun,a0,an,bn,l,m)
syms x n
sn=an*cos(n*pi*x/l)+bn* sin(n*pi*x/l);
ssn=symsum(sn,n,1,m);
S=a0/2+ssn;
【例 1】在闭区间
上将函数
展开成傅里叶级数。
解 将函数
进行周期延拓,所给函数
在区间
上满足收敛定理的条
件 并且拓广为周期函数时 它在每一点 x 处都连续 因此拓广的周期函数的傅
里叶级数在
上收敛于 f(x)。
输入程序:
>> syms x n
fun=x^2;
l=1;
[a0,an,bn]=afourier(fun,l)
运行后屏幕显示在闭区间
上将函数
的傅里叶系数为:
a0 =
2/3
an =
2*(n^2*pi^2*sin(n*pi)-2*sin(n*pi)+2*n*pi*cos(n*pi))/n^3/pi^3
bn =
0
再输入程序:
>> syms x n
fun=x^2;
l=1;
a0 =2/3;
an =2*(n^2*pi^2*sin(n*pi)-2*sin(n*pi)+2*n*pi*cos(n*pi))/n^3/pi^3;
bn =0;