ilovecatoon 发表于 2007-5-13 23:57

各位大侠,能不能帮我看个东西啊

各位大侠,能不能帮我看个东西啊,我实在看不懂 ..这个是设计一个激光整形的一个BOE,(从别人那弄来的)那些函数都不知道是什么 ....有的东西突然就冒出来了,都没有定义.如果能帮我看看,那真是感激涕零啦.

%精确的几何方法测试
clear all
clc
n=1.45;lambda=0.6328e-3;f=100;
w=2;%beam width in DOE
L=15;T1=5;T2=10;
samp_pnt=512*10;deltax=L/samp_pnt;deltat=lambda*f/L;
tt=inline('exp(-(x).^2/w^2)','x','w');
AA=1/(T2-T1)*quad(tt,-L/2,L/2,[],[],w);
fai=T1/2.*abs((-samp_pnt/2:samp_pnt/2-1).*deltax)+sqrt(pi)*w^2/2/AA.*(((-samp_pnt/2:samp_pnt/2-1).*deltax/w).*erf(((-samp_pnt/2:samp_pnt/2-1).*deltax/w))+1/sqrt(pi).*(exp(-((-samp_pnt/2:samp_pnt/2-1).*deltax).^2/w^2)-1));
fai_fresnel=T1/2.*abs((-samp_pnt/2:samp_pnt/2-1).*deltax)-((-samp_pnt/2:samp_pnt/2-1).*deltax).^2/2+sqrt(pi)*w^2/2/AA.*(((-samp_pnt/2:samp_pnt/2-1).*deltax/w).*erf(((-samp_pnt/2:samp_pnt/2-1).*deltax/w))+1/sqrt(pi).*(exp(-((-samp_pnt/2:samp_pnt/2-1).*deltax).^2/w^2)-1));
%%%%%%
phasex=exp(-((-samp_pnt/2:samp_pnt/2-1)*deltax).^2/2/w^2).*exp(i*2*pi/lambda/f*fai(1:samp_pnt));
Uf=fftshift(fft(phasex)*deltax);
xx=(0:samp_pnt/2)*deltax;
%%%%%%%%%%%%%%%%%%%%%%%
m=1;
for x0=0:deltax:L/2
    y(m)=fzero('accurate_GM',0,[],x0,n,w,AA,T1,f);
    h(m)=sum(y)*deltax*(n-1);
    m=m+1;
end
plot(xx,2*pi/lambda*h,'r',xx,2*pi/lambda/f*fai(samp_pnt/2:samp_pnt),'k')
%%%%%%%%%%%%%%%%%%%%%%%
phasex_accurate=exp(-((-samp_pnt/2:samp_pnt/2-1)*deltax).^2/2/w^2).*exp(i*2*pi/lambda*);
Uf_accurate=fftshift(fft(phasex_accurate)*deltax);
XX=(-samp_pnt/2:samp_pnt/2-1)*deltat;
figure(2);
plot(XX,abs(Uf_accurate).^2,'r',XX,abs(Uf).^2,'k')

ilovecatoon 发表于 2007-5-13 23:58

就是这个程序大概都是什么意思,一步步下来有什么作用的...

xjzuo 发表于 2007-5-14 09:13

accurate_GM函数在哪?
很明显,这是一个用FFT作幅频(功率谱)分析的程序.

[ 本帖最后由 xjzuo 于 2007-5-14 09:14 编辑 ]

ilovecatoon 发表于 2007-5-14 11:39

运行的时候也是说accurate_GM没有定义而出错.
因为程序是别人写的,他要求我看懂就行.还是没看懂
页: [1]
查看完整版本: 各位大侠,能不能帮我看个东西啊