24小时热门版块排行榜    

查看: 2960  |  回复: 9

匿名

用户注销 (小有名气)

本帖仅楼主可见

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   同方向广播   申请物理EPI   回复此楼   编辑   查看我的主页
回帖置顶 ( 共有1个 )

zhfeng

木虫 (小有名气)

glddoyss: 回帖置顶 2012-04-06 19:28:32
对于quad函数,积分限应该是常数,a必须赋值。可以看一下帮助文件
7楼2012-04-04 23:20:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

匿名

用户注销 (小有名气)

本帖仅楼主可见
2楼2012-04-04 00:35:55
已阅   申请物理EPI   回复此楼   编辑   查看我的主页

匿名

用户注销 (小有名气)

本帖仅楼主可见
3楼2012-04-04 00:37:31
已阅   申请物理EPI   回复此楼   编辑   查看我的主页

smy1982

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
glddoyss: 金币+5, 有帮助, 虽然没指出我的错误,不过提供的程序也有用啦 2012-04-04 15:24:08
利用光波衍射的菲涅尔近似-菲涅尔衍射公式来计算双缝的衍射:


下面的这个程序你明白了的话,你这个问题就解决了,其他物体的衍射模拟你也就会了。
(1)实验参数设定:
    Lamda=0.6328; % um, Wavelength of the input light
DDist=200.0e+3; % um, Diffraction distance to the output plane
M=512; N=512; % Number of the sample array
dx=10.0; dy=10.0; % um, Sampling space
SWidth=4; % pixels, Width of the Slits
SDist=30; % pixels, Distance between two slits
(2)建立衍射屏函数(Slit)的抽样点阵
  DScreen=zeros(M,N); % define a M*N matrix with zero elements;
DScreen(:,(N-SDist-SWidth)/2N-SDist+SWidth)/2)=1.0; % Slit one
DScreen(:,(N+SDist-SWidth)/2N+SDist+SWidth)/2)=1.0; % Slit two
%也可用下列语句调入实现设计好的衍射屏图样(bmp格式512×512)。
DScreen=double(imread('DScreen1.bmp'));
(3)衍射屏函数的图形显示:
figure(1); % 激活1号显示窗口为当前窗口
colormap(gray);  %设置灰度图形显示格式
imshow(Slit); %在当前图形窗口显示衍射屏函数
  (4)建立高斯球面波函数 的抽样点阵:
    % Set coordinate of the sample array
[x,y]=meshgrid(-M*dx/2:dxM-1)*dx/2,-N*dy/2:dyN-1)*dy/2);
SphFunct=exp(i*pi*(x.^2+y.^2)/(Lamda*DDist)); % The spherical wave function
  (5) 通过计算菲涅尔衍射积分求衍射光场:
    % Simulate the Fresnel diffraction
DScreen_F=fftshift(fft2(fftshift(DScreen))); %Fourier transform of the slit function.
SphFunct_F=fftshift(fft2(fftshift(SphFunct))); %Fourier transform of the spherical function.
FrDiffract=fftshift(ifft2(fftshift(DScreen_F.*SphFunct_F))); % Inverse Fourier transform
  (6)显示输出平面上的光强度分布:
    % Display the diffraction pattern
FrDiffract_I=FrDiffract.*conj(FrDiffract); % Intensity distribution
FrDiffract_I=FrDiffract_I/max(max(FrDiffract_I));
imshow(FrDiffract_I/max(max(FrDiffract_I)));
  (7)保存衍射图样
如果你曾歌颂黎明,那么也请你拥抱黑夜。
4楼2012-04-04 09:53:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (小有名气)

本帖仅楼主可见
5楼2012-04-04 12:52:11
已阅   申请物理EPI   回复此楼   编辑   查看我的主页

smy1982

木虫 (正式写手)

引用回帖:
5楼: Originally posted by glddoyss at 2012-04-04 12:52:11:
这个不很懂啊。学matlab不久。。  能帮忙看看我函数定义哪里出了问题吗?
M文件这个
function CS=fresnelC(a)
CS=quad(@fun1,0,a);
function fun=fun1(u)
fun=cos(0.5.*pi.*u.^2)+i.*sin(0.5.*pi.*u.^2);
...

你这个程序不是用run来运行的,你的是个函数。得用函数命令。
在matlab命令行里直接输入比如:CS=fresnelC(200e-3);
但是你这个程序里面,“l(n)=abs(F(x1(n))+sqrt(0.5)*exp(i.*pi./4));%表示的是菲涅尔积分,f(n)=F(x1(n));%得到菲涅尔积分的列阵
” 这个F()是什么函数啊?没有给出来啊?
如果你曾歌颂黎明,那么也请你拥抱黑夜。
6楼2012-04-04 20:07:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
送鲜花一朵
8楼2012-04-05 20:47:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (小有名气)

本帖仅楼主可见
9楼2012-04-06 19:28:49
已阅   申请物理EPI   回复此楼   编辑   查看我的主页

卡洛比

新虫 (初入文坛)

??? Error using ==> times
Matrix dimensions must agree.

Error in ==> Fresnelyanshe at 25
FrDiffract=fftshift(ifft2(fftshift(DScreen_F.*SphFunct_F))); % Inverse Fourier transform傅里叶逆变换(球面函数及狭缝函数的乘积)

??? Error using ==> times
Matrix dimensions must agree.

Error in ==> Fresnelyanshe at 25
FrDiffract=fftshift(ifft2(fftshift(DScreen_F.*SphFunct_F))); % Inverse Fourier transform傅里叶逆变换(球面函数及狭缝函数的乘积)
同学 你这个程序运行下去出现了如上错误,是不是你球面函数和狭缝函数的取样尺寸不同导致此上错误呢?
10楼2012-04-25 10:36:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 glddoyss 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿天大材料与化工(085600)总分338 +5 蔡大美女 2026-03-13 5/250 2026-03-19 10:44 by 是小刘呀~
[考研] 285化工学硕求调剂(081700) +11 柴郡猫_ 2026-03-12 11/550 2026-03-19 09:37 by laoshidan
[考研] 一志愿华中科技大学,080502,354分求调剂 +4 守候夕阳CF 2026-03-18 4/200 2026-03-18 22:16 by li123456789.
[考研] 085410人工智能专硕317求调剂(0854都可以) +3 xbxudjdn 2026-03-18 3/150 2026-03-18 22:14 by zhq0425
[考研] 286求调剂 +6 lemonzzn 2026-03-16 9/450 2026-03-18 15:31 by vgtyfty
[考研] 收复试调剂生 +4 雨后秋荷 2026-03-18 4/200 2026-03-18 14:16 by elevennnne
[考研] 本人考085602 化学工程 专硕 +16 不知道叫什么! 2026-03-15 18/900 2026-03-17 17:05 by ruiyingmiao
[考研] 211本,11408一志愿中科院277分,曾在中科院自动化所实习 +6 Losir 2026-03-12 7/350 2026-03-17 12:09 by danranxie
[考研] 274求调剂 +5 时间点 2026-03-13 5/250 2026-03-17 07:34 by 热情沙漠
[考研] 304求调剂 +5 素年祭语 2026-03-15 5/250 2026-03-16 17:00 by 我的船我的海
[考研] 304求调剂 +3 曼殊2266 2026-03-14 3/150 2026-03-16 16:39 by houyaoxu
[考研] 求老师收留调剂 +4 jiang姜66 2026-03-14 5/250 2026-03-15 20:11 by Winj1e
[考研] 288求调剂 +4 奇点0314 2026-03-14 4/200 2026-03-14 23:04 by JourneyLucky
[考研] 本科南京大学一志愿川大药学327 +3 麦田耕者 2026-03-14 3/150 2026-03-14 20:04 by 外星文明
[考研] 中科大材料专硕319求调剂 +3 孟鑫材料 2026-03-13 3/150 2026-03-14 18:10 by houyaoxu
[基金申请] 现在如何回避去年的某一个专家,不知道名字 +3 zk200107 2026-03-12 6/300 2026-03-14 17:13 by zk200107
[考研] 266求调剂 +4 学员97LZgn 2026-03-13 4/200 2026-03-14 08:37 by zhukairuo
[考研] 26调剂/材料科学与工程/总分295/求收留 +9 2026调剂侠 2026-03-12 9/450 2026-03-13 20:46 by 18595523086
[考研] 工科材料085601 279求调剂 +8 困于星晨 2026-03-12 10/500 2026-03-13 15:42 by ms629
[考研] 328化工专硕求调剂 +4 。,。,。,。i 2026-03-12 4/200 2026-03-13 14:44 by JourneyLucky
信息提示
请填处理意见