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 |