2016-02-24 152 views
2

我正在編寫代碼,其中有一個二維結構數組(organism = 10x10 struct),其中一個字段完全由標量組成,我想提取所有這些標量和把它們放入矩陣中。 我試圖把它放在方括號內,但不是給我一個矩形矩陣,它給了我一個長矩陣;Matlab:將二維標量結構數組轉換爲矩陣

>> [organism(1:3,1:3).fitness] 

ans = 

-5 990 493 492 -5 -8 994 -5 -10 

再次,我希望能收到

-5 990 493 
492 -5 -8 
994 -5 -10 

我試過vertcat(organism(1:3,1:3).fitness),但可以預期,它只是給了我一個列。我希望沒有for循環做到這一點,因爲這最終將是整個結構數組的大小至少爲50x50。 有沒有辦法將2D結構數組中所有標量的字段變成具有相同尺寸的矩陣?

(我不會有40x60變成60X40任何麻煩,我不希望有任何困難調換矩陣我出去。)

回答

1

您可以使用重塑:

scalar_matrix = reshape([organism.fitness], size(organism)); 
相關問題