声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1158|回复: 2

[编程技巧] 求助!菲涅尔衍射循环

[复制链接]
发表于 2009-6-7 19:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
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;
请大家帮忙看一下,这个菲涅尔衍射积分程序有什么问题,现在出来的结果能量不守恒。先谢谢啦!

ceshi2.m

4.79 KB, 下载次数: 1

完整的程序

公式.doc

16.5 KB, 下载次数: 1

菲涅尔衍射公式

回复
分享到:

使用道具 举报

发表于 2009-6-10 12:08 | 显示全部楼层
自己先核对一下程序和公式,看有没有输错。
 楼主| 发表于 2009-6-10 18:43 | 显示全部楼层
谢谢提醒了,核对了几遍,可还是有问题:'( :time:
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-19 14:25 , Processed in 0.101926 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表