如何在 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 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.