我试图获取一个包含NaN
的矩阵的随机样本,但是我也需要索引。
我尝试过randsample(matrix(~isnan(matrix)),10);
,但是在这里我只得到矩阵的值而不是索引。由于多个位置可能具有相同的值,因此索引非常重要。
如果我的矩阵是:
[ NaN 2 3
3 4 5
1 NaN 6]
,并且随机样本值为3
,我还要查看索引(2,1)
。
答案 0 :(得分:4)
首先找到索引,然后找到相应的值。使用ind2sub
将线性索引转换为行/列下标。
[r, c] = ind2sub(size(matrix), randsample(find(~isnan(matrix)),1));
val = matrix(r,c);