We have an exciting announcement about badges coming in May 2025. Until then, we will temporarily stop issuing new badges for course completions and certifications. However, all completions will be recorded and fulfilled after May 2025.
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
  • The topic ‘吸收率数据导出问题’ is closed to new replies.