目录

常见数学函数

矩阵的超越函数

1.矩阵平方根

2.矩阵对数

3.矩阵指数

4.普通矩阵函数


常见数学函数

MATLAB提供许多数学函数,函数的自变量规定为矩阵变量,运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量具有相同维数和大小的矩阵,即结果矩阵与自变量矩阵同型。

>>A=[4,2;3,6]

A =

     4     2
     3     6

>>B=sqrt(A)

B =

    2.0000    1.4142
    1.7321    2.4495

>>C=sin(A)

C =

   -0.7568    0.9093
    0.1411   -0.2794

常见数学函数

函数名

功能

函数名

功能

sin/sind

正弦,输入值为弧度/角度

abs

绝对值

cos/cosd

余弦,输入值为弧度/角度

rem

求余

tan/tand

正切,输入值为弧度/角度

mod

求模

asin/asind

f反正弦,输入值为弧度/角度

fix

向0取整

acos/acosd

反余弦,输入值为弧度/角度

floor

向下取整

atan/atand

反正切,输入值为弧度/角度

ceil

向上取整

sinh/asinh

双曲正弦/反双曲正弦

round

四舍五入

cosh/acosh

双曲余弦/反双曲余弦

sign

符号函数

tanh/atanh

双曲正切/反双曲正切

gcd

最大公约数

sqrt

平方根

lcm

最小公倍数

log

自然对数

factorial

阶乘

log10

常用对数

isprime

判断是否为素数

log2

以2为底的对数函数

primes

生成素数列表

exp

自然指数

perms

生成所以排列

pow2

2的幂

randperm

生成任意排列

sin(60)

ans =

   -0.3048

sin(60*pi/180)

ans =

    0.8660

sind(60)

ans =

    0.8660

abs(-4)

ans =

     4

abs(3+4i)

ans =

     5


abs('a')

ans =

    97

 
abs('\0')

ans =

    92    48

>> round(4.5)

ans =

     5

>> round(4.1)

ans =

     4

>> sign(1)

ans =

     1

>> sign(0)

ans =

     0

>> sign(-1)

ans =

    -1

>> gcd(2,4)

ans =

     2

>> gcd(3,7)

ans =

     1

>> lcm(2,4)

ans =

     4

>> lcm(2,4,8)
错误使用 lcm
输入参数太多。
 
>> gcd(2,3,4)
错误使用 gcd
输入参数太多。
 
>> factorial(4)

ans =

    24

>> isprime(3)

ans =

     1

>> isprime(4)

ans =

     0
 
>> primes(100)

ans =

  1 至 19 列

     2     3     5     7    11    13    17    19    23    29    31    37    41    43    47    53    59    61    67

  20 至 25 列

    71    73    79    83    89    97


>> randperm(4)

ans =

     3     1     2     4

>> fix(-0.5)

ans =

     0

>> fix(1.4)

ans =

     1

>> floor(4.5)

ans =

     4

>> floor(0)

ans =

     0

>> floor(-0.5)

ans =

    -1

>> ceil(1.5)

ans =

     2

>> ceil(-0.5)

ans =

     0

函数使用说明:

(1) abs函数可以求实数的绝对值、复数的模、字符的ASCII值。

(2) 求余rem运算和求模mod运算有相同的地方、也有不同的地方。

对于整数a、b来说,求余rem和求模mod运算的方法

step1:先求整数商c=a/b

step2:求余数或模 r=a-c*b

区别:主要区别在于对负整数进行除法运算时的操作不同

求余运算在取c值的时候时,向0取整(fix) ;

求模运算在取c值的时候时,向下取整(floor)

当b0时,rem(a,b)=a-b.*fix(a./b),而mod(a,b)=a-b.*floor(a./b);

当b=0时,rem(a,0)=NaN,而mod(a,0)=a

当a、b符号相同时,rem(a,b)=mod(a,b);

当a、b符号相反时,mod(a,b)=rem(a,b)+b

rem(a,b)的符号与a相同;

mod(a,b)的符号与b相同

例;rem(7,4)=mod(7,4)=3;rem(-7,-4)=mod(-7,-4)=-3;

而,rem(7,-4)=3,mod(7,-4)=-1;

rem(-7,4)=-3;mod(-7,4)=1

矩阵的超越函数

MATLAB还提供了一些直接作用在矩阵的超越函数,这些函数名都在上述内部函数名之后加后缀m,并规定输入参数A必须是方阵

1.矩阵平方根

sqrtm(A)计算矩阵的平方根

A=[4,2;3,6]

A =

     4     2
     3     6

D=sqrtm(A)

D =

    1.9171    0.4652
    0.6978    2.3823

B=sqrt(A)

B =

    2.0000    1.4142
    1.7321    2.4495

D*D

ans =

    4.0000    2.0000
    3.0000    6.0000

2.矩阵对数

logm(A)计算矩阵A的自然对数

A=[4,9;1,5]

A =

     4     9
     1     5

L=logm(A)

L =

    1.0639    2.4308
    0.2701    1.3340

3.矩阵指数

expm(A)的功能是计算矩阵指数 

expm(L)

ans =

    4.0000    9.0000
    1.0000    5.0000

exp(L)

ans =

    2.8977   11.3685
    1.3101    3.7962

4.普通矩阵函数

funm(A,@函数)=函数对应的矩阵函数(A)。例如fun取exp时,fun(A,@exp)=expm(A)

A=[2,-1;1,0];
funm(A,@exp)

ans =

    5.4366   -2.7183
    2.7183    0.0000

expm(A)

ans =

    5.4366   -2.7183
    2.7183         0

funm(A,@log)

ans =

    1.0000   -1.0000
    1.0000   -1.0000

logm(A)

ans =

    1.0000   -1.0000
    1.0000   -1.0000

 注:求矩阵的平方根只能用sqrtm函数