使用Matlab生成随机数的方法
随机数在科学、工程、统计学等领域广泛应用,Matlab自带的随机数生成函数可以方便地生成各种类型的随机数。下面分为三段介绍Matlab生成随机数的方法。
1. 均匀分布的随机数
均匀分布指在某一区间内的随机数出现的概率相等,Matlab中生成均匀分布随机数的函数是rand。该函数产生0到1之间的随机数,用法如下:
```matlabr = rand(m, n)```其中m、n为行数和列数,返回一个$m \imes n$的随机数矩阵
例如:生成一个$5 \imes 5$的随机矩阵:
```matlab>> rand(5, 5)ans = 0.8147 0.9134 0.2785 0.9649 0.9572 0.9058 0.6324 0.5469 0.1576 0.4854 0.1270 0.0975 0.9575 0.9706 0.8003 0.9134 0.2785 0.9649 0.9572 0.4218 0.6324 0.5469 0.1576 0.4854 0.9157```如上所示,生成了一个$5 \imes 5$的随机矩阵。
2. 正态分布的随机数
正态分布也称为高斯分布,是一种在各个自然界现象中经常出现的分布规律。在Matlab中生成正态分布随机数的函数是randn,该函数产生均值为0,方差为1的标准正态分布随机数,用法如下:
其中m、n为行数和列数,返回一个$m \imes n$的随机数矩阵
例如:生成一个$1 \imes 100$的正态分布随机数矩阵:
```matlab>> randn(1, 100)ans = Columns 1 through 12: 0.4146 1.7272 0.8595 0.5039 0.2939 0.4165 -1.0345 -0.8168 0.4579 0.5007 -0.2523 1.0484 Columns 13 through 24: -0.1061 -0.1897 -1.0111 -0.9743 0.3852 0.1777 1.1941 -1.0440 1.1575 0.3407 0.8320 1.7200 Columns 25 through 36: 0.3183 1.2863 0.5067 -0.7705 -0.2268 0.9572 0.1669 1.3325 -1.3905 -0.1785 -0.5767 0.7374 Columns 37 through 48: 0.1833 -0.6214 0.9234 -1.2452 -1.0578 1.0384 -0.3434 -0.0244 0.0422 0.4756 0.6452 0.5826 Columns 49 through 60: -0.5389 -1.0469 0.9487 -0.6016 0.7521 -0.3731 0.4589 0.2086 -0.1731 -0.0186 1.2611 -0.5739 Columns 61 through 72: 0.7676 0.0621 -1.9636 -0.5429 0.5298 0.5790 -1.5646 -1.9528 1.1459 0.2317 -0.8550 0.2733 Columns 73 through 84: 0.2942 1.4384 1.8422 -0.1682 0.4108 0.2407 0.1199 -0.6835 0.3185 0.1285 0.4889 1.0345 Columns 85 through 96: -1.1823 -0.9377 -0.3804 -0.5461 -0.7626 0.6487 -1.1412 -1.0778 -1.5849 -0.9403 0.6706 -1.0435 Columns 97 through 100: 0.9769 0.7527 -1.7275 -0.0515```如上所示,生成了一个$1 \imes 100$的正态分布随机数矩阵。
3. 指定分布的随机数
在Matlab中,我们还可以使用特定的分布函数来生成特定分布的随机数,例如正弦分布、指数分布和泊松分布等。下面是生成指数分布随机数的例子,用法如下:
```matlabr = exprnd(mu, m, n)```其中mu为指数分布的均值,m、n为行数和列数,返回一个$m \imes n$的随机数矩阵
例如:生成一个均值为2的指数分布随机数矩阵:
```matlab>> exprnd(2, 5, 5)ans = 1.1059 1.1271 8.9267 4.3183 0.8248 7.7669 1.1397 2.0872 0.6924 0.1666 0.8411 1.7297 6.8648 0.0405 0.7052 1.6419 0.6179 0.9788 2.3436 1.6070 1.1297 6.1153 0.8718 2.4396 2.2073```如上所示,生成了一个$5 \imes 5$的指数分布随机数矩阵。
就是Matlab中生成随机数的方法,不同的随机数生成函数可以满足不同的应用需求,希望对读者有所启发。