| 查看: 1061 | 回复: 0 | |||
[交流]
在写matlab关于基尔霍夫单缝衍射时遇到了,向大家问题求助下
|
|
我的一个目的是想模拟线光源的基尔霍夫双缝衍射图案,想先从单缝衍射编写matlab,然后在乘以干涉因子得到双缝衍射图案。 现在上面写的是单缝衍射的matlab语言。 上面是我按照 书本上的基尔霍夫衍射公式遍公式 ,先求出取线光源上一点的电光源发出相干光通过一定大小的孔后的衍射图像,然后在把线光源上每个非相干光源产生的衍射图案的光强相叠加。 只求出了关于光强的向量。 所以最后遇到的问题有: 1求出I光强分布后怎么能用坐标表示出来,怎么得到I光强的灰度图? 2还有书本中使用积分求E的,而我是采用间隔取点(间距值的大小不好取)来求E,能优化成积分形式吗? lamda=500e-9;%波长 L=1;%线光源的衍射屏的垂直距离 D=10;%衍射孔到观察面的垂直距离 k=2*pi/lamda; c=1/1j*lamda; ym=2.5*lamda*D/d;%线光源长度 ys=linspace(-ym,ym,2000); d=1e-3;%衍射孔半径 A=1;%E的振幅 um=2.5*lamda*D/d;%观察面 us=linspace(-um,um,2000); for y=-ym:1;ym I=zeros(2000,1); for n=-1e-3:1e-9:1e-3%衍射孔上间隔取点 E=zeros(2000,1); R=sqrt((y-n)^2+L^2);%点光源到衍射孔面上的距离 r=sqrt(d^2+(us-n).^2);%衍射孔到观察面的距离 E=(A/R)*exp(1j*k*R); theta=[(L/R)+(D./r)]/2;%K因子 dE=c*E*theta.*exp(i.*k.*r)./r; E=E+dE;%小孔发出的子波到观察面的叠加 end I=I+(E).*2;%非相干光的光强叠加 end |
» 猜你喜欢
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有7人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有8人回复
申请2026年博士
已经有6人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有5人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有5人回复
2025冷门绝学什么时候出结果
已经有7人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有6人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有7人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复













回复此楼