怎样绘制远场光场图的剖面图

剖面图

#1

如图所示的远场光场图,我想绘制最大光场处的剖面图,代码如下:
m=“monitor”; # Monitor name
E = farfield3d(m,1,res,res);
ux = farfieldux(m,1,res,res);
uy = farfielduy(m,1,res,res);
plot(uy(1:res),E(i,1:res));
(i是最大光场所在的行数 也试过plot(ux(1:res),E(i,1:res));)
可是最终的结果却,光场明显过于宽了:

我猜问题是出在plot(uy(1:res),E(i,1:res));这,但是又不清楚具体的原因。
感谢!


#2

相对什么太宽?
你现在的横坐标是ux ,要将它转换为角度才是你需要的。
如果仅需要剖面图,可以用
jiaodu=asin(ux)*180/pi; 得到对应的角度。

但是你的结果显示,最大值在THeta3~4度附近,并不是在0点,所以你需要做进一步操作。

我觉得你已经快接近解决问题了。


#3

相对上面的光场图,剖面图的光强分布太宽了


#4

这里怎么把ux转化成角度呢,老师能细讲一下,官网上的例子没看懂,多谢


#5

用下面的公式转化成角度吗

我们在普通的远场图中看到的横纵坐标的角度,与后面两张图对应不上。
举例:若光斑位于远场图标有0,1,20,30,40。。等角度的坐标轴上,光斑的横向角度大小是用Theta,俯仰角
来确定的(范围为0~180度那个角);若光斑位于垂直于标有角度的坐标轴上,光斑的横向角度大小是用phi方位角来确定的,此时Theta,俯仰角确定的是光斑的纵向角度。而在实际的仿真中,改变一些条件使得光斑从标有角度的坐标轴移动到与之垂直的坐标轴上,光斑的大小是基本不变的。
所以我觉得转化出来的Theta和phi,没法对应求出光斑的大小啊。。。不知道是我哪里理解错了




#6

我上次问你,是希望你能想一想横坐标是什么,想清楚了问题可能就解决了。“宽”是不是相对于横坐标?那横坐标用 ux、uy、ux^2、Theta,Phi等等甚至自己产生一个变量,只要其长度是1:res,宽度一样吗?
根据你用的plot(uy(1:res),E(i,1:res));,我以为你知道是什么。

你回答“相对上面的光场图”,可能你还没有理解。

我上次已经给你脚本语句了。

你愿意的话可以试。仔细检查每一个量代表什么,在脚本里面是怎么表示的。等你清楚了,这个问题就解决了。