本文已参与「新人创作礼」活动, 一起开启掘金创作之路。
常用数学函数
| 函数名称 | 用处 | 示例 |
|---|
| abs (x) | 求x的绝对值 | |
| Nthroot (x,n) | 求x的n次方实数根,函数的输出结果不能是复数。和( -2)^(1/3)的计算结果不同 | nthroot(-2, 3)ans = -1.2599(-2)^(1/3)ans =0.6300 + 1.09111 |
| sign(x) | 如果x大于0输出1如果x等于0输出0如果x小于0输出-1 | |
| sqrt(a) | 求a的平方根 | k=sqrt(4) k=2 |
| rem(a,b) | 求a/b的余 | |
| exp(x) | 计算e^x | |
| log(x) | 计算In(x) | |
| 1og10(x) | 计算1g(x)(有log2(x),但没有其它,其它只能间接求) | |
| size(a)/[b,c]=size(a) | 求矩阵a的行数与列数,得到一个[行数,列数]的矩阵或者b=行数,c=列数 | |
取整
| 函数名称 | 用处 | 示例 |
|---|
| 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 |
离散函数(公因公倍,阶乘组合)
| 函数名称 | 用处 | 示例 |
|---|
| actor (x) | 对x进行因式分解 | actor(12)ans=2 2 3 |
| gcd(x, y) | 找出x和y的最大公因数 | |
| 1cm(x; y) | 找出x和y的最小公倍数 | |
| rats(x) | 用分数表示x | rats(1.5)ans3/2 |
| factorial (x) | 计算x的阶乘(x<=170) | factorial (6)=6!=6x5x4x3x2x1=720 |
| nchoosek (n,k) | 计算n中选k的组合数 | |
| primes (x) | 找出小于x的素数 | |
| isprime (x) | 检查x是否为素数。若x是素数,则返回1;否则,返回0 | |
三角函数
| 函数名称 | 用处 | 示例 |
|---|
| sin(x) | x用弧度表示,计算x的正弦值 | |
| cos (x) | 计算x的余弦值x | |
| tan(x) | 计算x的正切值 | |
| asin(x) | x的取值在[-1,1]区间内,计算反正弦值 | |
| sinh(x) | x用弧度表示,计算x的双曲正弦值 | |
| asinh(x) | 计算x的反双曲正弦值 | |
| sind(x) | x用角的度数表示,计算x的正弦值 | |
| asind(x) | 计算反正弦,结果用角的度数表示 | |
最大最小值
| 函数名称 | 用处 | 示例 |
|---|
| max(x) | 1.得到矢量x的最大值,2.当x是矩阵,创建一个包含矩阵x中每列最大值的行矢量 | x=[1, 5, 3;2, 4, 6]:max(x)ans=2 5 6 |
| [a,b] = max(x) | 1.求矢量x中元素的最大值(a)和最大值的位置(b)2.若x是矩阵,此函数生成两个行矢量,一个行矢量表示x各列的最大值,另一个行矢量对应最大值元素在各列的位置 | |
| max(x,y) | 矩阵x和y具有相同的行和列,用两个矩阵中相同位置元素的最大值创建一个新的矩阵 | |
将max转换为min可得相应的min函数
平均,中间,众数
| 函数名称 | 用处 | 示例 |
|---|
| mean(x) | 矢量x的平均值,当x为矩阵时,返回值是含有各列平均值的行矢量 | |
| median(x) | 求矢量x元素的中间值,当x为矩阵时,返回值是含有各列中间值的行矢量 | |
| mode (x) | 求数组中出现次数最多的数,即众数。 | |
如果需要求行的平均数或其它,只需要将原有矩阵转置即可,需要的话最后再重新转置
求和与乘积
| 函数名称 | 用处 | 示例 |
|---|
| sum(x) | 求矢量x各元素之和,若x是矩阵,返回结果是包含各列元素之和的行矢量 | |
| prood(x) | 求矢量x元素的乘积,若x是矩阵,返回结果是包含各列元素乘积的行矢量 | |
| cumsum(x) | 求x元素的累加和,若x是矩阵,计算矩阵各列元素的累加和 | x= [1 5 3],cumsum(x) ans= [1 6 9] |
| cumprod(x) | 求x的累积,若x是矩阵,计算矩阵x各列元素的累积 | 设x= (1 53],cumprod(x) ans= [1 5 15] |
排序
| 函数名称 | 用处 | 示例 |
|---|
| sort(x) | 对矢量x按升序排序,若x是矩阵,则按列进行升序排序。(列顺序不变,在每列里升序排序) | x=[1,5,3;2,4, 6] x=sort(x) x=[1 4 3;2 5 6] |
| sort (x,'descend' ) | 各列按降序排序,若x是矩阵,则按列进行降序排序。 | |
| sortrows (x) | 以矩阵第一列数据为标准, 升序排序矩阵的各行。 | |
| sortrows(x, n) | 以矩阵第n列的数据为标准,按升序排序矩阵的各行 | |
标准差与反差
| 函数名称 | 用处 | 示例 |
|---|
| sta(x) | 计算矢量x的标准差。若x = [1 5 3],标准差是2,但标准差般只计算大规模数据集,或者计算矩阵各列数据的标准差 | |
| var (x) | 计算x的方差,设x= [1 5 3], 其方差是4,但方差般只计算大规模数据集,而且标准差是方差的平方根 | |
随机数获取
| 函数名称 | 用处 | 示例 |
|---|
| rand(x) | 产生一个0到1区间内的n*n的均匀随机数矩阵 | |
| rand(m, n) | 产生一个0到1区间内的m x n的均匀随机数矩阵 | |
| randn (n) | 产生一个均值为0,方差为1的n x n的高斯随机数矩阵 | |
| randn(m, n) | 产生一个均值为0,方差为1的m x n的高斯随机数矩阵 | |
复数
| 函数名称 | 用处 | 示例 |
|---|
| 直接输入 | | A=3+2i |
| complex(a,b) | 产生复数a+bi | |
| real(x) | 输出复数x的实部 | |
| imag(x) | 输出复数x的虚部 | |
| isreal(x) | 判断x是不是实数,是输出1,复数输出0 | |
| coni(x) | 获得x的共轭复数 | |
| angle(x) | 当复数用极坐标表示时,计算半径与水平方向的夹角 | |
| abs(x) | 用勾股定理计算复数的模(或实数的绝对值)。在极坐标系中复数的模等于半径。 | |
复数通常用直角坐标上的点来表示,横坐标表示实部,纵坐标表示虚部。
计算极限
| 函数名称 | 用处 | 示例 |
|---|
| reaImax | 返回MATLAB能够使用的最大浮点数 | |
| realmin | 返回MATLAB能够使用的最小浮点数 | |
| intmax | 返回MATLAB能够使用的最大整数 | |
| intmin | 返回MATL AB能够使用的最小整数 | |
辅助功能
| 函数名称 | 用处 | 示例 |
|---|
| Inf | 无穷大,数据溢出或除数为0时的输出 | |
| NaN | 非数,当计算没有被定义时发生 | |
| clock | 获得当前时间,返回有六个数的数组[年、月、日、时、分、秒].,为了增加可读性,函数clock常和函数fix起使用,函数fix实现取整功能,可以得到format bank 格式的输出结果 | |
| date | 获得当前日期。该函数与clock类似,不同之处在于返回的日期采用字符串格式 | |
| eps | 最接近1的双精度浮点数与1的距离,即MATLAB中的最小极限 | |