如何在MATLAB中使用巢狀迴圈建立矩陣?


MATLAB 是建立矩陣的有效工具。在 MATLAB 中,矩陣是一個二維陣列,可以以行和列的形式儲存資料。MATLAB 允許我們使用巢狀迴圈建立矩陣。在本教程中,我們將學習**如何使用巢狀迴圈在 MATLAB 中建立矩陣**。

在 MATLAB 中,使用巢狀迴圈建立矩陣是一個簡單的兩步過程。下面解釋了使用巢狀迴圈建立矩陣的分步過程:

  • **步驟 (1)** 根據矩陣的行數和列數初始化矩陣並指定迴圈限制。

  • **步驟 (2)** 建立巢狀迴圈,可以使用“for”迴圈或“while”迴圈。利用迴圈變數來索引矩陣的列和行,並相應地設定矩陣元素的值。

示例 (1) – 建立一個元素從 1 到 9 遞增的 3 × 3 矩陣

現在,讓我們透過示例來實際瞭解使用巢狀迴圈在 MATLAB 中建立矩陣的過程。

% MATLAB program to create a matrix using nested loop
% Initialize a matrix
m = [];

% Initialize a variable to keep track of the value
x = 1;

% Create a nested loop and specify loop limits
for i = 1 : 3    % Outer loop for rows
   for j = 1 : 3    % Inner loop for columns
      m(i, j) = x;
      x = x + 1;
   end 
end

% Display the matrix
disp('The output matrix is:')
disp(m);

輸出

The output matrix is:
     1     2     3
     4     5     6
     7     8     9

程式碼解釋

在此 MATLAB 程式碼中,我們首先初始化一個空矩陣並將其儲存在變數“m”中。接下來,我們初始化一個變數“x = 1”來跟蹤每個矩陣元素的值。之後,我們使用“for”迴圈建立兩個巢狀迴圈。外部巢狀迴圈,即“for i = 1 : 3”,是用於行的迴圈,內部迴圈,即“for j = 1 : 3”,是用於列的迴圈。

然後,在巢狀迴圈內,我們將變數“x”的值賦給第“i”行和第“j”列的元素,即“m(i, j) = x”。接下來,我們編寫公式“x = x + 1”,當從一個元素移動到下一個元素時,它會遞增“x”的值。

此迴圈將持續迭代,直到所有矩陣元素都填充了它們各自的值。

最後,我們使用“disp”函式來顯示生成的矩陣。此程式碼的輸出將是一個 3 × 3 矩陣,其元素從 1 到 9 遞增。

示例 (2) – 建立一個 4 × 4 對角矩陣

% MATLAB program to create a 4 × 4 diagonal matrix using nested loop
% Initialize a matrix with all zero elements
m = zeros(4, 4);

% Create a nested loop to set the diagonal elements of matrix to 1
for i = 1 : 4
    m(i, i) = 1;
end

% Display the resulting matrix
disp('The 4 × 4 diagonal matrix is:')
disp(m);

輸出

The 4 × 4 diagonal matrix is:
     1     0     0     0
     0     1     0     0
     0     0     1     0
     0     0     0     1

程式碼解釋

在此 MATLAB 程式碼中,我們首先初始化一個所有元素都為零的矩陣,並將其儲存在變數“m”中。然後,我們建立一個巢狀的“for”迴圈來將矩陣的所有對角元素設定為 1。為此,我們將“1”分配給每個行索引和列索引相同的元素,即“m(i, i) = 1”。最後,我們使用“disp”函式顯示生成的矩陣。此 MATLAB 程式碼的輸出將是一個 4 x 4 對角矩陣。

示例 (3) – 建立一個 3 x 3 矩陣,其中每個元素表示行索引的正弦值

% MATLAB program to create a 3 x 3 matrix with sin values of row indices
% Initialize a matrix
m = [];

% Create nested loops to compute the sin values for row indices
for i = 1 : 3	% Outer loop for rows
   for j = 1 : 3	% Inner loop for columns
       m(i, j) = sin(i);
   end 
end

% Display the resulting matrix
disp('The 3x3 matrix with sine values of row indices:')
disp(m);

輸出

The 3x3 matrix with sine values of row indices:
    0.8415    0.8415    0.8415
    0.9093    0.9093    0.9093
    0.1411    0.1411    0.1411

程式碼解釋

在此 MATLAB 程式碼中,我們首先建立一個 3 x 3 矩陣“m”,所有元素都為零。然後,我們建立巢狀迴圈來計算每個矩陣元素的正弦值。這裡,外部迴圈“i = 1 : 3”用於行,內部迴圈“j = 1 : 3”用於列。

接下來,在迴圈內,我們計算每個行索引“sin(i)”的正弦值,並將此值賦給矩陣的第“i”行和第“j”列的每個元素。

最後,我們使用“disp”函式顯示生成的 3 x 3 矩陣,其中每個元素都表示其對應行索引的正弦值。

結論

這就是關於在 MATLAB 中從巢狀迴圈建立矩陣的所有內容。在 MATLAB 程式設計中,我們只需迭代巢狀迴圈即可輕鬆建立任何型別的矩陣,以填充矩陣中所需的特定值。上面的示例程式演示了巢狀迴圈在建立不同型別矩陣中的實現。

更新於:2023年9月6日

366 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告