Matlab 是矩阵实验室(Matrix Laboratory)的英文缩写,是用于科学与工程计算的工具。Matlab 提供了许多常用的数学函数,本文主要介绍 Matlab 与初等函数、取整、离散数学和复数相关的函数。
目录
[1 初等函数](#1 初等函数)
[2 取整函数](#2 取整函数)
[3 离散数学](#3 离散数学)
[4 三角函数](#4 三角函数)
[5 复数函数](#5 复数函数)
1 初等函数
Matlab 常用的数学函数包括绝对值函数、指数函数、对数函数等。以下函数输入变量 x 既可以是标量,也可以是矩阵。
|---------------|-----------------------------------------------|------------------------------|
| 函数        | 说明                                        | 示例                       |
| abs(x)        | 求 x 的绝对值                                      | abs(-3) ans = 3              |
| sqrt(x)       | 求 x 的平方根                                      | sqrt(85) ans = 9.2195        |
| Nthroot(x, n) | 求 x 的 n 次方实数根,但是结果不为复数                        | Nthroot(-2, 3) ans = -1.2599 |
| sign(x)       | 符号函数,x 大于 0 时输出 1,x 等于 0 时输出 0, x 小于 0 时输出 -1 | sign(-8) ans = -1            |
| rem(x, y)     | 求 x 除以 y 的余数                                  | rem(25, 4) ans = 1           |
| exp(x)        | 计算 x 的 e 次幂                                   | exp(10) ans = 2.2026e + 004  |
| log(x)        | 计算 x 的自然对数(底为 e)                              | log(10) ans = 2.3026         |
| log10(x)      | 计算 x 的常用对数(底为 10)                             | log10(10) ans = 1            |
2 取整函数
Matlab 中有几种不同的取整函数,最常用的是 round() 函数,即根据实际情况取近似值。
|----------|---------------|----------------------|
| 函数   | 说明        | 示例               |
| round(x) | 对 x 四舍五入      | round(8.6) ans = 9   |
| fix(x)   | 对 x 取整,舍弃小数部分 | fix(8.6) ans = 8     |
| floor(x) | 对 x 负向取整      | floor(-8.6) ans = -9 |
| ceil(x)  | 对 x 正向取整      | ceil(-8.6) ans = -8  |
3 离散数学
Matlab 提供了中学代数里的因式分解、求最大公因数、最小公因数等函数,此外还有统计学和概率论中的阶乘运算。
|----------------|----------------|---------------------------|
| 函数         | 说明         | 示例                    |
| factor(x)      | 对 x 进行因式分解     | factor(12) ans = 2 2 3    |
| gcd(x, y)      | 求 x 和 y 的最大公因数 | gcd(10, 15) ans = 5       |
| lcm(x, y)      | 求 x 和 y 的最小公倍数 | lcm(2, 5) ans = 10        |
| rats(x)        | 用分数表示 x        | rats(1.5) ans = 3/2       |
| factorial(x)   | 计算 x 的阶乘       | factorial(6) ans = 720    |
| nchoosek(n, k) | 计算 n 选 k 的组合数  | nchoosek(10, 3) ans = 120 |
4 三角函数
Matlab 提供所有标准三角函数和双曲三角函数,大部分使用弧度制。
|----------|----------------------|------------------------|
| 函数   | 说明               | 示例                 |
| sin(x)   | 计算 x 的正弦值,x 用弧度制表示   | sin(0) ans = 0         |
| cos(x)   | 计算 x 的余弦值,x 用弧度制表示   | cos(pi) ans = -1       |
| tan(x)   | 计算 x 的正切值,x 用弧度制表示   | tan(pi) ans = -1.2246  |
| asin(x)  | 计算 x 的反正弦值           | asin(-1) ans = -1.5708 |
| sinh(x)  | 计算 x 的双曲正弦值,x 用弧度制表示 | sinh(pi) ans = 11.5487 |
| asinh(x) | 计算 x 的反双曲正弦值         | asinh(1) ans = 0.8814  |
| sind(x)  | 计算 x 的正弦值,x 用角度值表示   | sind(90 ans = 1        |
| asind(x) | 计算 x 的反正弦值,结果用角度值表示  | asind(1) ans = 90      |
5 复数函数
Matlab 支持复数及复数运算,可以直接输入复数创建复数,也可以使用 complex() 函数,虚数单位用 i 表示。
|---------------|------------------------------|------------------------------------|
| 函数        | 说明                       | 示例                             |
| abs(x)        | 计算复数 x 的模                    | abs(3 + 4i) ans = 5                |
| angle(x)      | 计算复数 x 的辐角主值                 | angle(3+ 4i) ans = 0.9273          |
| complex(x, y) | 创建一个实部为 x,虚部为 y 的复数          | complex(3, 4) ans = 3.000 + 4.000i |
| real(x)       | 求复数 x 的实部                    | real(3 + 4i) ans = 3               |
| imag(x)       | 求复数 x 的虚部                    | imag(3 + 4i) ans = 4               |
| isreal(x)     | 判断 x 是否为实数,x 为实数时返回 1,否则返回 0 | isreal(3 + 4i) ans = 0             |
| conj(x)       | 求复数 x 的共轭复数                  | conj(3 + 4i) ans = 3.000 - 4.000i  |