如何使用Matlab, Lumerical Script 与Matlab的集成

script
matlab
matlabput
matlabget

#1

Matlab是很强的数据处理工具。Lumerical 的脚本Script可以与 Matlab集成,也就是Lumerical 的脚本可以含 Matlab,但不能反过来。基本教程参见知识库

一:在脚本中使用 Matlab的步骤一般是:
1:用脚本获得仿真结果数据;
2:对结果数据进行均匀插值,这是因为,Lumerical 的器件级仿真软件经常使用非均匀网格,而Matlab却假定是均匀网格。如果不插值,可能出现Matlab的作图有变形
3:在脚本文件中使用Matlab语句
例如,已经用脚本获得数据并进行过插值,如 x,y,f 和 E(x,y,f):
1)将这些数据传递到Matlab,使用 matlabput
matlabput(x,y,f,E);
2)在脚本中插入Matlab
matlab(“
E2=abs(E).^2;
E4=E2.^2;
…% 其它运算和作图
”)
至此Matlab使用完毕,接着可以继续自己的脚本。
3 如果需要将Matlab的计算结果提取到脚本里面,则使用matlabget
matlabget(E2,E4);
image(x1e6,y1e6,E4(1:length(x),1:length(y),1)," x um",“y um”, “E^4”);
因为E4 是三维数组,而image只能画二维数组,并且x、y并没有改变,所以上述image给出的是第一个频率点的x、y面内电场振幅的4次方。

二:将脚本变量和数据记录为Matlab数据
可使用matlabsave。Matlab文件可以直接读取此数据,并直接使用变量名。注意,如果Matlab工作空间有相同的变量名,此举将改写原来变量里面的数据。
例:matlabsave(“mydata”,x,y,f,E)

三:用本本格式记录数据
Lumerical 的脚本Script可以将数据写入文本文件,采用write语句。因为已经保存为.txt文件,绝大多数计算机语言均可以读取,其它仿真工具一般也能读取。需要注意的是,write是将数字变为字符保存,因此,两个数字之间要留有空格,或者其它可以被第三方语言可以辨认的方式将数据隔开。

a=linspace(0,2*pi,9);
b=sin(a);
上述语句 combine both vectors into a single 2D matrix to be output to file
data_to_print=[a,b];
写文件write the data to the file
write(“testfile.txt”,num2str(data_to_print));
打开数据文件,可见数据为

如果比要,也可以用循环语句。


怎样重新画出电场分布的仿真结果图?
请问如何用matlab画坡印廷矢量图?
初学者常见问题帖子集锦
计算电场分布得到的txt数据怎么看?都代表什么意思啊?
如何在脚本运算中生成对角矩阵
[提问]从script呼叫自己写好的MATLAB函数并回传
关于FDTD Solutions 和 Mode Solutions 的图片格式问题。
figure里面的export to MATLAB怎么用
#2

VPD.ldev (2.8 MB)
請問在這個對光偵測器做瞬態模擬的檔案VPD中, 我想製作電荷監視器中charge裡面的n型載流子的二維分布圖, 集結不同時間下的各張image所形成的電影movie, 如下圖

是不是必須只能寫script將其一張一張提取出來存到matlab再進行後製呢?
有任何類似 Making a CW movie 這個範例的tutorial嗎? https://kb.lumerical.com/en/layout_analysis_cw_movie.html


#3

遗憾,目前DEVICE尚没有电影的功能,只能如你说的那样单幅制作。