MATLAB从一维数组中随机抽取一个数,并且返回这个数的位置

例如a=[1,8,6,8,4,2,9,2,4,7,3,8,4,2,9,3,4,9,3];
抽取到8,同时可以知道返回的是第二个位置上的8

如何实现?谢谢

T=rand(length(a),1)*(length(a)+1);
a(T)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-08

我的建议是先得到你数组的大小a,然后产生个从 1 到 a的随机数,这样也能取出来一个数。

clc;
y=[1,8,6,8,4,2,9,2,4,7,3,8,4,2,9,3,4,9,3];
a = size(y,2);
b = randi([1,a])
y(b)

本回答被网友采纳