MATLAB常用内部函数
目录
常见数学函数
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函数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具