关于matlab生成随机数(转载)
2012-08-03 22:39
393 查看
一,matlab中生成随机数主要有三个函数:rand, randn,randi
1,rand 生成均匀分布的伪随机数。分布在(0~1)之间
主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数
rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可以是'single'
rand(RandStream,m,n)利用指定的RandStream(我理解为随机种子)生成伪随机数
2,randn 生成标准正态分布的伪随机数(均值为0,方差为1)
主要语法:和上面一样
3, randi 生成均匀分布的伪随机整数
主要语法:randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机整数
randi(iMax,m,n)在开区间(0,iMax)生成mXn型随机矩阵
r = randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成m*n型随机矩阵
示例验证:
均值分布
概率分布图:
y=rand(1,3000000);
hist(y,2000);
散点图:
y=rand(1,3000000);
plot(y)
正态分布
概率分布图:
y=randn(1,3000000);
hist(y,2000);
散点图:
y=randn(1,3000000);
plot(y);
二,关于随机种子,伪随机数的重复生成
正常情况下每次调用相同指令例如rand生成的伪随机数是不同的,
例如:
rand(1,3)
rand(1,3)
matlab的输出为:
ans =
0.139043482536049 0.734007633362635 0.194791464843949
1,rand 生成均匀分布的伪随机数。分布在(0~1)之间
主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数
rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可以是'single'
rand(RandStream,m,n)利用指定的RandStream(我理解为随机种子)生成伪随机数
2,randn 生成标准正态分布的伪随机数(均值为0,方差为1)
主要语法:和上面一样
3, randi 生成均匀分布的伪随机整数
主要语法:randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机整数
randi(iMax,m,n)在开区间(0,iMax)生成mXn型随机矩阵
r = randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成m*n型随机矩阵
示例验证:
均值分布
概率分布图:
y=rand(1,3000000);
hist(y,2000);
散点图:
y=rand(1,3000000);
plot(y)
正态分布
概率分布图:
y=randn(1,3000000);
hist(y,2000);
散点图:
y=randn(1,3000000);
plot(y);
二,关于随机种子,伪随机数的重复生成
正常情况下每次调用相同指令例如rand生成的伪随机数是不同的,
例如:
rand(1,3)
rand(1,3)
matlab的输出为:
ans =
0.139043482536049 0.734007633362635 0.194791464843949
相关文章推荐
- 关于matlab生成随机数
- 关于matlab生成随机数
- 关于matlab生成随机数
- 关于Servlet生成验证码的src为什么要带随机数的问题
- Python生成随机数的方法【转载】
- 关于随机数生成
- [转贴]关于随机数生成
- Matlab(mathworks.com) 随机数生成方法
- Oracle中生成随机数的函数(转载)
- matlab随机数生成
- 关于C++随机数生成中种子值设置的…
- 关于C#中随机数的生成问题
- 关于随机数生成问题的新解决方案
- 关于C++随机数生成中种子值设置的一点总结,解决随机数序列重复问题
- 使用c生成随机数和matlab上的随机数相对应
- 关于c语言中随机数生成连续播种的问题(初学者向)
- C语言关于产生随机数文章转载两篇(一)
- C++随机数生成方法(转载,赶紧搜藏)
- 一个关于生成随机数的算法
- 史上最全的java随机数生成算法[转载]