一連の添え字が指定されたファイルから現在データをロードしている C++ プログラムで使用されるkランダムな添え字を取得したいと思います。A
double 値を持つMxNマトリックスと、0 から 20 までの整数を持つマトリックスがあります。AMx1B
からの条件でkランダムな添字を取得するにはどうすればよいですか? たとえば、次のようになります。AB
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を探しています。iAB(i) == 1i == 1i == 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++ プログラムで添字を入力パラメーターとして使用することです。AB