请问如何用matlab画坡印廷矢量图?

fdtd

#1

请问我用Px=getdata(“field”,“Px”);
Py=getdata(“field”,“Py”);
Pz=getdata(“field”,“Pz”);
x=getdata(“field”,“x”);
y=getdata(“field”,“y”);
z=getdata(“field”,“z”);
matlabsave(“monitor_data”,Px,Py,Pz);
讲坡印廷矢量导出后,如何用matlab重新画出来吗?按照官网上画电场矢量图的方法 画不出来,请问老师可以指导一下吗?usr_integrate_poynting.fsp (1.1 MB)


#2

Matlab不是我们的产品,我们的软件仅提供数据供用户操作,如何用matlab重新画出来,取决于用户对Matlab的熟练程度。例如你可以用这个命令quiver做二维矢量图:
[x,y] = meshgrid(0:0.2:2,0:0.2:2);
u = cos(x).*y;
v = sin(x).*y;
figure
quiver(x,y,u,v)

使用quiver3做三维维矢量图
x = -3:0.5:3;
y = -3:0.5:3;
[X,Y] = meshgrid(x, y);
Z = Y.^2 - X.^2;
[U,V,W] = surfnorm(Z);
figure
quiver3(Z,U,V,W)
view(-35,45)

需要注意的是,
Px=getdata(“field”,“Px”);
Py=getdata(“field”,“Py”);
Pz=getdata(“field”,“Pz”);
它们都是四维变量,XYZ和频率,即使是单频率的监视器,结果也是四维变量,使用前需要操作处理(Pinch)为Matlab可用的格式,否则可能出错,参见

脚本与Matlab的数据传递