在 MATLAB 矩陣中隨機打亂行


MATLAB 是一個處理矩陣的強大工具。它提供了大量內建函式和處理方法,我們只需編寫少量 MATLAB 程式碼即可操作矩陣。我們在 MATLAB 中可以對矩陣執行的操作之一就是**隨機打亂矩陣的行**。在本教程中,我將解釋如何使用 MATLAB 隨機打亂矩陣的行。

在 MATLAB 中隨機打亂矩陣的行

MATLAB 是使用計算機操作矩陣的完整解決方案。在 MATLAB 中,我們可以透過使用 MATLAB 的內建函式非常輕鬆地打亂矩陣的行。

MATLAB 有一個內建函式,名為“randperm”,我們可以用它來隨機打亂或交換給定矩陣的行。此函式透過生成矩陣行索引的隨機排列來打亂矩陣的行。這個隨機生成的排列允許我們以隨機順序重新排列矩陣的行。

在討論該概念的實際實現之前,讓我們首先討論在 MATLAB 中打亂矩陣行的分步過程。

使用 MATLAB 隨機打亂矩陣行的過程

下面解釋了使用 MATLAB 程式設計隨機打亂矩陣行的分步過程

步驟 (1) – 首先,在 MATLAB 工作區中建立或載入要操作的矩陣。

步驟 (2) – 確定矩陣中的行數。為此,您可以使用 MATLAB 的內建函式“size”。以下“size”函式的語法用於確定矩陣中的行數

Rows_Num = size(matrix, 1);

這裡,“1”用於指定我們想要確定矩陣的第一維(行)。

步驟 (3) – 現在,使用“randperm”函式生成矩陣行索引的隨機排列。為此,需要使用以下語法

Rand_Perm = randperm(Row_Num);

步驟 (4) – 在此步驟中,利用隨機生成的排列重新排序/打亂矩陣的行。

步驟 (5) – 最後,顯示結果。

現在我們具備了足夠的知識來實現 MATLAB 程式碼以執行矩陣行的隨機打亂。

示例

讓我們舉一個示例程式來了解我們實際上如何在 MATLAB 中編寫程式碼來打亂給定矩陣的行。

% MATLAB code to shuffle rows of a matrix randomly
% Create a sample matrix
Mat = [10, 20, 2; 42, 51, 67; 57, 85, 19; 1, 15, 2];

% Determine the number of rows in the matrix
n = size(Mat, 1);	% dim = 1 to specify rows

% Generate a random permutation of indices of rows of the matrix
R = randperm(n);

% Shuffle the rows of the matrix using random permutation
Shuffled_Mat = Mat(R, :);

% Display the input and shuffled matrices
disp('The input matrix is:');
disp(Mat);
disp('The shuffled matrix is:');
disp(Shuffled_Mat);

輸出

The input matrix is:
   10   20    2
   42   51   67
   57   85   19
    1   15    2
The shuffled matrix is:
   10   20    2
    1   15    2
   42   51   67
   57   85   19

解釋

在此 MATLAB 程式碼中,我們使用隨機生成的排列打亂了輸入矩陣的行。

結論

這就是使用 MATAB 隨機打亂矩陣行的方法。在本教程中,我們藉助示例解釋了打亂矩陣行的分步過程。

總之,MATLAB 有一個內建函式“randperm”,可以透過利用矩陣行索引的隨機生成排列來隨機打亂矩陣的行。

更新於: 2023年9月7日

1K+ 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.