-
1 文档
-
2 PPT
-
3 视频
-
4 小测试
Matlab系统本身带有强大的数学函数库,数值计算函数根据功能的不同,划分成多个类,其中主要包括:ElementaryMath(初等数学)、Linear Algebra(线性代数)、Statistics and RandomNumbers(统计和随机数)、Interpolation(内插值法)、Optimization(优化)、NumericalIntegration and Differential Equations(数值积分和微分方程)、Fourier Analysis andFiltering(傅里叶分析和滤波)、Sparse Matrices(稀疏矩阵)、Computational Geometry(计算几何)。
每个类下面划分更小的类,例如ElementaryMath包括以下各小类:Arithmetic(算术:数组与矩阵的加减乘除算法、取整函数、求模、求余函数等)、Trigonometry(三角:正弦、余弦、正切、余切函数及相应的反函数)、Exponents andLogarithms(指数与对数:指数函数、对数函数)、Complex Numbers(复数:求复数的实部、虚部、幅值和相角的函数)、Discrete Math(离散数学:求阶乘、逻辑真值、质数生成与判断函数)、Polynomials(多项式:求多项式微分、多项式特征值问题、多项式求值、求根等函数)、SpecialFunctions(特殊功能:如各类贝塞尔函数)、Cartesian Coordinate System Conversion(笛卡尔坐标系转换:直角坐标与球面坐标变换函数)、Constants andTest Matrices(常量和测试矩阵:Matlab预定义变量,测试矩阵等)。常用函数见表1-3。
表1-3 常用数值计算函数
| 函数名称 | 功能 | 函数名称 | 功能 |
| sin | 正弦 | asin | 反正弦 |
| cos | 余弦 | acos | 反余弦 |
| tan | 正切 | atan | 反正切 |
| cot | 余切 | acot | 反余切 |
| sec | 正割(余弦倒数) | asec | 反正割 |
| csc | 余割(正弦倒数) | acsc | 反余割 |
| log2 | 以2为底的对数 | pow2 | 2的幂次 |
| log | 自然对数 | sqrt | 开平方 |
| log10 | 常用对数 | exp | 以e为底的指数 |
| abs | 复数的模 | real | 复数的实部 |
| angle | 相位角 | unwrap | 相位展开 |
| complex | 由实部和虚部构造复数 | isreal | 是否为实数组 |
| conj | 复数的共轭 | cplxpair | 整理为共轭对 |
| imag | 复数的虚部 | mod | 模数余 |
| fix | 朝零方向取整 | rem | 除后取余数 |
| floor | 朝负无穷方向取整 | sign | 符号函数 |
| ceil | 朝正无穷方向取整 | gcd | 最大公约数 |
| round | 四舍五入到最近的整数 | lcm | 最小公倍数 |
| abs | 绝对值 |
下面举例介绍常用函数的使用。
>> a=0.1;b=-0.9;
>> fix(b) %向零方向取整
ans =
0
>> ceil(a) %向正无穷方向取整
ans =
1
>> floor(b) %向负无穷方向取整
ans =
-1
>> round(a) %四舍五入取整
ans =
0
>> b=mod(-11,3) %b= mod(a,m)其算法为:b = a - a.*floor(a./m)
b =
1
>> c=rem(-11,3) %c等于X/Y的余数
c =
-2
%Y = sign(X),X中对应元素大于0,返回1;
% X中对应元素等于0,返回0;对应元素小于0,返回-1。
>> d=sign([-5 0 5])
d =
-1 0 1
>> x=-pi:pi/2:pi
x =
-3.1416 -1.5708 0 1.5708 3.1416
>> sin(x)./x
ans =
0.0000 0.6366 NaN 0.6366 0.0000
>> sin(x+eps)./(x+eps) %注意eps的作用
ans =
0.0000 0.6366 1.0000 0.6366 0.0000
>> log( 2.7183) %求以自然数为底2.7183的对数
ans =
1.0000
>> log10(100) %求以10为底100的对数
ans =
2
>> log2(1024) %以2为底1024的对数
ans =
10
>> f = factorial(6) %求6的阶乘
f =
720
>> g=primes(20) %求20以内的素数
g =
2 3 5 7 11 13 17 19
>>a=real(3+4i),b=imag([5+6i,7+8*i])
a =
3
b =
6 8
>>c=abs(3+4i),d=angle([5+6i,8+8*i])*180/pi %注意angle计算结果以弧度为单位
c =
5
d =
50.1944 45.0000
>>i=2;e=[1+2i,1+2*i] %注意区分1+2i与1+2*i的不同
e =
1.0000 +2.0000i 5.0000 + 0.0000i
>> clear all; e=[1+2i,1+2*i]
e =
1.0000 +2.0000i 1.0000 + 2.0000i

