Matlab中的阵列随机元
我想从给定的数组中选择两个不同的随机元素及其位置。与datasample类似,但datasample可能会两次拾取同一元素。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
我可以使用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