24小时热门版块排行榜    

查看: 3090  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

田山东

捐助贵宾 (著名写手)

[求助] matlab如何生成不同的随机数

程序1.下面这个程序生成的随机数都是相同的
h=zeros(10,10);
t=1;
fid1=fopen('tyh4.dat','a');
for jj=1:4
rand('state',sum(1000000*clock));
x=rand(1,10)-0.5;
%fprintf(fid2,'%f\n',x);
for  j=1:10;
    H(j,j)=x(j)*t;
    fprintf(fid1,'%f\n', H(j,j));
end  
end
把文件打开看下,4次生成的随机数相同。
去掉rand('state',sum(1000000*clock));
h=zeros(10,10);
t=1;
fid1=fopen('tyh4.dat','a');
for jj=1:4
x=rand(1,10)-0.5;
%fprintf(fid2,'%f\n',x);
for  j=1:10;
    H(j,j)=x(j)*t;
    fprintf(fid1,'%f\n', H(j,j));
end  
end
4次循环生成的随机数不同,但是多次运行程序会发现,每次得到的文件内容都是相同的。
目的:每次jj循环得到不同的随机数,每次运行程序得到不同的随机数,怎么能实现呢?
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

everythinghasitsseason.enjoyyourlife.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

田山东

捐助贵宾 (著名写手)

送鲜花一朵
引用回帖:
5楼: Originally posted by lurencyj at 2012-12-12 12:44:01
你要进行撒种子seed,不然,都是一样的!~~~

取随机数rand()。取系统时间作为随机数种子,是避免产生伪随机数,不然每次重新打开matlab所取的随机数序列是相同的。

%取0-1之间的随机数
    ctime = datestr(now, 30);%取系统时间
    tseed = str2num(ctime((end - 5) : end)) ;%将时间字符转换为数字
    rand('seed', tseed) ;%设置种子,若不设置种子则可取到伪随机数
%取0-1之间的随机数
    for i = 1:5      
        weight(i) = rand();
    end
    weight
这样可以吧?呵呵,网上搜到了
everythinghasitsseason.enjoyyourlife.
6楼2012-12-12 14:37:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

田山东

捐助贵宾 (著名写手)

送鲜花一朵
这样就可以,大侠解释下吧
h=zeros(10,10);
t=1;
fid1=fopen('tyh66.dat','a');
for jj=1:4
rng('shuffle')
x=rand(1,10)-0.5;
%fprintf(fid2,'%f\n',x);
for  j=1:10;
    H(j,j)=x(j)*t;
    fprintf(fid1,'%f\n', H(j,j));
end  
end
everythinghasitsseason.enjoyyourlife.
2楼2012-12-12 10:14:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

田山东

捐助贵宾 (著名写手)

在2011下可以了,我linux下用的是r2010b,为什么有这个提示呢?Undefined function or method 'rng' for input arguments of type 'char'
everythinghasitsseason.enjoyyourlife.
3楼2012-12-12 10:31:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

田山东

捐助贵宾 (著名写手)

最后没有办法只能让系统产生一个大的随机数数组,没循环一次调用这个大数组里面的一行或一列,一直调用下去,反正大数组是大的随机数,不会重复。
everythinghasitsseason.enjoyyourlife.
4楼2012-12-12 11:04:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 岩土工程学报什么时候才能终审完呐 25+3 yeager111 2026-08-10 4/200 2026-08-16 20:42 by tfang
[基金申请] 时间戳又变了8-15 +13 archvillain 2026-08-15 25/1250 2026-08-16 20:13 by zhaosm1982
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 6/300 2026-08-16 20:07 by 奶牛小黑
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +3 Tide man 2026-08-14 3/150 2026-08-16 17:47 by jurkat.1640
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +10 majunge000 2026-08-11 12/600 2026-08-16 08:18 by xli1984
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] filecode=后面第一个是大写字母 +6 wangze12014 2026-08-14 7/350 2026-08-15 20:12 by gltch
[基金申请] filecode +8 cratir 2026-08-14 12/600 2026-08-15 18:08 by zyfgau
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +12 Tide man 2026-08-10 13/650 2026-08-15 16:34 by 氺木
[基金申请] 关于Filecode分析方法 +10 majunge000 2026-08-10 13/650 2026-08-15 12:26 by hanpeng972
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
信息提示
请填处理意见