主题:请教随机取数组中若干元素的问题
dewfly
[专家分:0] 发布于 2007-10-15 18:03:00
matlab有没有什么命令,可以随机的取一个数组里的若干元素
比如数组A里有12个元素的话,我想随机取里面20%个元素(还要涉及到取整的问题),也就是取其中两个,应该怎么做呢?
盼回复,多谢
回复列表 (共3个回复)
沙发
dewfly [专家分:0] 发布于 2007-10-15 20:39:00
我没有说清吗?怎么没人理我呢?
板凳
kefan [专家分:310] 发布于 2007-10-15 21:27:00
首先你可以用【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 楼
dewfly [专家分:0] 发布于 2007-10-15 21:51:00
多谢拉~我试试
我来回复