【发布时间】:2016-10-18 20:53:52
【问题描述】:
如果可能,我有兴趣将以下代码从for 循环转换为向量操作。前提是给定一个结构数组data,每个元素都有一个字段a,其中包含一个单列向量。所有字段a 上的所有列向量长度相同。我想从所有字段中获取每个列向量并将数据转换为一个矩阵,其中每一列包含来自该数组中字段a 的一个列向量。这意味着第一列应该是data(1).a,第二列应该是data(2).a,依此类推。
% All arrays in 'data.a' are column vectors of equal length
% (leaving 'numCols' in incase some genius can also make that general)
[numRows,numCols] = size(data(1).a);
% Pre-allocate for speed
array1 = NaN(numRows,numCols);
% Convert from struct to array
for ii = 1:length(data)
array1(:,ii) = data(ii).a;
end
【问题讨论】:
标签: matlab vectorization