傅里叶级数展开

设周期为2l的周期函数f(x) 满足收敛定理的条件,则它的傅里叶级数展开多项式为

\[f(x)=\frac{{a}_{0}}{2}+\sum_{n=1}^{\infty} {\left( {a}_{n}\operatorname{cos}{\frac{n\pi x}{l}}+{b}_{n}\operatorname{sin}{\frac{n\pi x}{l}} \right)}\]

其中系数为

\[{a}_{n}=\frac{1}{l}\int_{-l}^{l} {f\left( x \right)}\operatorname{cos}{\frac{n\pi x}{l}}dx \left( n=0,1,2,\ldots \right)\]
\[{b}_{n}=\frac{1}{l}\int_{-l}^{l} {f\left( x \right)}\operatorname{sin}{\frac{n\pi x}{l}}dx \left( n=0,1,2,\ldots \right)\]

编写M文件sam1_1.m,求函数f(x)在区间[-l,l]中的傅里叶级数。

code.matlab
function [a0,an,bn]=sam5_1(f,l)
syms x n
a0=int(f,-l,l)/l
an=int(f*cos(n*pi*x/l),-pi,pi)/pi;
an=simple(an)
bn=int(f*sin(n*pi*x/l),-pi,pi)/pi;
bn=simple(bn)

将函数y=x展开成傅里叶级数。

解 在命令窗口中输入下面的语句

code.matlab
>> f=x;
>> l=pi;
>> sam5_1(f,l)
a0=
		0
an=
		0
bn=
		2/n^2/pi*sin(n*pi)-2/n*cos(n*pi)