从行向量创建更大的数组

时间:2014-11-06 16:28:44

标签: matlab matrix

我试图用20个行向量在MATLAB中创建一个20 x 2000阵列,每个行向量为2000个元素。我该怎么做呢?

具体来说,如果我的行向量的格式为vector_1vector_2,... vector_N,是否有一种简单的方法可以将所有这些行向量组合成更大的{{} 1}} x 2000数组,可能使用N

2 个答案:

答案 0 :(得分:1)

如果你想以编程方式访问变量以避免编码,你可以这样做:

vect=[];
for ii=1:N
   vect=eval(strcat('cat(1,vect, vect_',num2str(ii) ,')'));
end

这应该以{{1​​}},cat(1,vect,vect_1)cat(1,vect,vect_2)的形式创建字符串,然后对其进行评估。

我希望这就是你想要的。

答案 1 :(得分:1)

如果您的变量都以Vector_x样式命名,并且您想要包含此类变量,则可以使用:

vectors = who('-regexp','vector_\d+');
A = zeros(length(vectors),numel(eval(vectors{1})));

for i = 1:numel(vectors)
    A(i,:) = eval(vectors{i});
end