在 MATLAB 中生成随机数

在 MATLAB 中生成随机数

在 MATLAB 中生成随机数

matlabdata analysisprogramming更新于 2025/5/11 17:37:17

在 MATLAB 编程中,我们可以使用各种类型的内置函数来生成不同类型的随机数。随机数不过是从一组数字中随机选择的数字。

MATLAB 提供以下四个主要函数来根据我们的需求生成不同类型的随机数:

rand()

randn()

randi()

randperm()

让我们借助 MATLAB 中的示例程序详细讨论这四个函数中的每一个。

"rand"函数

"rand()"函数是 MATLAB 中的内置函数,可用于生成均匀分布在 0 和 1 之间的随机数。在这个函数中,我们必须将随机矩阵的维度指定为参数。

语法

rand

我们可以使用 rand() 函数生成均匀分布的随机数矩阵,在这种情况下,应遵循以下语法:

rand(row, col)

例如,要生成 3 x 5 的随机数矩阵,

rand(3, 5)

现在,让我们考虑一些 MATLAB 程序来了解 rand() 函数的操作。

示例

% MATLAB 程序生成 6 个均匀分布的随机数

for i = 1:6

ran_num = rand;

disp(ran_num)

end

输出

0.033219

0.5965

0.1006

0.4967

0.6671

0.1800

示例

% MATLAB 程序生成一个 3 × 4 均匀分布的随机数矩阵

% 调用 rand() 函数生成一个大小为 3 × 4 的随机矩阵

Rand_Matrix = rand(3, 4);

% 显示随机生成的矩阵

disp('The Random Matrix is:');

disp(Rand_Matrix);

输出

The Random Matrix is:

0.9883 0.4337 0.8890 0.3114

0.5068 0.7758 0.6320 0.1136

0.5637 0.3904 0.3751 0.8236

示例

% MATLAB 程序生成长度为 6 的随机向量

% 调用 rand() 函数生成长度为 6 的随机向量

Rand_Vector = rand(1, 6);

% 显示随机生成的向量

disp('The Random Vector is:');

disp(Rand_Vector);

输出

The Random Vector is:

0.386889 0.313298 0.593926 0.268528 0.095952 0.965557

在上述 MATLAB 程序中,我们使用"rand()"函数生成六个随机数、一个大小为 3 x 4 的矩阵和一个长度为 6 的随机向量。

"randn"函数

在 MATLAB 中,randn() 函数用于生成正态分布的随机数。此函数主要用于生成随机数、随机矩阵或随机向量,使用标准正态分布(均值为 0,标准差为 1)。

正态

生成正态分布的随机数列表:

randn

生成大小为 n x m 的随机矩阵:

randn(n, m)

生成长度为 n 的随机向量:

randn(1, n)

现在,让我们借助示例程序了解 randn() 函数的实现。

示例

% MATLAB 程序演示 randn() 函数的实现

% 生成 6 个正态分布的随机数

disp('Random Numbers:')

for i = 1:6

Rand_Num = randn;

disp(Rand_Num);

end

% 生成一个大小为 4x3 且服从标准正态分布的随机矩阵

Rand_Matrix = randn(4, 3);

% 显示生成的随机矩阵

disp('Random Matrix:');

disp(Rand_Matrix);

% 生成一个长度为 6 且服从标准正态分布的随机向量

Rand_Vector = randn(1, 6);

% 显示生成的随机向量

disp('Random Vector:');

输出

Random Numbers:

0.039510

-0.1805

0.2246

-1.3301

0.5415

0.6542

Random Matrix:

-0.6967 -0.5581 0.7305

-0.2204 -0.2242 0.3702

-1.6478 -0.9363 1.4140

1.0097 0.5562 -0.2543

Random Vector:

-0.4225 0.3729 -0.8782 0.4408 0.2229 -0.7132

解释

在此 MATLAB 程序中,randn() 函数用于根据标准正态分布生成 6 个正态分布的随机数、一个大小为 4x3 的随机矩阵 (Rand_Matrix) 和一个长度为 6 的随机向量 (Rand_Vector)。

"randi" 函数

在 MATLAB 中,randi() 函数用于生成一定范围内的伪随机整数。 randi() 函数基本上使用均匀分布在指定的最小值和最大值之间生成随机整数。

均匀

要生成"min"和"max"之间的随机整数:

randi([min, max], 1)

要生成大小为 n x m 的随机矩阵,其中整数在"min"和"max"之间:

randi([min, max], n, m)

要生成长度为 n 的随机向量,其中整数在"min"和"max"之间:

randi([min, max], 1, n)

让我们借助示例程序来理解此实现。

示例

% MATLAB 程序演示 randi() 函数的实现

% 生成 5 到 10 之间的 6 个随机整数

disp('Random Integers:')

for i = 1:6

Rand_Int = randi([5, 10], 1);

disp(Rand_Int);

end

% 生成一个大小为 3x4 的随机矩阵,其整数在 4 到 10 之间

Rand_Matrix = randi([4, 10], 3, 4);

% 显示生成的随机矩阵

disp('Random Matrix:');

disp(Rand_Matrix);

% 生成一个长度为 6 的随机向量,其整数在 3 到 9 之间

Rand_Vector = randi([3, 9], 1, 6);

% 显示生成的随机向量

disp('Random Vector:');

disp(Rand_Vector);

输出

Random Integers:

5

7

10

10

10

6

Random Matrix:

4 4 8 6

4 10 8 9

5 5 9 4

Random Vector:

9 4 7 9 8 4

解释

在此 MATLAB 程序中,randi() 函数用于生成 5 到 10 之间的 6 个随机整数、一个大小为 3x4 的随机矩阵 (Rand_Matrix) 和一个长度为 6 的随机向量 (Rand_Vector)。

"randperm" 函数

在 MATLAB 中,"randperm()" 函数用于生成整数的随机排列。此函数有助于对数据进行混洗或随机化。

语法

randperm(max_value)

让我们考虑一个示例程序来了解 randperm() 函数的实现。

示例

% MATLAB 程序演示 randperm() 函数的实现

% 生成从 1 到 7 的整数的随机排列

Rand_Perm = randperm(7);

% 显示生成的随机排列

disp('Random Permutation:');

disp(Rand_Perm);

输出

Random Permutation:

1 2 6 7 4 3 5

解释

在此 MATLAB 程序中,randperm() 函数用于生成从 1 到 7 的整数的随机排列。结果存储在变量"Rand_Perm"中。

结论

在本教程中,我们解释了有关 MATLAB 中随机数生成的所有内容。但是,需要注意的是,每次运行程序时,输出的值都会不同,这是因为 rand() 函数每次都会生成新的随机值。

相关文章

在 MATLAB 中创建零数组

在 MATLAB 中定义表的导入选项

在 MATLAB 中创建滑块组件

在 MATLAB 中创建笛卡尔轴

MATLAB 中的三次样条数据插值

在 MATLAB 中使用 Quad 进行定数值积分

MATLAB 中的微分或导数

使用 MATLAB 进行离散傅里叶变换及其逆变换

在 MATLAB 中使用查找表进行双插值

在 MATLAB 中提取矩阵中连续项的子集

打印

下一节:MATLAB 中的应用程序构建组件 ❯❮ 上一节:在 MATLAB 中不使用 trapz 函数进行梯形数值积分

相关文章

约彩365官旧版本网客户端下载
车子电瓶电压正常多少伏,能否通过电压来判断电瓶是否正常?
365bet官网备用
热身赛 阿根廷-巴拿马

热身赛 阿根廷-巴拿马

📅 08-06 👀 513