0

いくつかの数値を持つ 3861 x 1 の列ベクトルがあります。このベクトルを matlab で次元 40 x 100 の行列に変換したいと考えています。コードは、1 つの列に最初の 40 個の値を入力してから、次の列に移動する必要があります。誰でも私を助けることができますか??

4

1 に答える 1

2

matlabのreshape関数を使用して、マトリックス内の要素を再配置できます。ただし、要素の数が変わらない場合にのみそうすることができます。したがって、4000x1のマトリックスがある場合は、reshapeを使用して40x100に変更できます。したがって、理想的な方法は、3861x1マトリックスにゼロ(またはパディングしたいもの)を4000x1マトリックスにパディングしてから、形状を変更することだと思います。

これを参照してください:

    a = rand(3861, 1);
    b = cat(1, a, zeros(139, 1));
    c = reshape(b, 40, 100);
于 2012-12-05T09:06:16.927 に答える