logo资料库

MATLAB求傅里叶级数.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
第九节 用 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 (n0 1 2    )处不 连续 在其它点处连续  从而由收敛定理知道 f(x)的傅里叶级数收敛 并且当 x+2n (n0 1 2    )时收敛于 当 x+2n (n0 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)(xxf0)(21)]0()0([21xfxfl),(
35 ……) (一)、问题 二、实验内容 用 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)x1(0x)分别展开成正弦级数和余弦级数。 6、设 f(x)是周期为 4 的周期函数 它在[2 2)上的表达式为 (常数 k0) 将 f(x)展开成傅里叶级数。 7、将函数 展开成正弦级数。 |21sin|)(tEtuxxxxf0 00 )(xxxxxf0 0 )(20 02 0)(x k x xflxxlpxpxxM2l 2)(2l0 2 )(
分享到:
收藏