MATLAB进行傅里叶级数展开的命令
傅里叶级数展开在高等数学中很重要,它在工程计算和理论计算中都起着非常重要的作用。
在MATLAB中,目前还没有一个专门用于进行傅里叶级数展开的命令。不过,从其定义来看,完全可以利用MATLAB符号的计算能力,自己编制如下一个命令:
function(a0,an,bn)=mfourier(f)
syms n x
a0=int(f, -pi, pi)/pi;
an=int(f*cos(n*x), -pi, pi)/pi;
bn=int(f*sin(n*x), -pi, pi)/pi;
这个函数的使用很简单,只要将待展开的函数表达式赋给一个符号变量,然后用这个变量作为命令mfourier的参数即可。
例题 求函数f=x^3+x^2+x的傅里叶级数展开式。
输入程序如下:
>> syms x y z
>> f=x^3+x^2+x
>> [a0,an,bn]=mfourier(f)
a0 =
(2*pi^2)/3
an =
(2*(pi^2*n^2*sin(pi*n)- 2*sin(pi*n)+ 2*pi*n*cos(pi*n)))/(pi*n^3)
bn =
(2*cos(pi*n)*((6*pi)/n^3 - pi^3/n)- 2*sin(pi*n)*(6/n^4 - (3*pi^2)/n^2)+(2*(sin(pi*n)- pi*n*cos(pi*n)))/n^2)/pi