matlab得到正态分布的整数数组
时间: 2023-10-21 08:07:22 浏览: 170
要生成正态分布的整数数组,可以使用 MATLAB 中的 `randn` 函数生成一个标准正态分布的随机数数组,然后使用 `round` 函数将得到的随机数四舍五入为整数,最后使用 `int32` 函数将浮点数转换为整数类型。
以下是一个示例:
```matlab
% 生成标准正态分布的随机数数组
x = randn(1, 1000);
% 将随机数四舍五入为整数
x = round(x);
% 将浮点数转换为整数类型
x = int32(x);
```
在这个示例中,使用 `randn` 函数生成了一个大小为 1x1000 的标准正态分布的随机数数组。然后使用 `round` 函数将随机数四舍五入为整数,最后使用 `int32` 函数将浮点数转换为整数类型。
相关问题
matlab正态分布随机取整数
你可以使用`round`函数配合生成正态分布随机数的函数来实现正态分布随机取整数的功能。例如,使用`randn`函数生成一个均值为mu,标准差为sigma的正态分布随机数,然后使用`round`函数将其取整即可。具体代码如下:
```
mu = 0; % 均值
sigma = 1; % 标准差
n = 10; % 生成10个随机整数
r = round(mu + sigma*randn(n,1)); % 生成正态分布随机整数
```
其中,`mu + sigma*randn(n,1)`生成一个均值为mu,标准差为sigma的正态分布随机数向量,`round`函数将其取整,得到一个正态分布随机整数向量。
matlab从1到6正态分布随机取整数
你可以使用`round`函数配合生成正态分布随机数的函数来实现从1到6的正态分布随机取整数的功能。例如,使用`randn`函数生成一个均值为3.5,标准差为1.5的正态分布随机数,然后使用`round`函数将其取整,并使用`mod`函数将其限制在1到6的范围内即可。具体代码如下:
```
mu = 3.5; % 均值
sigma = 1.5; % 标准差
n = 10; % 生成10个随机整数
r = mod(round(mu + sigma*randn(n,1)), 6) + 1; % 生成1到6的正态分布随机整数
```
其中,`mu + sigma*randn(n,1)`生成一个均值为mu,标准差为sigma的正态分布随机数向量,`round`函数将其取整,`mod`函数将其限制在1到6的范围内,最后加1得到一个1到6的正态分布随机整数向量。