1. 程式人生 > >怎樣從MATLAB圖形檔案fig中提取資料

怎樣從MATLAB圖形檔案fig中提取資料

用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內。