文章目錄
- 前言
- 環境配置
- 1. 數據結構本質
- 2. 運算規則
- (1)基本運算
- (2)特殊運算
- 3. 函數與操作
- 4. 高維支持
- 5. 創建方式
前言
在 MATLAB 中,矩陣(Matrix) 和 數組(Array) 的概念既有聯系又有區別,主要體現在以下幾個方面。
環境配置
MATLAB下載安裝教程:https://blog.csdn.net/2501_91538706/article/details/147232213
1. 數據結構本質
- 矩陣(Matrix)
是二維的數組,即行數和列數明確的二維結構。
嚴格遵循線性代數的規則,例如矩陣乘法要求左矩陣的列數等于右矩陣的行數。 - 數組(Array)
是更通用的數據結構,可以是任意維度(一維、二維、三維…)。
二維數組可以看作矩陣的擴展,而高維數組(如三維數組)則無法用矩陣直接表示。
2. 運算規則
(1)基本運算
- 矩陣運算:遵循線性代數規則,使用標準運算符(如 *、/、^)。
A = [1 2; 3 4];
B = [5 6; 7 8];
C = A * B; % 矩陣乘法:[19 22; 43 50]
- 數組運算:按元素執行操作,使用點運算符(如 .*、./、.^)。
A = [1 2; 3 4];
B = [5 6; 7 8];
C = A .* B; % 元素-wise乘法:[5 12; 21 32]
(2)特殊運算
- 矩陣轉置:使用單引號 '。
A = [1 2; 3 4];
A’ % 結果:[1 3; 2 4]
- 數組轉置:對于復數數組,需用 .‘’ 避免共軛。
A = [1+1i, 2+2i];
A.’ % 非共軛轉置:[1+1i; 2+2i]
3. 函數與操作
- 矩陣專用函數:
inv(A):矩陣求逆
det(A):行列式計算
eig(A):特征值與特征向量 - 數組通用函數:
size(A):返回各維度大小(如 [2 3] 表示 2 行 3 列)
reshape(A, m, n):重構數組維度
cat(dim, A, B):沿指定維度拼接
4. 高維支持
- 矩陣:僅支持二維(行 × 列)。
- 數組:支持任意維度(如三維數組 A(2,3,4) 表示 2×3×4 的立方體結構)。
示例:創建三維數組
A = rand(2, 3, 4); % 創建2×3×4的隨機數組
5. 創建方式
- 矩陣創建:
A = [1 2; 3 4]; % 直接創建二維矩陣
- 數組創建:
A = [1 2 3]; % 一維數組(行向量)
B = rand(2,3,4); % 三維數組
- 優先使用數組:MATLAB 中數組是更通用的數據結構,支持向量化運算,代碼更簡潔高效。
- 僅在必要時用矩陣:當明確需要線性代數運算(如矩陣求逆、特征值計算)時使用矩陣。