回覆列表
-
1 # 利物浦nv
-
2 # 使用者2008204498042
1、在命令列執行figure開啟一個空白視窗,2、在工具欄或者選單中選擇open開啟你儲存的fig檔案,會顯示出原來的那個圖來。3、在命令列執行obj = get(gca,"children")這個結果對應你的圖裡面的線或者面的控制代碼,有幾條線就對應幾個控制代碼。4、根據你需要的是哪條線,第n條線控制代碼就是obj(n),如果只有一個物件直接用obj就可以,然後再用一次get,x=get(obj(1), "xdata");y=get(obj(1), "ydata");如果是三維圖,再加上個z=get(obj(1),"zdata");x、y、z就是你所需要的座標資料
在matlab工作區(即command window區)輸入:open("11.fig") % 11是你儲存時的檔名,需要加單引號,否則打不開。特別注意最好將這個檔案複製到matlab工作資料夾。如果你不知道是哪個資料夾,可以看看matlab左邊的視窗,或者按下組合鍵Ctrl+O,或者開啟選單欄上面的Home->open。然後接著輸入:lh=findall(gca,"type","line"); % 從當前圖(gca)中取出曲線的handle,注意如果你打開了多個圖層,需要將其他fig影象檔案關掉,剩一個你需要匯出資料的就行。gca名字不能更改,直接將這一句複製到工作視窗就行。最後獲取x,y的座標值:xc=get(lh,"xdata"); % 取出x軸資料yc=get(lh,"ydata"); % 取出y軸資料完了之後,在matlab工作區輸入:xcyc就得到了xc,yc的座標了,然後可以匯入到txt或者excel中了。最後驗證一下我們得到的資料,與原資料比較一下,是一樣的。這裡需要說明的是matlab的曲線是由一個個點組成的,所以透過這種方式得到的是組成原曲線的一個個點。輸入下面語句進行驗證:hold on plot(xc,yc,"*b")結果如圖所示。