第1个回答 推荐于2018-03-19
用MATLAB编程时,常常遇到这样的问题,图形保存了下来,但数据却没有保留。MATLAB的图形相当于一个嵌套的结构(对象),可以通过各种属性来访问其中的数据。下面这段程序可以用来从图形中把数据找回来,这是一个从曲线中提取一维数组的例子。
% fnam是文件名
open('fnam.fig');
% 取出曲线的handle,这里gca表示当前图形的
CurrentAxes属性
% 如果图中有多条曲线,lh为一个数组
lh = findall(gca, 'type', 'line');
% 取出x轴数据
xc = get(lh, 'xdata');
% 取出y轴数据
yc = get(lh, 'ydata');
也可以把图形保存下来,然后用import命令导入,所有属性会被存储为变量,可以直观的寻找到所需要的数据。一般数据是存在children里面的properties的xdata和ydata,类型type是line,或者是在cdata内。本回答被网友采纳