如何在 MATLAB 中随机打乱矩阵的列?


MATLAB 是一个处理和操作矩阵的有效工具。我们可以用它来打乱矩阵中的列。为此,MATLAB 提供了一些内置函数,可以组合使用来打乱矩阵中的列。在本教程中,我将解释如何使用 MATLAB 随机打乱矩阵中的列。

如何使用 MATLAB 随机打乱矩阵的列?

MATLAB 提供了一些内置函数,我们可以用它们来打乱矩阵中的列。

我们必须按照以下步骤使用 MATLAB 打乱矩阵中的列。

  • 步骤 (1) − 创建一个具有多列的矩阵。

  • 步骤 (2) − 使用“size”函数确定矩阵中的列数。

col_num = size(matrix, 2);
  • 步骤 (3) − 随机排列矩阵中列的索引。为此,请使用“randperm”函数。

random_cols = randperm(col_num);
  • 步骤 (4) − 将原始矩阵的列替换为随机排列的列。

  • 步骤 (5) − 显示具有已打乱列的输出矩阵。

我们可以按照这五个步骤使用 MATLAB 随机打乱矩阵中的列。

示例

现在让我们了解随机打乱矩阵中列的过程。

% MATLAB code to randomly shuffle columns in matrix
% Create an example matrix
mat = [5 2 4 3; 4 5 2 6; 7 6 8 4];

% Determine the number of columns in the matrix
col_num = size(mat, 2);

% Randomly arrange the column indices of the matrix
rand_cols = randperm(col_num);

% Shuffle the columns using the random column indices
shuffled_mat = mat(:, rand_cols);

% Display the original and shuffled columns matrices
disp('Original Matrix:');
disp(mat);
disp('Shuffled Columns Matrix:');
disp(shuffled_mat);

输出

运行此代码时,它将生成以下输出:

Original Matrix:
     5     2     4     3
     4     5     2     6
     7     6     8     4
Shuffled Columns Matrix:
     3     2     4     5
     6     5     2     4
     4     6     8     7

解释

在此示例的输出中,我们可以看到矩阵的列是随机打乱的。

  • 在此 MATLAB 示例中,我们首先创建一个示例矩阵。然后,我们使用“size”函数确定矩阵中的列数,其中“2”表示矩阵的第二个维度“列”。

  • 之后,我们使用“randperm”函数随机排列矩阵的列索引。

  • 然后,我们使用这些随机生成的列索引重新排列/打乱原始矩阵的列。

  • 最后,我们使用“disp”函数显示原始矩阵和列已打乱的矩阵。

结论

总之,打乱矩阵中的列只不过是以不同的方式重新排列矩阵中的列。MATLAB 提供了两个名为“size”和“randperm”的内置函数,我们可以将它们组合使用来随机打乱矩阵中的列。

在本教程中,我通过 MATLAB 中的一个示例解释了随机打乱矩阵中列所涉及的步骤。您还可以通过替换存储在“mat”变量中的矩阵来将此代码用于不同的矩阵。

更新于: 2023年10月6日

782 次查看

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告