Matlab产生随机数 matlab产生随机数分布

计算机不可能产生真正的随机数,只是伪随机数。matlab中rand和randn是产生随机数的命令,x=rand(1,N) 产生(0,1)区间均匀分布的长度为N的随机信号,x=randn(1,N)产生长度为N且具有零均值和单位方差的正态分布的随机信号。matlab中产生伪随机数需要种子,把不同的种子用于不同的随机数生成器产生不同的伪随机数。
betarnd 贝塔分布的随机数生成器
binornd 二项分布的随机数生成器
chi2rnd 卡方分布的随机数生成器
exprnd 指数分布的随机数生成器
frnd f分布的随机数生成器
gamrnd伽玛分布的随机数生成器
geornd
几何分布的随机数生成器
hygernd 超几何分布的随机数生成器
lognrnd 对数正态分布的随机数生成器
nbinrnd 负二项分布的随机数生成器
ncfrnd 非中心f分布的随机数生成器
nctrnd 非中心t分布的随机数生成器
ncx2rnd 非中心卡方分布的随机数生成器
normrnd 正态(高斯)分布的随机数生成器
poissrnd 泊松分布的随机数生成器
raylrnd 瑞利分布的随机数生成器
trnd 学生氏t分布的随机数生成器
unidrnd 离散均匀分布的随机数生成器
unifrnd 连续均匀分布的随机数生成器
weibrnd 威布尔分布的随机数生成器
(1)用计算机产生的是“伪随机数”。用投色子计数的方法产生真正的随机数 , 但电脑若也这样做 , 将会占用大量内存 ; 用噪声发生器或放射性物质也可产生真正的随机数 , 但不可重复 . 而用数学方法产生最适合计算机 , 这就是周期有限 , 易重复的 ” 伪随机数 ”
(2)随机数的产生需要有一个随机的种子,因为用计算机产生的随机数是通过递推的方法得来的,必须有一个初始值。
(3)用同一台电脑,且在初始值和递推方法相同的情况下,可以产生相同的随机序列(由于以前每次使用randn或者rand得到都是不同值,所以曾经误以为相同的seed无法产生相同的序列)
[size=2][color=red][b]一 matlab里产生随机数的方法[/b][/color][/size]
matlab里和随机数有关的函数:
(1) rand:产生均值为0.5、幅度在0~1之间的伪随机数
(2) randn:产生均值为0、方差为1的高斯白噪声
Matlab产生随机数 matlab产生随机数分布
(3) randperm(n):产生1到n的均匀分布随机序列
(4) normrnd(a,b,c,d):产生均值为a、方差为b大小为cXd的随机矩阵
 
(1)如果不设置种子,那么种子会“随机”变化。每次使用randn就会得到不同的结果(c和d)
(2)种子相同时可以得到相同的结果,如果是矩阵那么只是将产生的随机数按列重构(a、b、c)
(3)randn无法准确保证均值为0,小样本的时候尤为明显。去均值后可以严格保证均值为0,但是个人觉得意义不大。
(4)在不同的计算里得到的结果也可能有差别,特别是不同的操作系统。大家可以试一下这个语句
randn('state',2);randn(1,6)看看结果,我电脑每次都一样的

  

爱华网本文地址 » http://www.aihuau.com/a/25101017/359307.html

更多阅读

matlab判断一个点是否在多面体内 matlab判断是否为数字

要在空位区域随机放置一定数量的原子,这些原子在空位区域任何一处存在的概念是相同的。空位区域是由包围这个空位周边的一些原子定义的。如果这个空位区域是一个标准的长方体,那么问题就比较简单,只需要产生随机数,然后再将随机数沿着基

matlab中随机数的问题 matlab产生随机数

norm(a) 一个向量的长度,也就是二阶范数randn(2,20) 生成均值为0,方差为1的正态分布scatter(a(1,:),a(2,:)) 画散点图关键问题不是用法而是意义,rand是0-1的均匀分布,randn是均值为0方差为1的正态分布用法自己help rand或者help randn一

Matlab信号处理工具箱函数上 matlab视频处理工具箱

(2010-03-11 11:17:40)转载标签: matlab信号处理工具箱it这是我从一个论坛找到的,对我现在的学习很有帮助,贴在这里供大家参考,也谢谢那位版主1、波形产生和绘图chirp 产生扫描频率余弦diric 产生Dirichlet函数或周期Sinc函数gauspuls

Matlab生成随机数的一些命令_matlab matlab生成随机数矩阵

Matlab生成随机数的一些命令经常在编程的时候用到各种随机函数,偶然间看到这篇文章,很不错,贴在这里分享。================================================第一种方法是用 random 语句,其一般形式为y = random('分布的英文名',A1,A2,

声明:《Matlab产生随机数 matlab产生随机数分布》为网友帅先森分享!如侵犯到您的合法权益请联系我们删除