我有一个数组'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