关于matlab生成随机数的问题

[复制链接]
查看11 | 回复4 | 2008-7-21 08:15:14 | 显示全部楼层 |阅读模式
matlab里面本身的rand()太差了,我想有个更好的随机数生成器,有没有什么library可以用啊?
C++下面似乎有个boost library有好的随机数生成,但是matlab里面该怎么调用呢?我是菜鸟,还什么都不懂。。
我主要想要解决的是随机数的周期太短和有效位数太少的问题,有没有高手有好的建议?高分悬赏
恩,但是matlab能不能include C++里面的库啊?如果能,要怎样做?
大家再帮我回答这一个问题

回复

使用道具 举报

千问 | 2008-7-21 08:15:14 | 显示全部楼层
周期性短,这个我就不清楚了。位数太少,这个我就不以为然了,你想要几位啊。40位够不够。yy=vpa(rand(1,1),40)周期性我觉得这个不好检测吧。你如果对MATLAB的随机数不满意,你可以自己用线性求余法,来生成随机数序列。Matlab的随机数主要是支持多种分布的随机数。
回复

使用道具 举报

千问 | 2008-7-21 08:15:14 | 显示全部楼层
你这个已经不是随机数了,因为你的限制条件太多。>>lambda=1;random_sample1=poissrnd(lambda,1,100);random_sample1(random_sample1>2)=2;fori=1:1:100if(sum(random_sample1)>lambda=1;random_sample1=poissrnd(lambda,1,100);random_sample1(random_sample1>2)=2;fori=1:1:100if(sum(random_sample1)<100)if(rando
回复

使用道具 举报

千问 | 2008-7-21 08:15:14 | 显示全部楼层
前面加个ceil会好一些,调用格式是ceil(fix(rand(1,6)*33)),这是生成1到33中六个随机整数,依此类推。
回复

使用道具 举报

千问 | 2008-7-21 08:15:14 | 显示全部楼层
别以为MATLAB不好.其实MATLAB的随机数周期是相当长的.我们有一门课是"主从多机建模与可靠性研究"老师还专门强调用MATLAB而不是C因为MATLAB随机数周期很长的,很好很强大
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行