MATLAB傅里叶级数Word格式文档下载.docx
《MATLAB傅里叶级数Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MATLAB傅里叶级数Word格式文档下载.docx(8页珍藏版)》请在冰点文库上搜索。
1?
求a0,an,bn;
(2)对矩形函数,三角函数求傅立叶级数;
(作图)
(3)绘制函数及其傅立叶逼近
实验分析
(1):
将F(x)=a0/2+?
bnsinnx)展开为傅立叶级数,既是求
ai,bi根据三角函数的正交性,可得:
a0=1
?
an=1
?
f(x)dx;
f(x)cosnxdx;
bn=1
f(x)sinnxdx应用积分求解公式int?
源程序:
clear
symsxn
“函数方程”)f=(
a0=int(f,x,-pi,pi)/pi
an=int(f*cos(n*x),x,-pi,pi)/pibn=int(f*sin(n*x),x,-pi,pi)/pi例:
求函数f(x)=x^3+5clear
f=x^3+5
an=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为要展开的函数,k为要展开的项数,l为函数半周期
symsxn;
a0=int(f,x,-l,l)/l
an=int(f*cos(n*pi*x/l),x,-l,l)/lbn=int(f*sin(n*pi*x/l),x,-l,l)/lforn=1:
k
a(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;
end
g=0;
forn=1:
s=a(n)*cos(n*pi*x/l)+b(n)*sin(n*pi*x/l);
g=g+s;
y=a0/2+g
依次可以求得,1,3,5,7,10次的部分和,既可以做出图像。
输入:
x=-pi:
0.01:
pi
f1=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*sin(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&
lt;
0;
1,x&
gt;
0)
的
傅里叶系数展开,及逼近(作图)
[A,B,y]=fseries(f,x,n,a,b)
f为待展开函数,x为自变量;
n为展开项数;
[a,b]为展开区间;
A,B为傅里叶系数;
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:
n
an=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];
%记录所有an
B=[B,bn];
%记录所有bn
F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);
%得到n阶傅里叶展开式
(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)图
holdon
n1=1
n2=5
n3=7
n4=10%给出展开的阶数
[a,b,f1]=fseries(f,x,n1);
%求n阶展开
y1=subs(f1,x,xx);
%计算n阶展开在各点的函数值
[a,b,f1]=fseries(f,x,n2);
y2=subs(f1,x,xx);
[a,b,f1]=fseries(f,x,n3);
y3=subs(f1,x,xx);
[a,b,f1]=fseries(f,x,n4);
y4=subs(f1,x,xx);
%计算n阶展开在各点的函数值plot(xx,y1,xx,y2,xx,y3,xx,y4);
%作图
作图得:
以2π为周期,以1为振幅的三角函数第一步,先求其傅里叶展开;
程序为:
symsx;
k=10;
%k为需要展开的相数
f1=2/pi*x+5;
f2=-2/pi*x-2;
f3=2/pi*x;
f4=-2/pi*x+2;
f5=2/pi*x-4;
%f为需要展开的函数
a0=int(f1,x,-2*pi,-3/2*pi)/pi+int(f2,x,-3/2*pi,-1/2*pi)/pi+int(f3,x,-1/2*pi,1/2*pi)/pi+int(f4,x,1/2*pi,3/2*pi)/pi+int(f5,x,3/2*pi,5/2*pi)/pi;
a(n)=int(f1*cos(n*x),x,-2*pi,-3/2*pi)/pi+int(f2*cos(n*x),x,-3/2*pi,-1/2*pi)/pi+int(f3*cos(n*x),x,-1/2*pi,1/2*pi)/pi+int(f4*cos(n*x),x,1/2*pi,3/2*pi)/pi+int(f3*cos(n*x),x,3/2*pi,5/2*pi)/pi;
%求出傅立叶系数a=(a1,a2,?
),
co(n)=cos(n*x);
%傅立叶级数的余弦项
f=co.*a;
g=f(n)+g;
f=a0+g%求出傅立叶级数
当k=1,2,5,7是分别可以求出f1,f2,f5,f7
作图程序:
x=-2*pi:
2*pi;
f1=(-40139127974558613/72057594037927936*pi^2+5/2*pi)/pi+(5734161139222659/9007199254740992*pi^2-2*pi)/pi+(-5734161139222659/9007199254740992*pi^2+2*pi)/pi+(5734161139222659/4503599627370496*pi^2-4*pi)/pi+cos(x)*((-17202483417667977/18014398509481984*pi+39301835134482301/9007199254740992)/pi+(-5734161139222659/4503599627370496*pi+4)/pi+(5734161139222659/4503599627370496*pi-
4)/pi+5734161139222659/2251799813685248)
f2=(-40139127974558613/72057594037927936*pi^2+5/2*pi)/pi+(5734161139222659/9007199254740992*pi^2-2*pi)/pi+(-5734161139222659/9007199254740992*pi^2+2*pi)/pi+(5734161139222659/4503599627370496*pi^2-4*pi)/pi-5734161139222659/18014398509481984*cos(2*x)/pi+cos(x)*((-17202483417667977/18014398509481984*pi+39301835134482301/9007199254740992)/pi+(-5734161139222659/4503599627370496*pi+4)/pi+(5734161139222659/4503599627370496*pi-4)/pi+5734161139222659/2251799813685248)
f5=(-40139127974558613/72057594037927936*pi^2+5/2*pi)/pi+(5734161139222659/9007199254740992*pi^2-2*pi)/pi+(-5734161139222659/9007199254740992*pi^2+2*pi)/pi+(5734161139222659/4503599627370496*pi^2-4*pi)/pi+cos(5*x)*((-17202483417667977/90071992547409920*pi+219445*********141/225179981368524800)/pi+(-5734161139222659/22517998136852480*pi+4/5)/pi+(5734161139222659/22517998136852480*pi-4/5)/pi+5734161139222659/11258999068426240)+cos(3*x)*((5734161139222659/180********481984*pi-46947383320112513/27021597764222976)/pi+(1911387046407553/4503599627370496*pi-4/3)/pi+(-1911387046407553/4503599627370496*pi+4/3)/pi-1911387046407553/2251799813685248)-5734161139222659/180********481984*cos(2*x)/pi+cos(x)*((-17202483417667977/180********481984*pi+39301835134482301/9007199254740992)/pi+(-5734161139222659/4503599627370496*pi+4)/pi+(5734161139222659/4503599627370496*pi-4)/pi+5734161139222659/2251799813685248)f7=(-40139127974558613/72057594037927936*pi^2+5/2*pi)/pi+(5734161139222659/9007199254740992*pi^2-2*pi)/pi+(-5734161139222659/9007199254740992*pi^2+2*pi)/pi+(5734161139222659/4503599627370496*pi^2-4*pi)/pi+cos(7*x)*((17202483417667977/126100789566373888*pi-3209861350551
57379/441352763482308608)/pi+(5734161139222659/31525197391593472*pi-4/7)/pi+(-5734161139222659/31525197391593472*pi+4/7)/pi-5734161139222659/15762598695796736)-1911387046407553/54043195528445952*cos(6*x)/pi+cos(5*x)*((-17202483417667977/90071992547409920*pi+219445820229302141/225179981368524800)/pi+(-5734161139222659/22517998136852480*pi+4/5)/pi+(5734161139222659/22517998136852480*pi-4/5)/pi+5734161139222659/11258999068426240)+cos(3*x)*((5734161139222659/18014398509481984*pi-46947383320112513/27021597764222976)/pi+(1911387046407553/4503599627370496*pi-4/3)/pi+(-1911387046407553/4503599627370496*pi+4/3)/pi-1911387046407553/2251799813685248)-5734161139222659/18014398509481984*cos(2*x)/pi+cos(x)*((-17202483417667977/18014398509481984*pi+39301835134482301/9007199254740992)/pi+(-5734161139222659/4503599627370496*pi+4)/pi+(5734161139222659/4503599627370496*pi-4)/pi+5734161139222659/2251799813685248)
plot(x,f1,x,f2,x,f5,x,f7);
图为:
实验心得: