我在Matlab中画了一个网格。网格的数据带有填充的3d矩阵。没什么特别的。
我保存了创建的图形,然后回到现在的状态。 我想用相同的数据创建一个不同的图。有没有办法从网格中提取矩阵数据,以便我可以重用?
答案 0 :(得分:3)
幸运的是,以下解决方案可能会起作用:
加载图形文件:
fig = openfig('fig_file_name.fig');
从图形的轴获取表面数据(假设表面是第一个“孩子”):
s = fig.CurrentAxes.Children(1);
在s.XData
,s.YData
和s.ZData
中查找数据。
更好的解决方案是使用findobj
(而不是fig.CurrentAxes.Children(1)
)使用:
s = findobj(fig, 'type', 'Surface');