3
我在MATLAB中有一個結構數組,它們都具有相同的結構(相同的字段)。 我想要一個快速的方法來編譯一個數組,其中包含來自struct數組中所有特定字段的值。有沒有辦法做到這一點,而不使用循環?提前查詢來自MATLAB結構數組的變量
我在MATLAB中有一個結構數組,它們都具有相同的結構(相同的字段)。 我想要一個快速的方法來編譯一個數組,其中包含來自struct數組中所有特定字段的值。有沒有辦法做到這一點,而不使用循環?提前查詢來自MATLAB結構數組的變量
假設你的陣列
由於被命名爲a
,你有一個領域b
。訪問a.b
可爲您提供a
中每個元素的b
字段的值列表。如果你想把它變成一個列表,只需將列表包裝在[]
中。那就是:
>> a = [struct('a', 1, 'b', 10, 'c', 100), struct('a', 2, 'b', 20, 'c', 200)];
>> a
a =
1x2 struct array with fields:
a
b
c
>> a.b
ans =
10
ans =
20
>> [a.b]
ans =
10 20
>> [a.c]
ans =
100 200
如果你有結構的矩陣,您可以使用使用上述方法得到一個矢量,然後重新塑造成一個矩陣:
>> reshape([a.b], size(a))
ans =
10 111
20 222
轉成「向量/矩陣」大概? – yuk 2012-04-03 21:20:45