正在加载图片...
(ds,a(cosndr,()sin mrds. 这样,结果Matlab的积分函数int就可以计算这些系数,从而就可以进行函数的傅立 叶展开了. 例6求函数f)=x在元,上的傅立叶级数 解相应的Matlab程序为 >syms x; k=3:k为需要展开的项数 f=x: a0=int(f,x,pi,pi)/pi;%求系数a for n=1:k a(n)=int(f*cos(n*x),x,-pi,pi)/pi;%求出傅立叶系数an,存为向量a b(n)=int(f*sin(n*x),x,-pi,pi)/pi; %求出傅立叶系数b。,存为向量b end for n=1:k co(n)=cos(n*x):%傅立叶级数中的余弦函数项 si(n)=sin(n*x): %傅立叶级数中的正弦函数项 end f=c0.*atsi.: g=0: for n=1:k g=f(n)+g: end f=aO+g%求出傅立叶级数前k项展开式 结果为f=2/3*sin(3*x)-sin(2*x)+2*sin(x) 若将k改为5,则输出结果: f=2/5*sin(5*x)-l/2*sin(4*x)+2/3*sin(3*x)-sin(2*x)+2*sin(x) 当k改为10时,输出结果: -1/5*sin(10*x)+2/9*sin(9*x)-1/4*sin(8*x)+2/7*sin(7*x)-1/3*sin(6*x)+2/5*sin( 5*x)-1/2*sin(4*x)+2/3*sin(3*x)-sin(2*x)+2*sin(x) 为了能够直观地展示傅立叶级数的效果,将展开为3,5,10项的效果图绘制出来,其 Matlab程序为 >>x=-Di:0.01:Di: >f3=2/3*sin(3*x)-sin(2*x)+2*sin(x): >f5=2/5*sin(5*x)-1/2*sin(4*x)+2/3*sin(3*x)-sin(2*x)+2*sin(x): >》f10=-1/5*sin(10*x)+2/9*sin(9*x)-1/4*sin(8*x)+2/7*sin(7*x)-1/3*sin(6*x) +2/5*sin(5*x)-1/2*sin(4*x)+2/3*sin(3*x)-sin(2*x)+2*sin(x): >>hold on >plot(x,x,'m','linewidth',2):4 0 1 a f x x ( )d  − =   , 1 ( )cos d n a f x nx x  −  =   , 1 ( )sin d n b f x nx x  −  =   ,n =1,2, . 这样,结果 Matlab 的积分函数 int 就可以计算这些系数,从而就可以进行函数的傅立 叶展开了. 例 6 求函数 f x x ( ) = 在 [ , ] −  上的傅立叶级数. 解 相应的 Matlab 程序为 >> syms x; k=3; %k 为需要展开的项数 f=x; a0=int(f,x,-pi,pi)/pi; %求系数 0 a for n=1:k a(n)=int(f*cos(n*x),x,-pi,pi)/pi; %求出傅立叶系数 n a ,存为向量 a b(n)=int(f*sin(n*x),x,-pi,pi)/pi; %求出傅立叶系数 n b ,存为向量 b end for n=1:k co(n)=cos(n*x); %傅立叶级数中的余弦函数项 si(n)=sin(n*x); %傅立叶级数中的正弦函数项 end f=co.*a+si.*b; g=0; for n=1:k g=f(n)+g; end f=a0+g %求出傅立叶级数前 k 项展开式 结果为 f =2/3*sin(3*x)-sin(2*x)+2*sin(x) 若将 k 改为 5,则输出结果: f =2/5*sin(5*x)-1/2*sin(4*x)+2/3*sin(3*x)-sin(2*x)+2*sin(x) 当 k 改为 10 时,输出结果: f = -1/5*sin(10*x)+2/9*sin(9*x)-1/4*sin(8*x)+2/7*sin(7*x)-1/3*sin(6*x)+2/5*sin( 5*x)-1/2*sin(4*x)+2/3*sin(3*x)-sin(2*x)+2*sin(x) 为了能够直观地展示傅立叶级数的效果,将展开为 3,5,10 项的效果图绘制出来,其 Matlab 程序为 >> x=-pi:0.01:pi; >> f3=2/3*sin(3*x)-sin(2*x)+2*sin(x); >> f5=2/5*sin(5*x)-1/2*sin(4*x)+2/3*sin(3*x)-sin(2*x)+2*sin(x); >> f10=-1/5*sin(10*x)+2/9*sin(9*x)-1/4*sin(8*x)+2/7*sin(7*x)-1/3*sin(6*x) +2/5*sin(5*x)-1/2*sin(4*x)+2/3*sin(3*x)-sin(2*x)+2*sin(x); >> hold on >> plot(x,x,'m','linewidth',2);
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有