7

Matlab でランダム順列行列 (サイズ 1000 x 1000 など) をシミュレートする簡単な方法はありますか? このような行列の独立和の固有値分布を調べたいと思います。

前もって感謝します!

4

2 に答える 2

11

次のようにランダム順列行列を生成できます。

  1. ユニティ マトリックスを作成します。

    A = eye( N );  %// N is the size of your matrix
    

    の値が大きい場合は、疎行列Nを使用することをお勧めします。

    A = speye( N ); % create sparse identity matrix
    
  2. ランダム順列を生成します。

    idx = randperm(1:N);
    
  3. ベクトル インデックスを使用して、行を適切に再配置します。

    A = A(idx, :);
    

出来上がり!

于 2013-01-17T15:03:24.833 に答える