在MATLAB中,數組是最基本的數據類型,幾乎所有的數據運算都涉及數組操作。下面是對MATLAB中數組的詳細解釋和操作示例:
數組的創建
-
一維數組(向量):
- 行向量:用方括號
[ ]
包含元素,元素之間用空格或逗號分隔。row_vector = [1 2 3 4 5]; % 用空格分隔 row_vector = [1, 2, 3, 4, 5]; % 用逗號分隔
- 列向量:用方括號
[ ]
包含元素,元素之間用分號分隔。column_vector = [1; 2; 3; 4; 5];
- 行向量:用方括號
-
二維數組(矩陣):
- 用方括號
[ ]
包含元素,元素之間用空格或逗號分隔,同一行元素之間用分號分隔。matrix = [1 2 3; 4 5 6; 7 8 9]; matrix = [1, 2, 3; 4, 5, 6; 7, 8, 9];
- 用方括號
-
空數組:
- 用一對空的方括號
[ ]
表示。empty_array = [];
- 用一對空的方括號
數組操作
-
數組的索引:
- MATLAB 中數組索引從 1 開始。
A = [10, 20, 30, 40, 50]; element = A(3); % 訪問第三個元素,結果為 30
- MATLAB 中數組索引從 1 開始。
-
數組的切片:
- 提取子數組的一部分。
A = [10, 20, 30, 40, 50]; sub_array = A(2:4); % 提取第二到第四個元素,結果為 [20, 30, 40]
- 提取子數組的一部分。
-
數組的修改:
- 修改數組中的某個元素。
A = [10, 20, 30, 40, 50]; A(3) = 35; % 修改第三個元素,結果為 [10, 20, 35, 40, 50]
- 修改數組中的某個元素。
-
數組的合并:
- 水平合并(列合并)。
A = [1, 2, 3]; B = [4, 5, 6]; C = [A, B]; % 結果為 [1, 2, 3, 4, 5, 6]
- 垂直合并(行合并)。
A = [1, 2, 3]; B = [4, 5, 6]; C = [A; B]; % 結果為 [1, 2, 3; 4, 5, 6]
- 水平合并(列合并)。
-
數組的基本運算:
- 數組加法。
A = [1, 2, 3]; B = [4, 5, 6]; C = A + B; % 結果為 [5, 7, 9]
- 數組乘法(點乘)。
A = [1, 2, 3]; B = [4, 5, 6]; C = A .* B; % 結果為 [4, 10, 18]
- 數組加法。
-
數組的轉置:
- 將行向量轉為列向量,或將列向量轉為行向量。
A = [1, 2, 3]; B = A'; % 結果為 [1; 2; 3]
- 將行向量轉為列向量,或將列向量轉為行向量。
示例代碼
以下是一個包含上述操作的綜合示例:
% 創建行向量和列向量
row_vector = [1 2 3 4 5];
column_vector = [1; 2; 3; 4; 5];% 創建矩陣
matrix = [1 2 3; 4 5 6; 7 8 9];% 訪問數組元素
element = row_vector(3);% 數組切片
sub_array = row_vector(2:4);% 修改數組元素
row_vector(3) = 35;% 合并數組
A = [1, 2, 3];
B = [4, 5, 6];
C_horz = [A, B];
C_vert = [A; B];% 數組運算
sum_array = A + B;
prod_array = A .* B;% 數組轉置
transposed_array = A';% 顯示結果
disp('行向量:'), disp(row_vector);
disp('列向量:'), disp(column_vector);
disp('矩陣:'), disp(matrix);
disp('第三個元素:'), disp(element);
disp('切片結果:'), disp(sub_array);
disp('修改后的行向量:'), disp(row_vector);
disp('水平合并:'), disp(C_horz);
disp('垂直合并:'), disp(C_vert);
disp('數組加法結果:'), disp(sum_array);
disp('數組點乘結果:'), disp(prod_array);
disp('轉置結果:'), disp(transposed_array);
通過上述示例代碼,你可以全面了解 MATLAB 中數組的創建、操作和基本運算。