Matlab_learning_4(rand randn randint函数 )

来源:互联网 发布:apache 不允许列目录 编辑:程序博客网 时间:2024/06/01 10:50

Differences in Function rand&randn&randint

(1)function1: rand

    ||         matlab 中 rand 函数是产生0到1的随机分布

               1>、RAND:Uniformly distributed random numbers.    

                       标准化分布的随机数

               2>、RAND(N) is an N-by-N matrix with random entries, chosen from a uniform distribution on the interval (0.0,1.0).  

                       rand(N)为随机生成一个在【0,1】之间的n维随机矩阵。

               3>、RAND(M,N) and RAND([M,N]) are M-by-N matrices with random entries.

                       rand(M,N) and rand([M,N]) 随机生成一个在【0,1】之间的m,n维随机矩阵。

               4>、RAND(M,N,P,...) or RAND([M,N,P,...]) generate random arrays.

                       rand(M,N,P) and rand([M,N]) 随机生成 P 个在【0,1】之间的m,n维随机矩阵。
               5>、RAND with no arguments is a scalar whose value changes each time it  is referenced. RAND(SIZE(A)) is the same size as A.
                       没有参数的rand是一个标量,它的值在每次被引用时都改变。rand( size(A) )是与 A 具有相同尺寸。
               6>、RAND produces pseudo-random numbers.  The sequence of numbers  generated is determined by the state of the                                        generator.  Since MATLAB  resets the state at start-up, the sequence of numbers generated will  be the same unless the state                        is changed. 

                       rand 产生伪随机数。生成的序列由生成器的状态决定。由于 MATLAB 启动时重置状态,生成的序列数都是一样的除非状态改变。     

               7>、S = RAND('state') is a 35-element vector containing the current state  of the uniform generator.  RAND('state',S) resets the                            state to S.
               8>、RAND('state',0) resets the generator to its initial state. 

                       重新恢复初始状态,刚运行matlab时候的状态

               9>、RAND('state',J), for integer J, resets the generator to its J-th state. 

                       安排种子产生第 j 个状态

              10>、RAND('state',sum(100*clock)) resets it to a different state each time.

                       根据时间产生不同的随机数
~~~~~~~~~~~~~~~~~~~~~~rand above~~~~~~~~~~~~~~~~~~~~~~~~~~

>> x = rand(1,10)x =  Columns 1 through 6    0.3786    0.8116    0.5328    0.3507    0.9390    0.8759  Columns 7 through 10    0.5502    0.6225    0.5870    0.2077

(2)function2: randn

    ||         matlab 中 randn 函数是产生标准正态分布

               1>、RANDN产生正态分布数的语法:

  • 标准化分布的随机数 ;
  • RANDN(N) :产生N× N的矩阵,其元素是按正态分布的数组;
  • RANDN(M,N) and RANDN([M,N]):产生M×N的矩阵;
  • RANDN(M,N,P,...) or RANDN([M,N,P...])产生随机序列;

               2>、RANDN产生伪随机数的语法:

  • S = RANDN('state') 是一个二元向量,包括标准发生器的状态;
  • RANDN('state',S):设置发生器的状态为S(即标准状态);
  • RANDN('state',0):设置发生器的初始状态;
  • RANDN('state',J):J为整数,设置发生器到J阶状态;

               3>、MATlAB 4.X应用一个单独的种子来产生随机数:

  • RANDN('seed',0) and RANDN('seed',J)作用与RANDN('state',0)和RANDN('state',J)一样,但使用Matlab 4.x随机数发生器。
  • RANDN('seed'):返回MATlAB 4.X发生器的当前种子。

>> x = randn(1,10)x =  Columns 1 through 6   -0.1623   -0.1461   -0.5320    1.6821   -0.8757   -0.4838  Columns 7 through 10   -0.7120   -1.1742   -0.1922   -0.2741

(3)function3: randint

    matlab 中 randint 是产生整数随机数,默认为 0 和 1

>> x = randi(1,10)x =     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1>> x = randint(1,10)Warning: This is an obsolete function and may be removed in thefuture.         Please use RANDI instead.         To disable this warning, type         warning('off','comm:obsolete:randint'). x =     1     1     1     0     1     0     1     1     0     0>> x = RANDI(1,10)Undefined function 'RANDI' for input arguments of type 'double'.
0 0
原创粉丝点击