Matlab中的阵列随机元

Matlab中的阵列随机元,matlab,Matlab,我想从给定的数组中选择两个不同的随机元素及其位置。与datasample类似,但datasample可能会两次拾取同一元素。 我可以使用while循环或类似的方法,但我认为有一种更简单的方法。假设你有一个矩阵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 ele

我想从给定的数组中选择两个不同的随机元素及其位置。与datasample类似,但datasample可能会两次拾取同一元素。
我可以使用while循环或类似的方法,但我认为有一种更简单的方法。

假设你有一个矩阵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=

ans=

ans=


代码可以进一步简化,但只是想说清楚。如果您有任何其他问题或需要进一步澄清,请告诉我。

请向我们展示您已经尝试过的内容。请参阅:并使用
datasample(数据,2,'Replace',false)
;或者
randsample(数据,2)
效果很好,谢谢!很高兴能帮上忙
 2     1
 4
 8