matlab实现高斯波前

 
4.6k 4
发表于 2009-3-4 11:40:18|广东 | 查看全部 阅读模式


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;




回复|共 4 个

optoboy Lv.9 发表于 2009-3-4 11:56:02|江苏 | 查看全部


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




cooljay Lv.8 发表于 2009-3-4 13:49:53|广东 | 查看全部


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




opticaldesign 楼主Lv.7 发表于 2009-3-4 18:46:58|广东 | 查看全部


高手 谢谢 指教




liu.wade Lv.10 发表于 2013-2-19 12:50:28|上海 | 查看全部


已看...




回复 支持 反对

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

投诉/建议联系

admin@discuz.vip

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加微信客服
Copyright © 2026 光电工程师社区 版权所有 All Rights Reserved. Powered by Discuz! X5.0 Licensed 鄂ICP备17021725号-1
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表