第九节 用 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 =
bn =
2*(n^2*pi^2*sin(n*pi)-2*sin(n*pi)+2*n*pi*cos(n*pi))/n^3/pi^3
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;
],[ll],[ll]1,1[2)(xxf)(xf)(xf]1,1[]1,1[]1,1[2)(xxf
S=safourier(fun,a0,an,bn,l,9)
运行后屏幕显示在闭区间 上将函数
S =
1/3-1125899906842624/8727491006471547*pi*cos(pi*x)+281474976710656/87
27491006471547*pi*cos(2*pi*x)-1125899906842624/78547419058243923*pi*cos(
3*pi*x)+70368744177664/8727491006471547*pi*cos(4*pi*x) -1125899906842624/
218187275161788675*pi*cos(5*pi*x)+281474976710656/78547419058243923*pi*
cos(6*pi*x)-1125899906842624/427647059317105803*pi*cos(7*pi*x)
的傅里叶级数的前 10 项为:
【例 2】 设 f(x)是周期为 2的周期函数 它在[ ]上的表达式为 f(x)x
将 f(x)展开成傅里叶级数。
解 所给函数满足收敛定理的条件 它在点 x+2n (n0 1 2 )处不
连续 在其它点处连续 从而由收敛定理知道 f(x)的傅里叶级数收敛 并且当
x+2n (n0 1 2 )时收敛于
当 x+2n (n0 1 2 )时,级数收敛于 f(x),因为 ,输入程序:
>> syms x n
fun=x;
l=pi;
[a0,an,bn]=afourier(fun,l)
运行后屏幕显示函数 sinx 的傅里叶系数为:
a0 =
an =
bn =
0
0
-2*(-sin(n*pi)+n*pi*cos(n*pi))/n^2/pi
再输入程序:
>> syms x n
fun=x;
l=pi;
a0 =0;
an =0;
bn = -2*(-sin(n*pi)+n*pi*cos(n*pi))/n^2/pi;
S=safourier(fun,a0,an,bn,l,6)
运行后屏幕显示在闭区间
S =
上将函数 sinx 的傅里叶级数的前 6 项为
2*sin(x)-sin(2*x)+2/3*sin(3*x)-1/2*sin(4*x)+2/5*sin(5*x)-1/3*sin(6*x)+……
(x
x
]1,1[2)(xxf0)(21)]0()0([21xfxfl),(
35 ……)
(一)、问题
二、实验内容
用 MATLAB 软件求函数的傅里叶级数的部分和和傅里叶系数等。
(二)、实验目的
学会使用 MATLAB 软件求函数的傅里叶级数的部分和和傅里叶系数等的方
法。
(三)、预备知识
1、函数的傅里叶系数和傅里叶级数的概念。
2、本实验所用的求函数的傅里叶级数的部分和和傅里叶系数的MATLAB程序
调用格式和使用方法。
(四)、实验内容和要求
用 MATLAB 软件完成下列各题,并将计算程序存入软盘:
1、设 f(x)是周期为 2 的周期函数 它在[ ]上的表达式为 f(x)|x|,
将 f(x)展开成傅里叶级数。
2、将周期函数
展开成傅里叶级数 其中 E是正的常数。
3、设 f(x)是周期为 2的周期函数 它在[)上的表达式为
将 f(x)展开成傅里叶级数。
4、将函数
展开成傅里叶级数。
5、将函数 f(x)x1(0x)分别展开成正弦级数和余弦级数。
6、设 f(x)是周期为 4 的周期函数 它在[2 2)上的表达式为
(常数 k0)
将 f(x)展开成傅里叶级数。
7、将函数
展开成正弦级数。
|21sin|)(tEtuxxxxf0 00 )(xxxxxf0 0 )(20 02 0)(x k x xflxxlpxpxxM2l 2)(2l0 2 )(