MATLAB 矩阵核心操作:创建、索引引用、子矩阵提取、行列删除、拼接与基本运算
矩阵是二维数组,按行输入元素,行间用分号分隔。
创建矩阵
a = [1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8] % 4 行 5 列
元素引用
A(m,n)— 第 m 行第 n 列元素A(:,n)— 第 n 列所有行(列向量)A(m,:)— 第 m 行所有列(行向量)A(:,m:n)— 第 m 到 n 列子矩阵A(p:q, m:n)— 行 p-q、列 m-n 子矩阵
示例
a = [1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a(2,5) % 6 v = a(:,4) % [4;5;6;7] a(:,2:3) % 列 2-3 子矩阵 sa = a(2:3,2:4) % 内部子矩阵 [3 4 5; 4 5 6]
删除行/列
赋空数组 [] 即可删除:
a(4,:) = [] % 删除第 4 行 a(:,5) = [] % 删除第 5 列
行复制构造新矩阵
a = [1 2 3; 4 5 6; 7 8 9]; new_mat = a([2,3,2,3], :) % 第 2,3,2,3 行 → 4x3 矩阵 new_mat = [4 5 6; 7 8 9; 4 5 6; 7 8 9]
矩阵基本运算
| 运算 | 语法/函数 | 说明 |
|---|---|---|
| 加减法 | A + B, A - B | 同尺寸逐元素 |
| 矩阵乘法 | A * B | 线性代数乘法,列=行 |
| 数组乘法 | A .* B | 同尺寸逐元素乘积 |
| 矩阵除法 | A \ B, A / B | 求解线性方程组 |
| 数组除法 | A ./ B, A .\ B | 逐元素除法 |
| 标量运算 | k * A, A + k | 标量与每元素运算 |
| 转置 | A.', A' | 非共轭/共轭转置 |
| 拼接 | [A, B], [A; B] | 水平/垂直拼接 |
| 行列式 | det(A) | 方阵行列式 |
| 逆矩阵 | inv(A) | 方阵逆(非奇异) |
| 伪逆 | pinv(A) | 广义逆(任意矩阵) |
| 秩 | rank(A) | 矩阵秩 |
| 特征值/向量 | eig(A) | 方阵特征分解 |
示例:矩阵乘法与逆
A = [1 2; 3 4]; B = [5 6; 7 8]; C = A * B % [19 22; 43 50] Ainv = inv(A) % [-2 1; 1.5 -0.5] A * Ainv % 单位矩阵
MATLAB
- MATLAB 入门指南:矩阵实验室的核心能力与应用领域全景
- MATLAB 基础语法速成:交互计算、变量、运算符、格式控制与注释
- MATLAB 变量深度解析:矩阵本质、赋值、多重赋值、查看与清理、长赋值、格式控制、向量创建
- MATLAB 常用命令速查:会话管理、系统操作、输入输出、矩阵数组、绘图可视化
- MATLAB 数据类型完全指南:15 种基本类型、转换函数与类型判断函数速查表
- MATLAB 运算符大全:矩阵/数组算术、关系、逻辑、位运算、集合运算详解
- MATLAB 向量完全指南:行/列向量创建、索引引用、切片、核心运算操作
- MATLAB 多维数组与特殊数组完全指南
- MATLAB 冒号运算符详解:向量创建与高效迭代
- MATLAB 数值类型详解:存储、转换与范围查询
- MATLAB 字符串完全指南:创建、拼接、元胞数组与常用函数
- MATLAB 函数详解:定义、工作区、输入输出与多种函数类型