当前位置:新励学网 > 秒知问答 > matlab中rand函数如何设置范围

matlab中rand函数如何设置范围

发表时间:2024-07-28 05:17:06 来源:网友投稿

1. rand产生的是0到1(不包括1)的随机数.

Matlab的rand函数生的是伪随机数,即由种子递推出来的,相同的种子,生成相同的随机数。

Matlab刚运行起来时,种子都为初始值,所以每次第一次执行rand得到的随机数都是相同的。

2. 多次运行, 生成相同的随机数方法:

用rand('state',S)设定种子S为35阶向量,最简单的设为0就好。

例:rand('state',0); rand(10);

3. 任何生成相同的随机数方法:

试着产生和时间相关的随机数,种子与当前时间有关。

例:rand('state',sum(100*clock)); 即: rand('state',sum(100*clock)); rand(10);

只要执行rand('state',sum(100*clock))的当前计算机时间不变,生成的随机值就不变。也就是如果时间相同,生成的随机数还是会相同。

在你计算机速度足够快的情况下,试运行一下:

rand('state',sum(100*clock));A=rand(5,5);

rand('state',sum(100*clock));B=rand(5,5);

A和B是相同.

所以建议再增加一个随机变量,变成:

rand('state',sum(100*clock)*rand(1));

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!