shuimin123 发表于 2009-6-7 19:49

求助!菲涅尔衍射循环

dx=4*Ra/(N-1);
dy=dx;
x=1:M;
x=(x-1)*dx-(M-1)/2*dx;
y=1:N;
y=(y-1)*dy-(N-1)/2*dy;
dy1=dy*d/f1;
dx1=dx*d/f1;


S3=zeros(M,N);
for nt=1:Nt
    t(nt)=-3*tau+(nt-1)*dt;
    for n=1:N
      y1=(n-1)*dy1-(N-1)/2*dy1;
      for m=1:M
            x1=(m-1)*dx1-(M-1)/2*dx1;
            S1=S0*exp(-t(nt)^2/2/tau^2);
            %S1=fftshift(S1);
            S2=S1.*exp(i*k*((x1-X).^2+(y1-Y).^2)/2/d);
            S3(m,n)=S3(m,n)+trapz(trapz(S2))*dt;
      end
    end
end
SL=exp(i*k*d)/i/lamda/d*S3*dx*dy;
请大家帮忙看一下,这个菲涅尔衍射积分程序有什么问题,现在出来的结果能量不守恒。先谢谢啦!

friendchj 发表于 2009-6-10 12:08

自己先核对一下程序和公式,看有没有输错。

shuimin123 发表于 2009-6-10 18:43

谢谢提醒了,核对了几遍,可还是有问题:'( :time:
页: [1]
查看完整版本: 求助!菲涅尔衍射循环