打破列向量并将其转换为矩阵

时间:2012-12-05 08:58:51

标签: matlab

我的列向量为3861 x 1,有一些数值。我想在matlab中将此向量转换为维度为40 x 100的矩阵。代码必须填充一列中的前40个值,然后移至下一列。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

您可以使用matlab中的reshape函数重新排列矩阵中的元素。但是只有在元素数量不变的情况下才能这样做。因此,如果您的矩阵为4000x1,则可以使用重塑将其更改为40x100。所以,我想理想的方法是用零填充你的3861x1矩阵(或任何你想用它填充它)到4000x1矩阵,然后重塑它。

见:

    a = rand(3861, 1);
    b = cat(1, a, zeros(139, 1));
    c = reshape(b, 40, 100);