回 帖 发 新 帖 刷新版面

主题:请教随机取数组中若干元素的问题

matlab有没有什么命令,可以随机的取一个数组里的若干元素
比如数组A里有12个元素的话,我想随机取里面20%个元素(还要涉及到取整的问题),也就是取其中两个,应该怎么做呢?
盼回复,多谢

回复列表 (共3个回复)

沙发

我没有说清吗?怎么没人理我呢?

板凳

首先你可以用【M,N】=size(A)函数取得数组(矩阵)A的大小,该函数返回两个值
M,N表示这个数组有M行N列,这样矩阵A的总元素个数就知道了(M*N),然后用fix(M*N*百分比)函数或者round()函数取整,得到应该取出的元素个数L,以L为参数生成随机数下标,具体的去查一下随机数的用法,我记不清了 :help rand


总之是用随机数函数生成下标数组Index(当然数组中各元素值应该在1:M*N 之间),然后可以用  B=A(Index);  既可以随机取出A中的某些元素到B中

3 楼

多谢拉~我试试

我来回复

您尚未登录,请登录后再回复。点此登录或注册