### MATLAB常用命令详解
#### 一、基础操作与文件管理
**1. 文件与目录管理命令:**
- **`dir`**: 查看当前工作目录下的所有文件和子目录。
- **`!dir & dos`**: 类似于在Windows命令行中输入`dir`命令,可以查看当前目录的信息,并且展示更多细节,如文件大小、修改时间等。
**2. 工作空间管理命令:**
- **`who`**: 显示当前工作空间中的变量名称。
- **`whos`**: 显示当前工作空间中所有变量的详细信息,包括变量名、类型、大小、字节数等。
**3. 命令历史与编辑功能:**
- **`Ctrl+P`**: 显示前一条命令。
- **`Ctrl+N`**: 显示下一条命令。
- **`Ctrl+B`**: 向前移动一个字符。
- **`Ctrl+F`**: 向后移动一个字符。
- **`Ctrl+L`**: 清除屏幕内容。
- **`Ctrl+A`**: 移动到行首。
- **`Ctrl+E`**: 移动到行尾。
- **`Esc` 或 `Ctrl+U`**: 清除当前行内容。
- **`Del` 或 `Ctrl+D`**: 删除光标后的字符。
- **`Backspace` 或 `Ctrl+H`**: 删除光标前的字符。
- **`Ctrl+K`**: 删除光标后的所有内容。
**4. 清屏命令:**
- **`clc`**: 清除命令窗口中的内容,但不会清除工作空间中的变量。
#### 二、数学函数与运算
**1. 基本数学运算符:**
- 加法 `+`, 减法 `-`, 乘法 `*`, 除法 `/`, 余数 `mod(x,y)`, 幂 `^`
- **转置操作:**
- 矩阵转置 `.’`
- 复数矩阵共轭转置 `’`
**2. 数学函数:**
- **三角函数及其反函数:**
- 正弦 `sin()`, 余弦 `cos()`, 正切 `tan()`
- 反正弦 `asin()`, 反余弦 `acos()`, 反正切 `atan()`
- 正弦(角度) `sind()`, 余弦(角度) `cosd()`, 正切(角度) `tand()`
- 反正弦(角度) `asind()`, 反余弦(角度) `acosd()`, 反正切(角度) `atand()`
- **指数与对数函数:**
- 指数函数 `exp()`, 自然对数 `log()`, 以10为底的对数 `log10()`
- **其他数学函数:**
- 开方 `sqrt()`, 实数开方 `realsqrt()`, 绝对值 `abs()`, 相位角 `angle()`
**3. 常量:**
- 圆周率 `pi`, 虚数单位 `i` 和 `j`, 正无穷大 `Inf`, 非数字 `NaN`, 浮点精度 `eps`
**4. 矩阵与向量操作:**
- 创建向量或矩阵:
- 空向量或空矩阵 `[]`
- 全1矩阵 `ones()`, 全0矩阵 `zeros()`, 单位矩阵 `eye()`
- 对角矩阵 `diag()`, 魔方矩阵 `magic()`, 随机矩阵 `rand()`, 正态分布随机矩阵 `randn()`
- 随机排列向量 `randperm()`
- 拼接矩阵:
- 水平拼接 `horzcat(C=[A,B])` 或 `cat(2,A,B)`
- 垂直拼接 `vertcat(C=[A;B])` 或 `cat(1,A,B)`
- 重复矩阵 `repmat(M,v,h)`
- 块对角矩阵 `blkdiag(A,B,...)`
- 获取矩阵属性:
- 矩阵长度 `length()`, 维度 `ndims()`, 元素个数 `numel()`, 大小 `[rows,cols]=size(A)`
- 矩阵变换:
- 重塑 `reshape(A,newsize)`
- 旋转90度 `rot90()`
- 翻转 `fliplr()`, `flipud()`
- 转置 `transpose()`, 共轭转置 `ctranspose()`
- 矩阵分解:
- Cholesky分解 `chol()`, 不完整Cholesky分解 `cholinc()`
- LU分解 `lu()`, 不完整LU分解 `luinc()`
- QR分解 `qr()`
- Kronecker积 `kron(A,B)`
**5. 矩阵运算:**
- **求逆:**
- 一般逆矩阵 `inv(A)`
- 矩阵的行列式 `det(A)`
- 矩阵迹 `trace(A)`
- 矩阵范数 `norm(A,p)`
- **特征值与特征向量:**
- 特征值 `eig(A)`
- 特征值与特征向量 `eig(A)` 或 `[V,D]=eig(A)`
- Schur分解 `schur(A)`
- **多项式运算:**
- 多项式的乘法 `conv()`
- 多项式的除法 `deconv()`
- 构建多项式 `poly()`
- 求解多项式 `roots()`
- 求多项式导数 `polyder()`
- 多项式的积分 `polyint()`
- 多项式的值 `polyval()`
- 多项式的矩阵值 `polyvalm()`
- 多项式的系数 `polyfit()`
**6. 插值与拟合:**
- **一维插值:**
- 最近邻插值 `interp1(...,'nearest')`
- 线性插值 `interp1(...,'linear')`
- 三次样条插值 `interp1(...,'spline')`
- 保留形状插值 `interp1(...,'pchip')`
- **二维插值:**
- 双线性插值 `interp2(...)`
- **数据拟合:**
- 多项式拟合 `polyfit(x,y,n)`
- 多项式导数 `polyder(a,b)`
**7. 优化与数值分析:**
- **最小化函数:**
- 一维函数最小化 `fminbnd()`
- 多维无约束最小化 `fminsearch()`
- 一维函数零点 `fzero()`
- **根查找:**
- 根查找 `roots(p)`
#### 三、图形绘制
**1. 绘图命令:**
- **二维绘图:**
- `plot()` 用于绘制二维曲线。
- `fplot()` 用于绘制函数图形。
- **三维绘图:**
- `plot3()` 用于绘制三维曲线。
这些命令和函数覆盖了MATLAB中最常用的数学和图形处理功能。掌握它们可以帮助用户高效地进行数据分析、算法开发以及科学研究。通过合理组合这些命令,可以解决各种实际问题并进行高级计算任务。