matlab生成随机数

一,matlab中生成随机数主要有三个函数:rand, randn,randi

1,rand 生成均匀分布的伪随机数。分布在(0~1)之间

主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数

rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可以是'single'

rand(RandStream,m,n)利用指定的RandStream(我理解为随机种子)生成伪随机数

产生随机整数:

复制代码
 1 >> randint(1,1,[1 100])
 2 
 3 ans =
 4 
 5     81
 6 
 7 >> randint(101,[1 100])
 8 ??? randint(101,[1 100])
 9            |
10 Error: Missing variable or function.
11 
12 >> randint(10,1,[1 100])
13 
14 ans =
15 
16     56
17     96
18     46
19     53
20     90
21     20
22     40
23     15
24     49
25     29
复制代码

 

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);

二,关于随机种子,伪随机数的重复生成

正常情况下每次调用相同指令例如rand生成的伪随机数是不同的,

例如:

rand(1,3)

rand(1,3)

matlab的输出为:

ans =
    0.139043482536049 0.734007633362635 0.194791464843949

 

posted on   baorant  阅读(35183)  评论(1编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示