matlab中怎样随机从一组数据中取一个数

2025-01-20 15:48:01
推荐回答(2个)
回答1:

一句话的写法可以用:

A=[23,44,52,99];
A(ceil(rand*4))

 其实没必要过于纠结用一句,先抽下标的做法可读性更好。

 

关于ceil(rand*4)抽样的均匀性,可以用下面语句很简单地进行验证:

hist(ceil(rand(1000000,1)*4))

回答2:

(randi(4,1,1)==(1:4))*[23 44 52 99]'

或者

A=[23 44 52 99];
A(randi(end,1,1))