数学物理方法实验傅里叶级数与傅里叶变换资料

更新时间:2023-09-15 14:04:02 阅读量: 资格考试认证 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验二、傅里叶级数与傅里叶变换

一、傅里叶级数:

例题:绘制矩形函数

??H?f?t????0??及其频谱的图形。

??????t???2??2

??T??T??t??,?t???222??2

解:

f?t???HT??2Hk??2k?tsincos k?TTk?1?%Fig2d2.m

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-T t t+T],H*[f1 f f2]) axis([-2 2 0 H+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--') hold on

stem(k,Ak,'o') xlabel('k') ylabel('A_k')

title('幅频响应曲线') set(gca,'xtick',[0:10])

二、傅里叶变换

例题:单个矩形脉冲

??H?f?t????0??的傅里叶变换。

解:

??????t???2??2????t??,t???22??

F????12?????f?t?e?i?tdt?Hsin??2

??%Fig2d3.m

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=[x1 x2 x3];

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、勒让德函数的母函数

利用勒让德函数的母函数公式,有

11?2rcos??r11?2rcos??r2??rlPl?cos??l?0???r?1?

2??l?01rl?1Pl?cos???r?1?% Fig2d7.m close all clear all

[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; for k=1:20

Leg=legendre(k,cos(Q)); Legk=squeeze(Leg(1,:,:)); uin=Rin.^k.*Legk;

uout=1./Rout.^(k+1).*Legk; Uin=Uin+uin; Uout=Uout+uout; end figure

meshc(Z,X,Uin) hold on

meshc(Z,X,Uout) xlabel('z') ylabel('x')

%产生k阶连带勒让德多项式 %产生k阶勒让德多项式 勒让德函数的母函数等式左边的图形 勒让德函数的母函数等式右边的图形

2、贝塞尔函数的母函数

贝塞尔函数的母函数公式是

x?1??z??2?2??e?m????J?x?zmm?0?z???

%Fig2d8.m clear all close all 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;

for k=-20:20

u=besselj(k,2).*z.^k; %x=2 w=w+u; end

subplot(122) cplxmap(z,w)

title('贝塞尔函数的母函数等式右边的图形') view(34,44)

本文来源:https://www.bwwdw.com/article/k6vh.html

Top