matlab傅里叶级数

matlab傅里叶级数

ID:29826040

大小:134.99 KB

页数:13页

时间:2018-12-24

matlab傅里叶级数_第1页
matlab傅里叶级数_第2页
matlab傅里叶级数_第3页
matlab傅里叶级数_第4页
matlab傅里叶级数_第5页
资源描述:

《matlab傅里叶级数》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、河南工程学院理学院MATLAB(傅立叶级数的模拟)姓名:杨标班级:信息1241学号:201211002126实验目的:(1)用MATLAB模拟傅立叶级数F(x)=a0/2+求a0,an,bn;(2)对矩形函数,三角函数求傅立叶级数;(作图)(3)绘制函数及其傅立叶逼近实验分析(1):将F(x)=a0/2+展开为傅立叶级数,既是求ai,bi根据三角函数的正交性,可得:a0=;an=;bn=应用积分求解公式int源程序:clearsymsxnf=(“函数方程”)a0=int(f,x,-pi,pi)/pian=int(f*c

2、os(n*x),x,-pi,pi)/pibn=int(f*sin(n*x),x,-pi,pi)/pi例:求函数f(x)=x^3+5clearsymsxnf=x^3+5a0=int(f,x,-pi,pi)/pian=int(f*cos(n*x),x,-pi,pi)/pibn=int(f*sin(n*x),x,-pi,pi)/pi运行后得:实验分析(2):其中函数为F(X)=X,求解图像及其傅里叶逼近。展开为傅里叶级数:F(x)=a0/2+,先求解其中的a0,an,bn源程序:functiony=fly(f,k,l)%f为

3、要展开的函数,k为要展开的项数,l为函数半周期symsxn;a0=int(f,x,-l,l)/lan=int(f*cos(n*pi*x/l),x,-l,l)/lbn=int(f*sin(n*pi*x/l),x,-l,l)/lforn=1:ka(n)=int(f*cos(n*pi*x/l),x,-l,l)/l;b(n)=int(f*sin(n*pi*x/l),x,-l,l)/l;endg=0;forn=1:ks=a(n)*cos(n*pi*x/l)+b(n)*sin(n*pi*x/l);g=g+s;endy=a0/2+g

4、依次可以求得,1,3,5,7,10次的部分和,既可以做出图像。输入:x=-pi:0.01:pif1=2*sin(x)f3=2*sin(x)-sin(2*x)+2/3*sin(3*x)f5=2*sin(x)-sin(2*x)+2/3*sin(3*x)-1/2*sin(4*x)+2/5*sin(5*x)f7=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)+2/7*sin(7*x)f10=2*sin(x)-sin(2*x)+2/3*s

5、in(3*x)-1/2*sin(4*x)+2/5*sin(5*x)-1/3*sin(6*x)+2/7*sin(7*x)-1/4*sin(8*x)+2/9*sin(9*x)-1/5*sin(10*x)plot(x,x,x,f1,x,f3,x,f5,x,f7,x,f10)即可得图像:实验分析(3):求以2π为周期的周期函数函数F(x)=(-1,x<0;1,x>0)的傅里叶系数展开,及逼近(作图)源程序:[A,B,y]=fseries(f,x,n,a,b)f为待展开函数,x为自变量;n为展开项数;[a,b]为展开区间;A,B

6、为傅里叶系数;y为返回的展开式(a)function[A,B,F]=fseries(f,x,n,a,b)ifnargin==3,a=-pi;b=pi;end%若输入为3个参数表示f(x)在[-pi,pi]内展开L=(b-a)/2;A=int(f,x,-L,L)/L;%f(x)在[-L,L]内积分B=[];F=A/2;fori=1:nan=int(f*cos(i*pi*x/L),x,-L,L)/L;%积分求系数anbn=int(f*sin(i*pi*x/L),x,-L,L)/L;%积分求系数bnA=[A,an];%记录所

7、有anB=[B,bn];%记录所有bnF=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);%得到n阶傅里叶展开式end(b)symsx;f=abs(x)/x;%给出待展开函数xx=[-pi:pi/200:pi];%给出所有要作图的点xx=xx(xx~=0);%去掉为0的点yy=subs(f,x,xx);%计算f(x)的值plot(xx,yy);%作f(x)图holdonn1=1n2=5n3=7n4=10%给出展开的阶数[a,b,f1]=fseries(f,x,n1);%求n阶展开y1=subs(

8、f1,x,xx);%计算n阶展开在各点的函数值[a,b,f1]=fseries(f,x,n2);%求n阶展开y2=subs(f1,x,xx);%计算n阶展开在各点的函数值[a,b,f1]=fseries(f,x,n3);%求n阶展开y3=subs(f1,x,xx);%计算n阶展开在各点的函数值[a,b,f1]=fseries(f,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。