光电工程师社区

标题: matlab实现高斯波前 [打印本页]

作者: opticaldesign    时间: 2009-3-4 11:40
标题: matlab实现高斯波前


matlab实现高斯波前
自己做的出现一个疑问 请教高手. 程序中红色的部分 我尝试了 三种 写法 只有第一种能够 正确表示 出 高斯波前. 但是不知道原因  
clear;
wave=1.064e-3;
wo=0.5;
zr=pi*wo^2/wave;
z=linspace(-2*zr,2*zr,200);
y=linspace(-4*wo,4*wo,200);
[py,pz]=meshgrid(y,z);
o=wave*pz/(pi*wo^2);
wz=wo*sqrt(1+o.^2);
i=wo^2./wz.^2.*exp(-2*(py.^2./wz.^2));
% i=wo^2./wz^2.*exp(-2*(py^2./wz^2));%figure is diffence
% i=wo^2/wz^2*exp(-2*(py^2/wz^2));%figure not exist
surf(pz,py,i);
shading interp;
xlabel('xlocation/mm');
ylabel('ylocation/mm');
zlabel('power/a.u.');
colorbar;
box on;





作者: optoboy    时间: 2009-3-4 11:56


其实你这个问题就是Matlab点乘/除的问题,和高斯光前没什么关系。点乘或点除代表矩阵内运算,如没点则为矩阵运算。这是学Matlab最容易犯的错误,具体见Matlab相关书籍。





作者: cooljay    时间: 2009-3-4 13:49


都是高手,我帮你们顶帖!!





作者: opticaldesign    时间: 2009-3-4 18:46


高手 谢谢 指教





作者: liu.wade    时间: 2013-2-19 12:50


已看...









欢迎光临 光电工程师社区 (http://bbs.oecr.com/) Powered by Discuz! X3.2