一連の添え字が指定されたファイルから現在データをロードしている C++ プログラムで使用されるk
ランダムな添え字を取得したいと思います。A
double 値を持つMxN
マトリックスと、0 から 20 までの整数を持つマトリックスがあります。A
Mx1
B
からの条件でk
ランダムな添字を取得するにはどうすればよいですか? たとえば、次のようになります。A
B
A = [ 0.25 0.25 0.25 0.25
0.18 0.18 0.18 0.18
0.36 0.36 0.36 0.36
0.51 0.51 0.51 0.51 ]
B = [ 0
1
2
1 ]
ifからk = 1
ランダムな行の添え字を取得しようとしています。だから、私はorを探しています。i
A
B(i) == 1
i == 1
i == 4
最初に次のように論理インデックスを作成しようとしました:
idx = B == 1;
そして、A
次のようにその条件で要素から取得します。
r = A( idx, : );
最後に、行r
を取得するために to で順列を実行します。k
randperm( size(r) )
しかし、順列をマトリックスに変換する方法がわからないため、今は行き詰まっていますA
。
私も関数を理解しようとしています[I,J] = ind2sub(siz,IND)
が、今のところ添字をランダム順列で結合する方法がわかりません。さらに、 の結果はrandperm( size(r) )
のサイズに関連していますr
。
では、条件付きでk
ランダムな添字を取得するにはどうすればよいですか? アイデアは、C++ プログラムで添字を入力パラメーターとして使用することです。A
B