在MATLAB中建立、連線和擴充套件矩陣


在MATLAB中,建立、連線和擴充套件矩陣是三種基本的矩陣操作。由於矩陣是MATLAB程式設計中用於執行各種資料處理任務的基本資料結構之一。因此,理解建立、連線和擴充套件矩陣的過程對於在MATLAB程式設計中執行資料組織和操作非常重要。

本文旨在解答與MATLAB矩陣相關的以下三個問題:

  • 如何在MATLAB中建立不同型別的矩陣?

  • 如何連線矩陣?

  • 如何擴充套件矩陣?

讓我們逐一詳細討論每個操作。

在MATLAB中建立矩陣

在MATLAB中,建立矩陣只不過是收集和排列資料元素的行和列的過程。

建立矩陣的過程始於初始化和定義所需的資料結構。

在MATLAB中,我們可以建立幾種型別的矩陣,例如零矩陣、全1矩陣、隨機矩陣、單位矩陣等。

讓我們看看如何編寫MATLAB程式碼來建立不同型別的矩陣。

建立給定資料的矩陣

如果給定一組特定的資料,我們可以使用方括號將這些資料組織成矩陣的形式。

如果要將元素排列成單行,則在元素之間使用逗號或空格。如果要將資料元素排列成多行,則使用分號分隔行。

示例

讓我們在MATLAB程式設計中舉一個例子,建立一個單行矩陣和一個多行矩陣。

% MATLAB code to create a matrix
% Create a single row matrix
A = [15, 22, 5, 11, 7, 9];

% Create a matrix with multiple rows
B = [15, 2, 9; 4, 3, 11; 7, 1, 9];

% Display the matrices
disp('The single row matrix A:');
disp(A);
disp('The multi row matrix B:');
disp(B);

輸出

The single row matrix A:
    15    22     5    11     7     9

The multi row matrix B:
    15     2     9
     4     3    11
     7     1     9

建立零矩陣

在MATLAB中,有一個內建函式“zeros”用於建立一個所有元素都為零的矩陣。

語法

mat = zeros(rows, columns);

示例

讓我們看一個建立零矩陣的例子。

% Create a 3×3 zero matrix
A = zeros(3);

% Create a 2×4 zero matrix
B = zeros(2, 4);

% Display the results
disp('Matrix A:');
disp(A);
disp('Matrix B:');
disp(B);

輸出

Matrix A:
     0     0     0
     0     0     0
     0     0     0

Matrix B:
     0     0     0     0
     0     0     0     0

建立全1矩陣

在MATLAB中,我們可以使用“ones()”函式生成一個所有元素都為1的矩陣。

語法

mat = ones(rows, columns);

示例

讓我們舉一個在MATLAB中建立全1矩陣的例子。

% Create a 4×4 ones matrix
A = ones(4);

% Create a 3×5 ones matrix
B = ones(3, 5);

% Display the results
disp('Matrix A:');
disp(A);
disp('Matrix B:');
disp(B);

輸出

Matrix A:
     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1

Matrix B:
     1     1     1     1     1
     1     1     1     1     1
     1     1     1     1     1

建立對角矩陣

在MATLAB中,我們有一個內建函式“diag”,它將提供的元素排列在矩陣的對角線上。

語法

diagonal_matrix = diag(mat);

示例

讓我們透過一個例子來看看這個函式是如何工作的。

% Create a sample matrix
mat = [10, 20, 30, 40, 50];

% Create the diagonal matrix for “mat”
d_mat = diag(mat);

% Display the results
disp('Sample matrix:');
disp(mat);
disp('Diagonal matrix:');
disp(d_mat);

輸出

Sample matrix:
    10    20    30    40    50

Diagonal matrix:
    10     0     0     0     0
     0    20     0     0     0
     0     0    30     0     0
     0     0     0    40     0
     0     0     0     0    50

建立單位矩陣

在MATLAB程式設計中,我們有一個函式“eye()”,可以用來建立單位矩陣。

語法

mat = eye(n);

這裡,n是單位矩陣的階數。

示例

讓我們看一個例子來理解單位矩陣的建立。

% Create an identity matrix of order of 3×3
A = eye(3);

% Create an identity matrix of order of 5×5
B = eye(5);

% Display the results
disp('Matrix A:');
disp(A);
disp('Matrix B:');
disp(B);

輸出

Matrix A:
     1     0     0
     0     1     0
     0     0     1

Matrix B:
     1     0     0     0     0
     0     1     0     0     0
     0     0     1     0     0
     0     0     0     1     0
     0     0     0     0     1

建立隨機矩陣

在MATLAB中,我們可以使用“rand”函式建立一個隨機矩陣,其中每個元素的值都在0和1之間。

語法

mat = rand(rows, columns);

示例

讓我們舉一個在MATLAB中建立隨機矩陣的例子。

% Create a random matrix of order of 3×3
A = rand(3, 3);

% Create a random matrix of order of 3×4
B = rand(3, 4);

% Display the results
disp('Matrix A:');
disp(A);
disp('Matrix B:');
disp(B);

輸出

Matrix A:
    0.8147    0.9134    0.2785
    0.9058    0.6324    0.5469
    0.1270    0.0975    0.9575

Matrix B:
    0.9649    0.9572    0.1419    0.7922
    0.1576    0.4854    0.4218    0.9595
    0.9706    0.8003    0.9157    0.6557

每次執行此程式時,元素的值都會隨機變化。

在MATLAB中連線矩陣

在MATLAB中,連線矩陣意味著將兩個或多個矩陣組合在一起,建立一個包含所有矩陣元素的單個大型矩陣。

當我們需要組合來自多個來源的資料時,連線矩陣是一個重要的操作。

在MATLAB中,我們可以進行水平連線和垂直連線。

水平連線矩陣

在MATLAB中,我們可以水平地組合或連線兩個矩陣,前提是這兩個矩陣的行數必須相同。

示例

下面的例子演示了水平連線或並排連線兩個矩陣的過程。

% MATLAB code to concatenate matrices horizontally
% Create sample matrices
A = [10, 20; 30, 40];
B = [50, 60; 70, 80];

% Concatenate matrices A and B horizontally
C = [A, B];

% Display the results
disp('Matrix A:');
disp(A);
disp('Matrix B:');
disp(B);
disp('Concatenated Matrix C:');
disp(C);

輸出

Matrix A:
    10    20
    30    40

Matrix B:
    50    60
    70    80

Concatenated Matrix C:
    10    20    50    60
    30    40    70    80

可以看出,矩陣C是矩陣A和B並排組合的矩陣。

垂直連線矩陣

我們可以垂直地連線或組合兩個或多個矩陣,前提是所有矩陣的列數必須相同。

示例

讓我們看一個例子來理解垂直連線兩個矩陣的過程。

% MATLAB code to concatenate matrices vertically
% Create sample matrices
A = [10, 20; 30, 40];
B = [50, 60; 70, 80];

% Concatenate matrices A and B vertically
C = [A; B];

% Display the results
disp('Matrix A:');
disp(A);
disp('Matrix B:');
disp(B);
disp('Concatenated Matrix C:');
disp(C);

輸出

Matrix A:
    10    20
    30    40

Matrix B:
    50    60
    70    80

Concatenated Matrix C:
    10    20
    30    40
    50    60
    70    80

此示例演示了垂直連線兩個矩陣的方法。

在MATLAB中擴充套件矩陣

透過新增額外的列或行來增加給定矩陣的大小或階數的過程稱為擴充套件矩陣。

當我們想要更改矩陣的形狀或儲存附加資料以執行特定操作時,擴充套件矩陣是一個有用的操作。

透過新增行擴充套件矩陣

我們可以透過向其中新增新行來垂直擴充套件現有矩陣。

示例

讓我們舉一個例子來理解向矩陣新增行以擴充套件它的方法。

% MATLAB code to add rows to a matrix
% Create a sample matrix
A = [10, 20; 30, 40];

% Display the matrix A before expanding
disp('Original Matrix A:');
disp(A);

% Specify new rows to be added
N = [50, 60; 70, 80];

% Add new rows to expand the matrix A
A = [A; N];

% Display matrix A after expansion
disp('Expended Matrix A:');
disp(A);

輸出

Original Matrix A:
    10    20
    30    40

Expended Matrix A:
    10    20
    30    40
    50    60
    70    80

透過新增列擴充套件矩陣

我們還可以透過向其中新增新列來擴充套件矩陣。下面的例子演示瞭如何透過向現有矩陣新增新列來擴充套件矩陣。

示例

% MATLAB code to add columns to a matrix
% Create a sample matrix
A = [10, 20; 30, 40];

% Display the matrix A before expanding
disp('Original Matrix A:');
disp(A);

% Specify new column to be added
N = [50; 60];

% Add new column to expand the matrix A
A = [A, N];

% Display matrix A after expansion
disp('Expended Matrix A:');
disp(A);

輸出

Original Matrix A:
    10    20
    30    40

Expended Matrix A:
    10    20    50
    30    40    60

結論

總之,建立、連線和擴充套件矩陣是MATLAB中可以使用的一些基本操作。這三種矩陣運算在工程、技術、科學、統計等各個領域都至關重要。理解建立、連線和擴充套件矩陣對於在各種資料分析任務中組織和運算元值資料非常重要。在本文中,我透過例子解釋了這三種操作。

更新於:2023年11月13日

瀏覽量:209

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告