matlab中如何实现在数据矩阵中随机取一个数,注意是一个数。解决问题了有补加分

如题所述

假设你的矩阵为A
[m,n]=size(A)%得到A的大小
k=m*n;%A中总的元素个数
a=A(ceil(rand()*k))%产生一个k以内的随机正整数,取A的第k个数!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-07
A=magic(5);
%A为数据矩阵,你改你的数据即可。
n=numel(A);
A(ceil(rand(1)*n))追问

A(ceil(rand(1)*n))
这行命令是什么意思??是n个数中的一个随机数还是第n个数??

追答

rand(1)产生一个0到1的随机数
rand(1)*n产生一个0到n之间的随机数
ceil(rand(1)*n),将产生的0到n的随机数向上取整,变得整数,即0.1->1, 0.5->1, 0.9->1,即只要小数后面有数,就向上进位

A(ceil(rand(1)*n)),取得A的第1到n的随机整数个元素

本回答被提问者采纳
第2个回答  2011-04-07
随机x,y然后取出来