@toc
矩阵类、向量类、立方体类和字段类
| 函数名 | 功能介绍 |
|---|---|
| Mat, mat, cx_mat | 密集矩阵类 |
| Col, colvec, vec | 密集列向量类 |
| Row, rowvec | 密集行向量类 |
| Cube, cube, cx_cube | 密集立方体类(“3D 矩阵”) |
| field | 类,用于在类似矩阵或类似立方体的布局中存储任意对象 |
| SpMat, sp_mat, sp_cx_mat | 稀疏矩阵类 |
| operators | + − * % / == != <= >= < > && |
成员函数和变量
| 函数名 | 功能介绍 |
|---|---|
| attributes | .n_rows、.n_cols、.n_elem、.n_slices…… |
| element access | 通过 ()、[] 和 .at() 访问元素/对象 |
| element initialisation | 通过初始值列表设置元素 |
| .zeros | 将所有元素设置为零 |
| .ones | 将所有元素设置为一个 |
| .eye | 将沿主对角线的元素设置为 1,将非对角线元素设置为零 |
| .randu / .randn | 将所有元素设置为随机值 |
| .fill | 将所有元素设置为指定值 |
| .imbue | 使用函子或 lambda 函数提供的值填充(填充) |
| .clean | 将阈值以下的元素替换为零 |
| .replace | 将特定元素替换为新值 |
| .clamp | 将值限制到下限和上限 |
| .transform | 通过 Functor 或 Lambda 函数转换每个元素 |
| .for_each | 将函子或 lambda 函数应用于每个元素 |
| .set_size | 在不保留元素的情况下更改大小(快速) |
| .reshape | 在保留元素的同时更改大小 |
| .resize | 在保留元素和保留布局的同时更改大小 |
| .copy_size | 将大小更改为与给定对象相同 |
| .reset | 将大小更改为空 |
| submatrix views | 对连续和非连续子矩阵的读/写访问 |
| subcube views | 对连续和非连续子多维数据集的读/写访问 |
| subfield views | 对连续子字段的读/写访问权限 |
| .diag | 对矩阵对角线的读/写访问 |
| .each_col / .each_row | 应用于矩阵的每一列/每行的向量运算(又名“广播”) |
| .each_slice | 应用于每个立方体切片的矩阵操作(又名“广播”) |
| .set_imag / .set_real | 设置虚部/实部 |
| .insert_rows / cols / slices | 在指定的行/列/切片处插入向量/矩阵/立方体 |
| .shed_rows / cols / slices | 删除指定的行/列/切片 |
| .swap_rows / cols | 交换指定的行或列 |
| .swap | 与给定对象交换内容 |
| .memptr | 指向内存的原始指针 |
| .colptr | 指向指定列使用的内存的原始指针 |
| iterators (matrices) | 密集矩阵和向量的迭代器和关联成员函数 |
| iterators (cubes) | 多维数据集的迭代器和关联的成员函数 |
| iterators (sparse matrices) | 稀疏矩阵的迭代器和关联成员函数 |
| iterators (submatrices) | 子矩阵和子立方体的迭代器和关联成员函数 |
| compat. container functions | 兼容性容器函数 |
| .as_col / .as_row | 将扁平化矩阵作为列或行向量返回 |
| .col_as_mat / .row_as_mat | 返回多维数据集列或多维数据集行的矩阵表示形式 |
| .t / .st | 返回矩阵转置 |
| .i | 返回方阵的倒数 |
| .min / .max | 返回极值 |
| .index_min / .index_max | 极值的返回指数 |
| .eval | 延迟表达的力评估 |
| .in_range | 检查给定的位置或跨度是否有效 |
| .is_empty | 检查对象是否为空 |
| .is_vec | 检查矩阵是否为向量 |
| .is_sorted | 检查向量或矩阵是否排序 |
| .is_trimatu / .is_trimatl | 检查矩阵是否为上/下三角形 |
| .is_diagmat | 检查矩阵是否对角线 |
| .is_square | 检查矩阵是否为正方形 |
| .is_symmetric | 检查矩阵是否对称 |
| .is_hermitian | 检查矩阵是否为厄米特 |
| .is_sympd | 检查矩阵是否对称/厄米特正定 |
| .is_zero | 检查是否所有元素都为零 |
| .is_finite | 检查所有元素是否都是有限的 |
| .has_inf | 检查是否有任何元素是±无穷大 |
| .has_nan | 检查是否有任何元素是 NaN |
| 将对象打印到 std::cout 或用户指定的流 | |
| .raw_print | 不带格式的打印对象 |
| .brief_print | 以缩短/删节形式打印对象 |
| .save/.load (matrices & cubes) | 保存/加载文件或流中的矩阵和多维数据集 |
| .save/.load (fields) | 保存/加载文件或流中的字段 |
生成的向量/矩阵/立方体
| 函数名 | 功能介绍 |
|---|---|
| linspace | 生成具有线性间距元素的向量 |
| logspace | 生成具有对数间隔元素的向量 |
| regspace | 生成具有规则间隔元素的矢量 |
| randperm | 生成具有整数序列随机排列的向量 |
| eye | 生成身份矩阵 |
| ones | 生成充满 ones 的对象 |
| zeros | 生成充满零的对象 |
| randu | 生成具有随机值的对象(均匀分布) |
| randn | 生成具有随机值(正态分布)的对象 |
| randg | 生成具有随机值的对象(伽马分布) |
| randi | 在指定时间间隔内生成具有随机整数值的对象 |
| speye | 生成稀疏单位矩阵 |
| spones | 生成非零元素设置为 1 的稀疏矩阵 |
| sprandu / sprandn | 生成将非零元素设置为随机值的稀疏矩阵 |
| toeplitz | 生成 Toeplitz 矩阵 |
向量/矩阵/立方体的函数
| 函数名 | 功能介绍 |
|---|---|
| abs | 获取每个元素的大小 |
| accu | 累积(求和)所有元素 |
| affmul | 仿射矩阵乘法 |
| all | 检查所有元素是否都为非零,或满足关系条件 |
| any | 检查任何元素是否为非零,或是否满足关系条件 |
| approx_equal | 近似相等 |
| arg | 每个元件的相位角 |
| as_scalar | 将 1×1 矩阵转换为纯标量 |
| clamp | 根据给定的限值获得夹紧元件 |
| cond | 矩阵的条件数 |
| conj | 获得每个元素的复数共轭 |
| conv_to | 在矩阵类型之间转换/转换 |
| cross | 矢积 |
| cumsum | 累计总和 |
| cumprod | 累计产品 |
| det | 决定因素 |
| diagmat | 从给定矩阵或向量生成对角矩阵 |
| diagvec | 提取指定的对角线 |
| diags / spdiags | 从给定的向量集生成波段矩阵 |
| diff | 相邻元素之间的差异 |
| dot / cdot / norm_dot | 点产品 |
| eps | 获取每个元素到下一个最大浮点表示的距离 |
| expmat | 矩阵指数 |
| expmat_sym | 对称矩阵的矩阵指数 |
| find | 查找非零元素或满足关系条件的元素的索引 |
| find_finite | 查找有限元的索引 |
| find_nonfinite | 查找非有限元的索引 |
| find_nan | 查找 NaN 元素的索引 |
| find_unique | 查找唯一元素的索引 |
| fliplr / flipud | 从左向右或倒置翻转矩阵 |
| imag / real | 提取虚部/实部 |
| ind2sub | 将线性索引转换为下标 |
| index_min / index_max | 极值指数 |
| inplace_trans | 就地转置 |
| intersect | 在两个向量/矩阵中查找公共元素 |
| join_rows / join_cols | 矩阵的串联 |
| join_slices | 立方体的串联 |
| kron | Kronecker 张量积 |
| log_det | 对数行列式 |
| log_det_sympd | 对称正定矩阵的对数行列式 |
| logmat | 矩阵对数 |
| logmat_sympd | 对称矩阵的矩阵对数 |
| min / max | 返回极值 |
| nonzeros | 返回非零值 |
| norm | 向量和矩阵的各种范数 |
| norm2est | 矩阵 2 范数的快速估计 |
| normalise | 将向量归一化为单位 p 范数 |
| pow | 元件功率 |
| powmat | 矩阵功率 |
| prod | 元素的乘积 |
| rank | 矩阵的排名 |
| rcond | 倒数条件数 |
| repelem | 复制元素 |
| repmat | 以块状方式复制矩阵 |
| reshape | 在保留元素的同时更改大小 |
| resize | 在保留元素和保留布局的同时更改大小 |
| reverse | 元素的顺序相反 |
| roots | 多项式的根 |
| shift | Shift 元素 |
| shuffle | 随机播放元素 |
| size | 获取给定对象的尺寸 |
| sort | 对元素进行排序 |
| sort_index | 描述元素排序顺序的向量 |
| sqrtmat | 矩阵的平方根 |
| sqrtmat_sympd | 对称矩阵的平方根 |
| sum | 元素总和 |
| sub2ind | 将下标转换为线性索引 |
| symmatu / symmatl | 从给定矩阵生成对称矩阵 |
| trace | 对角线元素的总和 |
| trans | 矩阵的转置 |
| trapz | 梯形数值积分 |
| trimatu / trimatl | 复制上/下三角形零件 |
| trimatu_ind / trimatl_ind | 获取上/下三角形部分的分度 |
| unique | 返回唯一元素 |
| vecnorm | 获取矩阵中每一行或每一列的向量范数 |
| vectorise | 将矩阵展平为向量 |
| misc functions | 其他元素函数:exp、log、sqrt、round、sign、… |
| trig functions | 三角元素函数:cos、sin、tan、… |
分解、因式分解、逆和方程求解器(密集矩阵)
| 函数名 | 功能介绍 |
|---|---|
| chol | Cholesky 分解 |
| eig_sym | 致密对称/厄米特矩阵的特征分解 |
| eig_gen | 致密一般方阵的特征分解 |
| eig_pair | 一对一般致密方形矩阵的特征分解 |
| hess | 上黑森堡分解 |
| inv | 一般方阵的逆 |
| inv_sympd | 对称正定矩阵的逆 |
| lu | 下-上分解 |
| null | 零空间的正交基 |
| orth | 范围空间的正交基 |
| pinv | 伪逆/广义逆 |
| qr | QR分解 |
| qr_econ | 经济的QR分解 |
| qz | 广义舒尔分解 |
| schur | Schur 分解 |
| solve | 求解线性方程组 |
| svd | 奇异值分解 |
| svd_econ | 经济奇异值分解 |
| syl | 西尔维斯特方程求解器 |
分解、因式分解和方程求解器(稀疏矩阵)
| 函数名 | 功能介绍 |
|---|---|
| eigs_sym | 稀疏对称实矩阵的特征值和特征向量数量有限 |
| eigs_gen | 稀疏一般方阵的特征值和特征向量数量有限 |
| svds | 截断的SVD:有限数量的奇异值和稀疏矩阵的奇异向量 |
| spsolve | 求解稀疏线性方程组 |
| spsolve_factoriser | 用于求解稀疏线性方程组的因式分解器 |
| 信号和图像处理 | |
| conv | 一维卷积 |
| conv2 | 2D 卷积 |
| fft / ifft | 一维快速傅里叶变换及其逆变换 |
| fft2 / ifft2 | 二维快速傅里叶变换及其逆变换 |
| interp1 | 一维插值 |
| interp2 | 2D 插值 |
| polyfit | 求多项式系数进行数据拟合 |
| polyval | 计算多项式 |
统计与聚类
| 函数名 | 功能介绍 |
|---|---|
| stats functions | 均值、中位数、标准差、方差 |
| cov | 协方差 |
| cor | 相关 |
| hist | 计数直方图 |
| histc | 具有用户指定边的计数直方图 |
| quantile | 数据集的分位数 |
| princomp | 主成分分析(PCA) |
| normpdf | 正态分布的概率密度函数 |
| log_normpdf | 正态分布概率密度函数的对数版本 |
| normcdf | 正态分布的累积分布函数 |
| mvnrnd | 来自多元正态分布的随机向量 |
| chi2rnd | 来自卡方分布的随机数 |
| wishrnd | 来自 Wishart 分布的随机矩阵 |
| iwishrnd | 来自逆 Wishart 分布的随机矩阵 |
| running_stat | 运行标量统计(一维过程/信号) |
| running_stat_vec | 运行向量统计(多维过程/信号) |
| kmeans | 将数据聚类到不相交的集合中 |
| gmm_diag/gmm_full | 基于高斯混合模型的概率聚类和似然计算 |
杂项
| 函数名 | 功能介绍 |
|---|---|
| constants | pi、inf、NaN、eps、光速…… |
| wall_clock | 用于测量经过秒数的计时器 |
| RNG seed setting | 用于更改 RNG 种子的函数 |
| output streams | 用于打印警告和错误的流 |
| uword / sword | 无符号整数和有符号整数的简写 |
| cx_double / cx_float | std::complex 和 std::complex |
| Matlab/Armadillo syntax differences | Matlab 语法和概念上对应的 Armadillo 语法的示例 |
| example program | 简短的示例程序 |
| config.hpp | 配置选项 |
| API additions | API 稳定性和 API 添加列表 |