创建列向量数组

时间:2011-11-19 21:49:19

标签: arrays matlab indexing matrix

基本上我有一个函数返回一个大小为Z(100,1)的值的列向量。我想在循环中运行该函数n次,并将每个列向量存储在一个单独的数组索引中,但是我很难做到这一点。这是我的代码,matlab不喜欢......

numSignals = 30;
Z = zeros(1,numSignals);

for n = 1:numSignals

    % load signal of to be reconstructed 
    Z(1,n) = loadSignal(n);

end

1 个答案:

答案 0 :(得分:2)

您应该使用矩阵代替:

Z = zeros(100,numSignals);
for n=1:numSignals
    Z(:,n) = loadSignal(n);
end

然后您可以使用

回调所需的列向量
Z(colIndex,:)

Matlab不允许您将数字以外的任何内容放入数组的条目中。如果您真的想要您描述的数据结构,那么您将需要使用单元格数组。你可以通过

来做到这一点
Z = cell(1,numSignals);
for n=1:numSignals
    Z{n} = loadSignal(n);
end