# 特殊函数
一些在实际应用中常出现的著名数学函数。可以用来计算贝塞尔函数、beta 函数、gamma 函数、误差函数、椭圆积分等。
详细信息,详见帮助文档。
- 传送门
# 常用的对数值进行计算的函数
函数名 | 功能 | 用法 |
---|---|---|
abs | 求实数的绝对值或者复数的模长 | abs(-3) = 3;abs(1+1i) = 1.414213562373095 |
mod | 取余数 | mod(10,3)= 1 |
sqrt | 求平方根,如果底数是复数则返回复数结果,与 a^(1/2) 等价。若输入一个向量,对数组中每个元素开根号 | sqrt(9)=3 sqrt(-4)= 2i |
exp | 自然常数 的指数,同样该函数的参数可以是一个数组 | exp(2)= exp(x)= |
log | 计算以 为底的对数 | log(exp(2))=2 |
round | 将某个小数四舍五入为一个最近的整数,参数可以为一个数组。还可以输入第二个参数 N : , 四舍五入到小数点右侧第 N 位; ,四舍五入到最近的整数; ,四舍五入到小数点左侧第 N 位 |
round(2.5) =3 round(pi,-2)=0 round(pi,2)=3.1400 |
# 三角函数
包含 , 具体见帮助文档的三角学。不用死记,用的时候直到,及时查阅就行了。
- 传送门
# 在编写程序中常用的函数
# isempty
函数
如果 A
为空数组, isempty(A)
会返回 逻辑 1
否则返回 逻辑 0
. 与 if length(A)==0
相比,该函数判空的效率更高。
判断 x
是不是向量 A
的元素:
A = (1:10); | |
x=10; | |
isempty(find(x==A)) |
运行结果:
ans =
logical
0
表示 find (x==A) 为非空,即 x
是向量 A
的元素。
# mesgrid
函数
meshgrid
函数可以基于向量 x
和 y
中包含的坐标来返回二维网格坐标。
x=0:4; | |
y=0:3; | |
[xx,yy]=meshgrid(x,y); | |
disp(xx); | |
disp(yy); |
运行结果:
xx=
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4
0 1 2 3 4
yy=
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
注:
- MATLAB 的矩阵和 C/C++ 不同,第一个参数 x 表示的是列号,参数 y 表示的是行号
- 这个函数常在绘制图像时使用。
# rng
函数
设置随机数种子,这样能生成可重复的随机数。参数为非负整数。
seed = 3; | |
rng(seed); | |
randi(10,3,3); |
解释: 如果不设置随机数种子,那么每次执行 randi
生成的矩阵都不同。设置了之后,无论执行多少次,只要不该表随机数种子的值, randi
生成的矩阵都相同。
注:
每次重启 MATLAB 时,随机数生成器均会复位到相同的状态,这样使用生成随机数的命令都会返回相同的结果。我们可以使用 rng('shuffle')
命令,可以根据当前的时间使用不同的种子重新设定生成器的种子,可以避免生成相同的随机数。