-
-
May 10, 2021 at 5:20 pmGuilin SunAnsys Employee问题: 为什么用软件直接作图(例如光强度随位置的分布)看起来正常,而将数据倒入Mtalb再画就失真了呢?答案: 如果整个仿真区用均匀网格,两款软件作图是一样的。但是,由于Lumerical软件使用了高级的自适应网格,网格不再均匀,Matlab 画出来就失真了。 这是因为两款软件作图方法不同:Lumerical软件直接用的是仿真时的空间网格点,因此画出来时是真实、正确的;而Matlab是取坐标的最大和最小值然后再计算出均匀网格,因此失真。当然其好处是不需要记录每一个坐标点,节约了一些内存。解决此问题的方法是,在用Script 取出数据后,先将它们通过插值转换为均匀坐标,然后再保存为Matalb数据或直接调用Matlab作图。 例如,用script得到坐标x,y:E2=getelectric(“monitor”);#获得强度分布x=getdata(“monitor”,“x”)y=getdata(“monitor”,“y”);mx=100;#matlab中的x点数my=50; #matlab中的y点数xmatlab=linspace(min(x),max(x),mx);ymatlab=linspace(min(y),max(y),my);E2matlab=interp(E2,x,y,xmatlab,ymatlab);#插值为均匀网格matlabput(E2matlab,xmatlab,ymatlab);#送入matlab工作空间matlab(" image(xmatlab,ymatlab,E2matlab); ")可以与用脚本作图的结果作比较,看看两者是否一致。
-
Viewing 0 reply threads
- The topic ‘Ansys Insight: Matlab画图失真问题’ is closed to new replies.
Ansys Innovation Space
Trending discussions
Top Contributors
-
766
-
407
-
264
-
201
-
162
Top Rated Tags
© 2024 Copyright ANSYS, Inc. All rights reserved.
Ansys does not support the usage of unauthorized Ansys software. Please visit www.ansys.com to obtain an official distribution.