多维数组中的2个随机向量

时间:2014-11-19 18:42:30

标签: matlab

我正在尝试这个:

weights = rand(64,1); % creates an array with 64 initial weights
weights(:,2) = rand(40,1); % creates an array with 40 initial weights

正如代码所解释的那样:用64个随机值填充第一个向量,然后对第二个向量执行相同操作并将它们放入同一个变量中。所以我很容易访问它们:

weights(:,1) % <-- will display entire first vector
weights(:,2) % <-- display entire second vector

2 个答案:

答案 0 :(得分:2)

您无法执行此操作,因为第一次调用会创建一个size(64,1)的矩阵。因此,所有列都必须包含64行,而不是40

您可以使用单元格,例如

weights{1} = rand(64,1); % creates an array with 64 initial weights
weights{2} = rand(40,1); % creates an array with 40 initial weights

并像

一样使用它们
weights{1}
weights{2}

但是,如果此解决方案对您有用,则取决于您要对数据执行的操作。

答案 1 :(得分:1)

使用像Nemesis这样的细胞的类似解决方案是结构,例如:

weights.a = rand(64,1);
weights.b = rand(40,1);
weights.a, % <-- will display entire first vector
weights.b, % <-- will display entire second vector

我个人认为Nemesis提到的细胞解决方案更有用,但我想这取决于你用它做什么。