zoukankan      html  css  js  c++  java
  • matlab中的rng函数

    一、matlab中的随机函数有:rand、randn

    1、rand功能:生成0-1之间的伪随机数

     rand(2)%生成0-1之间的方阵
    ans =
    
        0.2785    0.9575
        0.5469    0.9649
    
    
    
    rand(1,2)%生成1行2列的矩阵
    ans =
    
        0.1576    0.9706
     
    
    
    rand(1,2,'double')%生成1行2列的类型为double的随机数
    ans =
    
        0.9572    0.4854
    

     2、randn功能:生成标准正态分布的伪随机数(均值为0,方差为1)

    使用的例子和上面一样

    二、rng函数的功能:控制随机函数的生成

    2.1用法一:rng(seed)

    rng(seed) 使用非负整数 seed 为随机数生成器提供种子,以使 randrandi 和 randn 生成可预测的数字序列。

    (seed用来控制rand和randn函数生成随机数,例如rand('seed',0)每次生成的随机数都是一样的)

    将当前生成器设置保存在 s 中:
    s = rng;
    调用 rand 以生成随机值向量:
    
    x = rand(1,5)
    
    x =
    
        0.8147    0.9058    0.1270    0.9134    0.6324
    通过调用 rng 还原原始生成器设置。生成一组新的随机值并验证 x 和 y 是否相等:
    
    rng(s);
    y = rand(1,5)
    
    y =
    
        0.8147    0.9058    0.1270    0.9134    0.6324
    

    2.2用法二:rng('shuffle') 

    根据当前时间为随机数生成器提供种子。这样,randrandi 和 randn 会在您每次调用 rng 时生成不同的数字序列

    2.3用法三:rng(seed,generator)、rng('shuffle',generator)

    制定随机数生成的类型,因为我们使用的是算法来生成随机数的,故指定的便是算法的类型

    • 'twister':梅森旋转

    • 'simdTwister':面向 SIMD 的快速梅森旋转算法

    • 'combRecursive':组合多递归

    • 'philox':执行 10 轮的 Philox 4×32 生成器

    • 'threefry':执行 20 轮的 Threefry 4×64 生成器

    • 'multFibonacci':乘法滞后 Fibonacci

    • 'v5uniform':传统 MATLAB® 5.0 均匀生成器

    • 'v5normal':传统 MATLAB 5.0 正常生成器

    • 'v4':传统 MATLAB 4.0 生成器

    2.4用法四:rng('default')

    rng('default') 将 randrandi 和 randn 使用的随机数生成器的设置重置为其默认值。这样,会生成相同的随机数,就好像您重新启动了 MATLAB。默认设置是种子为 0梅森旋转生成器

    2.5用法五:scurr = rng和rng(s) 

    功能在上述的代码中可以看到

    2.6sprev = rng(...)

     返回 randrandi 和 randn 使用的随机数生成器的以前设置,然后更改这些设置。

    使用传统生成器。
    
    sprev = rng(0,'v5uniform')
    
    sprev = 
         Type: 'twister'
         Seed: 0
        State: [625x1 uint32]
    
    x = rand
    
    x =
    
        0.9501
    通过调用 rng 还原以前的设置。
    
    rng(sprev)
    

      

  • 相关阅读:
    Luogu P4727 [HNOI2009]图的同构记数
    ARC 101 E
    JSOI2019 Round2 游记
    JSOI2019 Round1(十二省联考)游记
    Technocup 2019
    Codeforces Round #533 (Div. 2)比赛总结
    学习链接
    2018.12.29-2018.1.9安师大附中集训
    关于考试
    NOIP2018提高组 游记
  • 原文地址:https://www.cnblogs.com/andrew-address/p/13030190.html
Copyright © 2011-2022 走看看