如何在 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”变量中的矩阵来将此代码用于不同的矩阵。
广告