Photonics – Chinese

Photonics – Chinese

Topics related to Lumerical and more, in Chinese language

吸收率数据导出问题

    • shun Ju
      Subscriber

      设置监视器的采样点为200,通过matlabsave("D:\Xishou\A huihe\A11.mat",A); 语句将监视器数据导出成mat文件到matlab中进行图像绘制,结果绘制后的图像和在fdtd中的图像不一样,matlab图像中数据的横坐标发生了偏移,详情如下图所示,请问老师为什么会发生数据偏移,这个问题应该怎么解决,是导出数据的语句不对吗?

      FDTD中绘制的图像如下

      matlab中绘制的图像如下

    • Guilin Sun
      Ansys Employee

      你如果用频率就应该一致。

      参见  

      Ansys Insight: Matlab画图失真问题

      不要直接保存监视器数据到matlab 文件里。

      • shun Ju
        Subscriber

        老师,我想导出吸收率所对应的波长参数,用以下代码显示出错

        f = getdata("R","f");

        T = -transmission("T");

        R = transmission("R");

        A = 1 - T - R;

        x=getdata(“T”,“x”)

        请问我应该用哪些代码才能正确导出吸收率所对应的波长参数呢,或者应该如何处理再导入到matlab文件中呢

    • Guilin Sun
      Ansys Employee

      显示出错?where? 你可以根据出错原因修改,哪一行出错查哪一行。

      原则上你有监视器名字R和T,以上代码不应该出错,除非双引号是全码,你用英文状态或者半角情况试一下。我看这一行x=getdata(“T”,“x”) 引号是全码,不正确。

      可以用 matlabsave - Script command 

      • shun Ju
        Subscriber

        老师,您说的这行代码我改正后可以正常运行了,我觉得透射率监视器的横坐标和吸收率监视器的横坐标是一样的,就运行了

        x=getdata("T","x");  matlabsave("D:\Xishou\A huihe\X66.mat",x);语句

        ,但是获得的x值是67x1 double,查看其中还有负值,明显不对,想问您我应该如何才能把每个吸收率所对应的波长坐标获取出来

    • Guilin Sun
      Ansys Employee

      x=getdata(“T”,“x”)  监视器T是一个面监视器,x 是位置坐标当然有负值,你要的是波长,可以计算或者提取:

      lambda=c/f

      getdata("T","Wavelength")

      你需要琢磨到底要什么结果。

       

Viewing 3 reply threads
  • You must be logged in to reply to this topic.