MATLAB常用函数的介绍及部分示例

400 阅读5分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

常用数学函数

函数名称用处示例
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)用分数表示xrats(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中的最小极限