我想从给定一组下标的文件中获取当前加载数据的 C++ 程序中的k随机下标。A
我有一个双值矩阵和一个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, : );
最后,对rto 进行排列以获得k行:
randperm( size(r) )
但我现在卡住了,因为我不知道如何将排列转换为矩阵A。
我也试图理解这个函数[I,J] = ind2sub(siz,IND),但现在不知道如何将下标与随机排列结合起来。此外, 的结果randperm( size(r) )与 的大小有关r。
那么,我怎样才能从条件中获取k随机下标?这个想法是使用 C++ 程序中的下标作为输入参数AB