我有一個數組'MY_STRUCTURES_Array',單行N列。每個元素都是[1x4結構]。我想從每個[1x4結構]元素的每個結構中提取一個數值「thisField」。Matlab arrayfun與[1x4結構]元素陣列
我正在查找的結果是每個'thisField'值的值的4xN數組,其中結果中的每一行對應於[1x4結構體]中的列。
我使用的代碼是這樣的:如果我把在命令行中輸入以下
arrayfun(@(x) (x.thisField), MY_STRUCTURES_Array);
Matlab的返回錯誤
Attempt to reference field of non-structure array.
,
MY_STRUCTURES_Array{1}
我得到一個[1x4結構]的所有字段的列表。
如果我把這個命令行中,
MY_STRUCTURES_Array{1}.thisField
我得到四個答案,像這樣:
ans =
1
ans =
1
ans =
1
ans =
0
如果我看大小
size(MY_STRUCTURES_Array{1}.thisField)
Matlab的說「使用大小錯誤」,所以我看到這不是一個數組。但我不確定它是什麼。我不知道如何繼續獲得我正在尋找的4xN數組。從命令MY_STRUCTURES_Array
UPDATE
輸出返回[1×4結構]的行陣列。從衛生組織MY_STRUCTURES_Array
輸出{1}返回任何
輸出從衛生組織MY_STRUCTURES_Array回報:從衛生組織MY_STRUCTURES_Array
Name Size Bytes Class Attributes
MY_STRUCTURES_Array 1x103 1371136 cell
輸出{1} .thisField返回任何從MY_STRUCTURES_Array {1
輸出} .thisField在原始文章中顯示。
可以顯示以下三個命令的輸出:'MY_STRUCTURES_Array','whos MY_STRUCTURES_Array {1}'和'MY_STRUCTURES_Array {1} .thisField'? –
@StewieGriffin - 查看更新。 – Jim