| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9516 人关注过本帖
标题:[求助]如何从数字1-100中随机选取25个数字?
只看楼主 加入收藏
bbwolf_bobo
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-8-14
收藏
 问题点数:0 回复次数:10 
[求助]如何从数字1-100中随机选取25个数字?
100个样点,要从中随机抽取25个,请问怎么用matlab实现?
请大侠指教,不胜感激。
搜索更多相关主题的帖子: 数字 随机 
2006-08-14 10:52
zhangenter
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:390
专家分:0
注 册:2006-6-5
收藏
得分:0 
ceil( rand( 25, 1 ) ) * 100

OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在
2006-08-27 13:50
bbwolf_bobo
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-8-14
收藏
得分:0 

还是不懂
运行起来好像有问题
ceil( rand( 25, 1 ) ) * 100
ans =

100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100

2006-09-06 10:25
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
收藏
得分:0 

你可以从1-100中随机选取25个数字,用这些数字作你数据点的序列号来确定随机点

当然我没有试过这25个数字有没有重复的

一个笨办法就是生成一个从1到100的数组,然后一个一个的生成随机数,生成后把对应序号的数组元素取走,再用剩下的数组元素来进行随机选取


此人已消失
2006-09-06 11:13
zhang5382
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-9-3
收藏
得分:0 
生成一个随机数后,将对应序号的数字元素取出来,再将最后一个序号对应的数组元素中的值转到刚才那个序号对应的数组元素中,接下来在前99个数组元素中再次产生随机数,每产生一个,总的数组元素减少一个,直到25次做完,可以保证25个数绝无重复,第100个元素也有选中的可能。程序如下:
for n=1:100
x(n)=n;
end
for n=1:25
p=fix(rand(1)*(101-n))
x(p)=x(101-n);
end
2006-09-07 16:49
xyxygood
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-9-8
收藏
得分:0 
一句话
产生25个1-100的随机数
clear
sn=fix(100*rand(1,25)+1)
2006-09-08 11:29
zhang5382
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-9-3
收藏
得分:0 
楼主的意思是要在100个样点中选25个,用6楼的方法,sn即对应样点的序号,虽然简单,但不能保证sn的值没有重复,也就是说,某个样点可能会多次被选中,不合题意。
2006-09-08 16:48
fuchengwang
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-5-14
收藏
得分:0 
可以试一下
for i=1:25
t(i)=rand()*100
end
t
't'
你看看是不是你想要得
2006-09-08 19:30
zhangenter
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:390
专家分:0
注 册:2006-6-5
收藏
得分:0 
写错了不好意思,是ceil( rand( 25, 1 ) * 100);只是产生随机序列号的方法.

比如你的那100个样点保存为向量A
Index = ceil(rand(25,1)*100);
A(Index)
就可以随机得到25个样点

还有比如
Index = randperm(100);
A(Index(1:25))
也可以

OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在
2006-09-08 21:58
zxm172269224
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-5-17
收藏
得分:0 
n=100;
a=1:n;
b=zeros(size(1:25));
for i=1:25
    c=unidrnd(100,1);
    d=a(c);
    a(c)=a(n);
    a(n)=d;
    b(i)=a(n);
    n=n-1;
end
b
2014-05-17 12:17
快速回复:[求助]如何从数字1-100中随机选取25个数字?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032714 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved