matlab的rand产生的是0到1(不包括1)的随机数,这是伪随机数,即由种子产生出来的。如果种子相同,则生成的随机数也相同,可以用于重复实验验证。

(1)多次运行matlab程序,可以生成相同的随机数方法如下。
用rand('state',S)设定种子。 S为35阶向量,最简单的做法就是设置为0。

例:

rand('state',0);rand(7)

运行一次结果为:

ans =

0.9501    0.0185    0.1763    0.3529    0.2722    0.4186    0.6813
    0.2311    0.8214    0.4057    0.8132    0.1988    0.8462    0.3795
    0.6068    0.4447    0.9355    0.0099    0.0153    0.5252    0.8318
    0.4860    0.6154    0.9169    0.1389    0.7468    0.2026    0.5028
    0.8913    0.7919    0.4103    0.2028    0.4451    0.6721    0.7095
    0.7621    0.9218    0.8936    0.1987    0.9318    0.8381    0.4289
    0.4565    0.7382    0.0579    0.6038    0.4660    0.0196    0.3046

再运行一次,结果还是一样的,哈哈

rand('state',0);rand(7)

ans =

0.9501    0.0185    0.1763    0.3529    0.2722    0.4186    0.6813
    0.2311    0.8214    0.4057    0.8132    0.1988    0.8462    0.3795
    0.6068    0.4447    0.9355    0.0099    0.0153    0.5252    0.8318
    0.4860    0.6154    0.9169    0.1389    0.7468    0.2026    0.5028
    0.8913    0.7919    0.4103    0.2028    0.4451    0.6721    0.7095
    0.7621    0.9218    0.8936    0.1987    0.9318    0.8381    0.4289
    0.4565    0.7382    0.0579    0.6038    0.4660    0.0196    0.3046

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

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

即:

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

只要执行rand('state',sum(100*clock))时当前计算机时间不同,生成的随机数就不同.

也就是如果时间相同,生成的随机数还是会相同.

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

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

A和B是相同.

A =

0.3850    0.2128    0.9341
    0.6634    0.4328    0.0164
    0.8643    0.9855    0.4181

B =

0.3850    0.2128    0.9341
    0.6634    0.4328    0.0164
    0.8643    0.9855    0.4181

这种情况需要再乘以一个随机变量,如下所示:

rand('state',sum(100*clock)*rand(1));A=rand(3,3);rand('state',sum(100*clock)*rand(1));B=rand(3,3);

这时候,A和B是就不相同啦。

A =

0.3899    0.5395    0.0749
    0.5462    0.1890    0.1753
    0.8543    0.5700    0.6675

B =

0.7133    0.2904    0.4909
    0.8367    0.4804    0.9301
    0.2017    0.7422    0.7071

MATLAB随机数产生方法相关推荐

  1. Matlab实现蒙特卡罗方法(随机模拟法)

    Matlab实现蒙特卡罗方法(随机模拟法) 简介:蒙特卡罗方法是一种以概率统计理论为指导的一类非常重要的数值计算方法.通常使用蒙特卡罗方法来求面积.体积问题或者求解积分. 求曲线 y=2−x2y=2- ...

  2. matlab怎么数值模拟。,matlab的数值模拟方法.doc

    matlab的数值模拟方法.doc 1第一章MATLAB的基础知识11MATLAB的基本操作打开MATLAB软件,则进入以下主界面图11MATLAB的主界面主界面中间部分是命令窗口COMMANDWIN ...

  3. 伪随机数matlab,伪随机数与matlab随机数

    转自http://hi.baidu.com/yanshanedu/item/0432e4d2deac9543ddf9bee0 伪随机数与matlab随机数 要说matlab的随机函数,就得先说说伪随机 ...

  4. 伪随机数与matlab随机数

    转自http://hi.baidu.com/yanshanedu/item/0432e4d2deac9543ddf9bee0 伪随机数与matlab随机数 要说matlab的随机函数,就得先说说伪随机 ...

  5. matlab随机数的设计及应用,matlab随机数的应用

    随机数.: 十七.Weibull 随机数 R = weibrnd(A,B) R = weibrnd(A,B,m) R = weibrnd(A,B,m,n) Matlab 随机数 小结 1,rand 生 ...

  6. matlab 随机数大于0,Matlab 随机数 小结

    1,rand 生成均匀分布的伪随机数.分布在(0~1)之间 语法:rand(m,n)生成m行n列的均匀分布的伪随机数 rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可以是 ...

  7. python random库生成伯努利随机数的方法_Python使用random模块生成随机数操作实例详解...

    本文实例讲述了Python使用random模块生成随机数操作.分享给大家供大家参考,具体如下: 今天在用Python编写一个小程序时,要用到随机数,于是就在网上查了一下关于Python生成各种随机数的 ...

  8. 数学建模matlab imread,《matlab数学建模方法与实践》第三章 数据的处理

    3.1数据的获取 3.1.1从Excel中读取数据 a= xlsread('路径',n(sheetn),'A(n-1):Bn(读入的数据范围)') 3.1.2从TXT中读取数据 3.1.2.1.1 同 ...

  9. java 8位随机数_JAVA中生成指定位数随机数的方法总结

    JAVA中生成指定位数随机数的方法很多,下面列举几种比较常用的方法. 方法一.通过Math类 1 public static String getRandom1(intlen) {2 int rs = ...

最新文章

  1. Python课堂:判定IP地址合法性的三种方法
  2. c++11 移动语义move semantics
  3. 【数据结构-树】4.图解平衡二叉树和哈夫曼编码(逐步演绎,一文读懂)
  4. KVM 安装windows 虚拟机
  5. JDK 10的摘要Javadoc标签
  6. requests的response.text 与 response.content
  7. pivot 与 unpivot函数
  8. 流行的移动端UI框架
  9. 怎么在国内创建谷歌账号_如何在Google文档中创建模板
  10. 批量tracert脚本
  11. 【Oracle】《Oracle Database 10g SQL 开发指南》中示例文件store_schema.sql的bug修复
  12. python json.dumps(output) ^ SyntaxError: invalid syntax
  13. vue动态绑定背景图片
  14. 谈谈微信小程序仿网易云音乐有关播放的那些事儿
  15. 交换游戏(记忆化搜索,状态压缩,位运算)
  16. 计算机常用的颜色模式有,ps的颜色模式有哪些
  17. weui 可移动悬浮按钮
  18. python使用ffmpeg库高效免费完成音频格式转换
  19. 全栈工程师的百宝箱:图形工具篇
  20. apoint.exe

热门文章

  1. 计算机设备管理器该文件没有与之,该文件没有与之关联的程序怎么办?
  2. python 语言变量命名规则的是_Python中变量命名规则有哪些
  3. java用户注册邮箱激活
  4. 三十岁学python可以吗_我30岁了,转行学编程可以吗? 排除法告诉你答案
  5. [技术发展-8]:高级研修班-人工智能篇-数字化时代下的大数据与人工智能
  6. 2019阿里校招数据研发/算法工程师 hr面
  7. 我用c语言把何同学的代码跑起来了
  8. “玲珑杯”ACM比赛 Round #23 C -- 你居然不吃巧克力(贪心+优先队列)
  9. table自定义滚动条样式
  10. 【LeetCode】1609. 奇偶树、1122. 数组的相对排序