matlab的rand函数怎么用

如题所述

RAND(N),产生0到1的随机数,N*N的矩阵
RAND(M,N),产生0到1的随机数,M*N的矩阵
RAND(1),产生0到1的随机数,1*1的矩阵
例如:rand(1)= 0.9501
例如:rand(2)=
0.2311 0.4860
0.6068 0.8913
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-05-12
  Matlab中Rand函数用法:
  一、理论准备
  matlab函数randn:产生均值为0,方差 σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数。
  用法:Y = randn(n),返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。
Y = randn(m,n) 或 Y = randn([m n]),返回一个m*n的随机项矩阵。
  Y = randn(m,n,p,...) 或 Y = randn([m n p...]),产生随机数组(感觉就是三维数组,请看如下例子)。
  1: >> rand(1,2,3)
2: ans(:,:,1) =
3: 0.445586200710899 0.646313010111265
4: ans(:,:,2) =
5: 0.709364830858073 0.754686681982361
6: ans(:,:,3) =
7: 0.276025076998578 0.679702676853675

  Y = randn(size(A)),返回一个和A有同样维数大小的随机数组。
  randn
  s = randn('state'),估计和C++里初始化随机种子一个意思,随便了。
  二、举例分析
  产生一个随机分布的指定均值和方差的矩阵:将randn产生的结果乘以标准差,然后加上期望均值即可。例如,产生均值为0.6,方差为0.1的一个5*5的随机数方式如下:
  1: x = .6 + sqrt(0.1) * randn(5)

  其他类似函数:rand, randperm, sprand, sprandn
  三、拓展
  用matlab随机产生60个1到365之间的正数 1+fix(365*rand(1,60)),fix就是取整函数。
用rand函数随机取100个从-1到2的数x1,x2,...,x = rand(1,100) * 2 - 1。
  逗号表示行,分号表示列。
相似回答