如何整体导出高维数组

孙老师您好,我从设置了一系列扫描参数,得到了电场的数据Ez(10,523,726,1,1,16)。这是一个高维数组,第一项10表示十个模式,最后一项16表示结构尺寸有16个值。我尝试将该数组导出的时候,发现我没有办法一次性将它整体导出,每次导出的只是一个523726的二维数组。如果是这样,我将需要进行1016=160次导出操作,实在是太繁琐。我想请教一下孙老师,是否有简单的处理方法。谢谢!

使用一个嵌套循环逐个导出2维数组,也挺方便的。按照循环分别给每一个文件命名,按照外循环的名字创建文件夹,来存储每一个文件。导入另一个软件的workspace的时候,也类似。

另一种方法,使用新的dataset重组这个数据。Lumerical常用的有matrix dataset, rectilinear dataset,以及struct. FDTD里边monitor存储光的电场与磁场数据,常常使用rectilinear这种形式,扫描的数据常常试用struct, Charge里边涉及到有限元网格,常常使用unstructured dataset。

也可以使用python API或者MATLAB API,使用HDF5来处理数据。

不大可能限制吧?我今天没法测,我知道至少5维数组一点问题都没有。你的属猪中有两个1,可以把它们先Pinch掉,只剩下4维一定没问题。如果是 523 X726的二维数组,你还可以用Reshape形成新的想要的数组:https://support.lumerical.com/hc/en-us/articles/360034925873-reshape-Script-command