MATLAB:具有NaN的数组中的随机样本,需要索引

时间:2019-07-17 18:07:54

标签: matlab random

我试图获取一个包含NaN的矩阵的随机样本,但是我也需要索引。

我尝试过randsample(matrix(~isnan(matrix)),10);,但是在这里我只得到矩阵的值而不是索引。由于多个位置可能具有相同的值,因此索引非常重要。

如果我的矩阵是:

[ NaN 2 3  
 3 4 5  
 1 NaN 6]  

,并且随机样本值为3,我还要查看索引(2,1)

1 个答案:

答案 0 :(得分:4)

首先找到索引,然后找到相应的值。使用ind2sub将线性索引转换为行/列下标。

[r, c] = ind2sub(size(matrix), randsample(find(~isnan(matrix)),1));
val = matrix(r,c);