我想从给定数组中选择两个不同的随机元素及其位置。与数据采样类似,但使用数据采样有可能两次选择相同的元素。 我可以使用while循环或类似的,但我想有一种更简单的方法。
答案 0 :(得分:4)
假设您有一个矩阵A:n乘以m,您可以随机选择两个元素,如下所示,
A=[2 7 8;5 4 6;8 3 11];%given array
[n m]=size(A);
x=2;%two different random elements
i=randperm(n,x)%row index for x elements
j=randperm(m,x)%column index for x elements
A(i(1),j(1)) %First random element
A(i(2),j(2)) %Second random element
如果你试试这个,你可以得到类似的东西,
i =
2 3
j =
2 1
ans =
4
ans =
8
代码可以进一步简化,但只是想说清楚。如果您有任何其他问题或需要进一步澄清,请与我们联系。