matlab生成均值固定的随机数 MATLAB生成常见一元分布随机数
MATLAB提供了多种方法来生成常见的一元分布随机数。在本文中,我们将使用MATLAB的随机数生成函数来生成正态分布、均匀分布和指数分布的随机数。我们将逐步介绍如何使用这些函数来生成不同分布的随机数。
步骤1: 生成正态分布的随机数
要生成正态分布的随机数,我们可以使用`randn`函数。这个函数生成服从标准正态分布(均值为0,方差为1)的随机数。如果我们想要生成均值为`mu`,方差为`sigma^2`的正态分布随机数,可以使用以下代码:
```matlab
mu = 0; % 均值
sigma = 1; % 标准差(方差的平方根)
n = 100; % 生成随机数的数量
rng('default'); % 设置随机数种子为默认值,以确保结果的可重复性
random_numbers = mu + sigma * randn(n, 1);
```
上述代码将生成一个大小为n×1的列向量,其中包含了服从均值为mu,方差为sigma^2的正态分布的随机数。
步骤2: 生成均匀分布的随机数
要生成均匀分布的随机数,我们可以使用`rand`函数。这个函数生成均匀分布在[0,1]区间上的随机数。如果我们想要生成在[a, b]区间上的均匀分布随机数,可以使用以下代码:
```matlab
a = 0; % 区间起点
b = 1; % 区间终点
n = 100; % 生成随机数的数量
rng('default'); % 设置随机数种子为默认值,以确保结果的可重复性
random_numbers = a + (b - a) * rand(n, 1);
```
上述代码将生成一个大小为n×1的列向量,其中包含了在[a, b]区间上均匀分布的随机数。
步骤3: 生成指数分布的随机数
要生成指数分布的随机数,我们可以使用`exprnd`函数。这个函数生成服从参数为lambda的指数分布的随机数。如果我们想要生成均值为1/lambda的指数分布随机数,可以使用以下代码:
```matlab
lambda = 1; % 参数
n = 100; % 生成随机数的数量
rng('default'); % 设置随机数种子为默认值,以确保结果的可重复性
random_numbers = exprnd(lambda, n, 1);
```
上述代码将生成一个大小为n×1的列向量,其中包含了服从均值为1/lambda的指数分布的随机数。
我们可以使用MATLAB的随机数生成函数来生成正态分布、均匀分布和指数分布的随机数。根据需要,我们可以调整分布的参数来生成不同均值和方差的随机数。