矩阵的常用计算
上三角和下三角
triu(A,k):返回第k条对角线以上的元素,默认时为上三角矩阵
tril()返回下三角矩阵
转置
A’
对角
diag(a,k)
方阵行列式
A=magic(3)
b=det(A)
特征值与特征多项式
E=eig(A) 只返回特征值构成的向量
[V,D]=eig(A) 返回列式的特征向量,D为特征值构成的对角矩阵
矩阵的迹
trace(A)
矩阵的秩:反应矩阵的线性无关性,基本变换不能消除行(列)即为线性无关。
rank(A)
矩阵的逆
inv()
伪逆
pinv()
矩阵的范数
norm(X,K)
K=2/1/inf/‘fro’
normest(X) 估计二范数,运行比较快
矩阵的条件数(针对范数):
cond(A,K)
矩阵的标准正交基
orth()
矩阵的超越函数
1.矩阵平方根
sqrtm 和 sqrt不一样 ,D=A*A A=sqrtm(D)
2.矩阵指数和对数
expm和logm,矩阵必须为方阵。
3.普通矩阵函数
B=funm(A,@exp) exp为超越函数
矩阵分解
LU分解
[l,u,p]=lu(a) p为置换矩阵
Cholesky分解
针对正定矩阵
r=chol(a) 返回值为上三角矩阵,返回可以带p,正定时为0,非正定时为阶数+1
Schur分解
矩阵必须为方阵,A=U
schur()
QR正交分解
A=Q(正交矩阵)×R(上三角矩阵)
[Q,R]=qr(A)
SVD分解(奇异值分解)
Hessenberg
数值计算
多项式一般用向量表示如
p=[1 -12 0 25 116]代表的就是一个系数为这样的一个4次项函数
求根
roots§
已知根求多项式
poly®
多项式乘法
conv(a,b)
加法
e=c+[0 0 0 d] 这是针对需要补0的情况。
多项式除法
[q,r]=deconv(c,b)
多项式求导
polyder(b)
p=polyder(P,Q) 求P*Q的导函数
[p,q]=polyder(P,Q) 求P/Q的导函数,导数分子存入p,分母存入q
多项式的估值
v=poly(p,x) p为多项式系数
函数的数值导数
MATLAB中只有前向差分
diff(X,n) 计算向量X的n阶向前差分
数值积分
quad和quadl
q=quadl(fun,a,b)
q=quadl(fun,a,b,tol) tol 绝对误差控制
q=quadl(fun,a,b,tol,trace) trace非0时,将随积分进程逐点画出积分函数
[q,fcnt]=quadl(fun,a,b,…) —可以用内联函数
数据插值
一维数据插值:单变量函数
interp1(X,Y,X1,method) 根据Xy 计算函数在X1处的值
method:‘linear’、‘nearest’、‘cubic’(三次多项式插值)、‘spline’(三次样条插值,每一个分段构造一个三次多项式函数)
曲线拟合
先用ployfit(X,Y,m)求得最小二乘拟合多项式的系数,再用ployval函数给出各点函数近似值