数学物理方法实验傅里叶级数与傅里叶变换.docx
- 文档编号:8782263
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:8
- 大小:128.62KB
数学物理方法实验傅里叶级数与傅里叶变换.docx
《数学物理方法实验傅里叶级数与傅里叶变换.docx》由会员分享,可在线阅读,更多相关《数学物理方法实验傅里叶级数与傅里叶变换.docx(8页珍藏版)》请在冰豆网上搜索。
数学物理方法实验傅里叶级数与傅里叶变换
实验二、傅里叶级数与傅里叶变换
一、傅里叶级数:
例题:
绘制矩形函数
及其频谱的图形。
解:
T=1;tau=0.2;H=1;
t=-0.5*T:
0.01:
0.5*T;
f=(t>=-tau/2&t<=tau/2);
f1=((t-T)>=(-tau/2-T)&(t-T)<=(tau/2-T));
f2=((t+T)>=(-tau/2+T)&(t+T)<=(tau/2+T));
subplot(121)
plot([t-Ttt+T],H*[f1ff2])
axis([-220H+0.3])
xlabel('t')
ylabel('f(t)')
title('矩形脉冲')
k=0:
10;
wk=2*k*pi/T;
Ak=abs(2*H/T*sin(wk*tau/2)./(wk/2));
Ak
(1)=2*H*tau/T;
subplot(122)
plot(k,Ak,'b--')
holdon
stem(k,Ak,'o')
xlabel('k')
ylabel('A_k')
title('幅频响应曲线')
set(gca,'xtick',[0:
10])
二、傅里叶变换
例题:
单个矩形脉冲
的傅里叶变换。
解:
x=-1:
0.1:
1;
y=(x>=-0.3&x<=0.3);
Y=fft(y);%求傅里叶变换
n=fix(length(Y)/2);
freq=[0:
n-1]./length(Y);
Y1=fft(y,256);
n1=fix(length(Y1)/2);
freq1=[0:
n1-1]./length(Y1);
x1=-1:
0.1:
-0.3;
x2=-0.3:
0.1:
0.3;
x3=0.3:
0.1:
1;
x4=[x1x2x3];
y1=[zeros(1,length(x1))ones(1,length(x2))zeros(1,length(x3))];subplot(121)
subplot(121)
plot(x4,y1,'-*r')
xlabel('x')
ylabel('f(x)')
title('单个矩形脉冲')
subplot(122)
plot(freq,abs(Y(1:
n)),freq1,abs(Y1(1:
n1)),'r-.')
xlabel('f')
ylabel('|F(2\pif)|')
title('单个矩形脉冲的频谱')
三、广义傅里叶级数
1、勒让德函数的母函数
利用勒让德函数的母函数公式,有
closeall
clearall
[X,Z]=meshgrid([0:
0.1:
2],[0:
0.1:
3]);
[Q,R]=cart2pol(Z,X);
R(find(R==1))=NaN;
u=1./sqrt(1-2*R.*cos(Q)+R.^2);
meshc(Z,X,u)
xlabel('z')
ylabel('x')
Rin=R;
Rin(find(Rin>1))=NaN;
Rout=R;
Rout(find(Rout<1))=NaN;
Uin=1;
Uout=1./Rout;
fork=1:
20
Leg=legendre(k,cos(Q));%产生k阶连带勒让德多项式
Legk=squeeze(Leg(1,:
:
));%产生k阶勒让德多项式
uin=Rin.^k.*Legk;
uout=1./Rout.^(k+1).*Legk;
Uin=Uin+uin;
Uout=Uout+uout;
end
figure
meshc(Z,X,Uin)
holdon
meshc(Z,X,Uout)
xlabel('z')
ylabel('x')
勒让德函数的母函数等式左边的图形勒让德函数的母函数等式右边的图形
2、贝塞尔函数的母函数
贝塞尔函数的母函数公式是
clearall
closeall
m=30;
r=(0.3*m:
m)'/m;
theta=pi*(-m:
m)/m;
z=r*exp(i*theta);
z(find(z==0))=NaN;
subplot(121)
cplxmap(z,exp(z-1./z))%x=2
title('贝塞尔函数的母函数等式左边的图形')
view(34,44)
w=0;
fork=-20:
20
u=besselj(k,2).*z.^k;%x=2
w=w+u;
end
subplot(122)
cplxmap(z,w)
title('贝塞尔函数的母函数等式右边的图形')
view(34,44)
3、平面波展开为球面波的叠加
注:
第一类球贝塞尔函数与第一类柱贝塞尔函数的联系公式是:
。
closeall
clearall
[X,Z]=meshgrid(0.05:
0.1:
10);
subplot(231)
[Q,R]=cart2pol(X,Z);
sqrtR=sqrt(pi/2./R);
Leg0=legendre(0,cos(Q));
Bes0=sqrtR.*besselj(0,R);
qiu=Bes0.*Leg0;
surfc(X,Z,qiu)
title('l=0')
xlabel('x')
ylabel('z')
fork=1:
5
Leg=legendre(k,cos(Q));
Legk=squeeze(Leg(1,:
:
));%提取k阶勒让德函数
Bes=sqrtR.*besselj(k,R);
qiuk=Bes.*Legk;
subplot(2,3,k+1)
surfc(X,Z,qiuk)
title(['l=',num2str(k)])
xlabel('x')
ylabel('z')
end
取上式两边的实部,在等式的右边,当
时得实部,
closeall
clearall
[X,Z]=meshgrid(0.05:
0.1:
10);
subplot(221)
g=cos(X);
contour(g)
meshc(X,Z,g)
xlabel('z')
ylabel('x')
title('向Z方向传播的平面波')
[Q,R]=cart2pol(X,Z);
sqrtR=sqrt(pi/2./R);
Leg0=legendre(0,cos(Q));
Bes0=sqrtR.*besselj(0,R);
qiu=Bes0.*Leg0;
fork=2:
2:
10
Leg=legendre(k,cos(Q));
Legk=squeeze(Leg(1,:
:
));%求k阶勒让德多项式
Bes=sqrtR.*besselj(k,R);%求k阶贝塞尔函数
qiuk=(2*k+1)*i^k*Bes.*Legk;
qiu=qiu+qiuk;
end
subplot(222)
meshc(X,Z,qiu)
xlabel('z')
ylabel('x')
title('10次迭代得到的球面波叠加的图形')
fork=12:
2:
50
Leg=legendre(k,cos(Q));
Legk=squeeze(Leg(1,:
:
));%求k阶勒让德多项式
Bes=sqrtR.*besselj(k,R);%求k阶贝塞尔函数
qiuk=(2*k+1)*i^k*Bes.*Legk;
qiu=qiu+qiuk;
end
subplot(224)
meshc(X,Z,qiu)
xlabel('z')
ylabel('x')
title('50次迭代得到的球面波叠加的图形')
上机作业:
1、在(0,T)周期上,锯齿波可表为f(x)=x/3,锯齿波可展开为傅里叶级数:
试画出锯齿波的幅度频谱图。
2、求函数
的傅里叶变换,画出其幅频响应及相频响应曲线图。
3、已知平面波展开为柱面波的公式是:
取上式的实部,令
,得
试画出上式左边和右边(n=10和n=20)的柱面波图,并加以比较。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 物理 方法 实验 傅里叶 级数 傅里叶变换