簡體   English   中英

如何從Matlab中的.fig提取矩陣?

[英]How to extract a matrix from a .fig in Matlab?

我有一個Matlab .fig文件。 (基本上是pcolor圖)。 我想從此圖像中提取矩陣(例如將行和列轉換為數組變量)。 我該怎么做呢? 感謝您的任何輸入或指針。

軸上有一個子對象,如果使用pcolor函數,則該子對象為surface類型;如果使用image函數,則該子對象為image類型。 矩陣位於此對象的CData屬性中:

>> x = magic(3) % example data
x =
     8     1     6
     3     5     7
     4     9     2
>> pcolor(x) % generate image
>> get(get(gca,'Children'),'CData') % retrieve the data
ans =
     8     1     6
     3     5     7
     4     9     2

除了Luis Mendo的答案之外,我想指出的是,MATLAB支持點表示法,並且如果對性能有任何疑問,則應始終比set()/ get()方法更喜歡點表示法。

對於設置和獲取句柄類屬性,將handle()函數包裝器與點符號一起使用最快。

>> x=magic(3)

x =

     8     1     6
     3     5     7
     4     9     2

>> pcolor(x)
>> ax = handle(gca);
>> ax.Children.CData

ans =

     8     1     6
     3     5     7
     4     9     2

有關時序實驗和詳細信息,請參見: 未公開的MATLAB

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM