矩阵创建的方法

ones( ) 创建一个所有元素都为1的矩阵,其中可以制定维数,1,2….个变量
zeros() 创建一个所有元素都为0的矩阵
eye() 创建对角元素为1,其他元素为0的矩阵
diag() 根据向量创建对角矩阵,即以向量的元素为对角元素
magic() 创建魔方矩阵
rand() 创建随机矩阵,服从均匀分布
randn() 创建随机矩阵,服从正态分布
randperm() 创建随机行向量
horcat C=[A,B],水平聚合矩阵,还可以用cat(1,A,B)
vercat C=[A;B],垂直聚合矩阵, 还可以用cat(2,A,B)
repmat(M,v,h) 将矩阵M在垂直方向上聚合v次,在水平方向上聚合h次
blkdiag(A,B) 以A,和B为块创建块对角矩阵
length 返回矩阵最长维的的长度
ndims 返回维数
numel 返回矩阵元素个数
size 返回每一维的长度,[rows,cols]=size(A)
reshape 重塑矩阵,reshape(A,2,6),将A变为2×6的矩阵,按列排列。
rot90 旋转矩阵90度,逆时针方向
fliplr 沿垂轴翻转矩阵
flipud 沿水平轴翻转矩阵
transpose 沿主对角线翻转矩阵
ctranspose 转置矩阵,也可用A’或A.’,这仅当矩阵为复数矩阵时才有区别
inv 矩阵的逆
det 矩阵的行列式值
trace 矩阵对角元素的和
norm 矩阵或矢量的范数,norm(a,1),norm(a,Inf)…….
normest 估计矩阵的最大范数矢量
chol 矩阵的cholesky分解
cholinc 不完全cholesky分解
lu LU分解
luinc 不完全LU分解
qr 正交分解
kron(A,B) A为m×n,B为p×q,则生成mp×nq的矩阵,A的每一个元素都会乘上B,并占据p×q大小的空间
rank 求出矩阵的刺
pinv 求伪逆矩阵
A^p 对A进行操作
A.^P 对A中的每一个元素进行操作
四、数值计算
1、线性方程组求解
(1)AX=B的解可以用X=A\B求。XA=B的解可以用X= A/B求。如果A是m×n的矩阵,当m=n时可以找到唯一解,m<n,不定解,解中至多有m个非零元素。如果m>n,超定系统,至少找到一组解。如果A是奇异的,且AX=B有解,可以用X=pinv(A)×B返回最小二乘解
(2)AX=b, A=L×U,[L,U]=lu(A), X=U\(L\b),即用LU分解求解。
(3)QR(正交)分解是将一矩阵表示为一正交矩阵和一上三角矩阵之积,A=Q×R[Q,R]=chol(A), X=Q\(U\b)
(4)cholesky分解类似。
2、特征值
D=eig(A)返回A的所有特征值组成的矩阵。[V,D]=eig(A),还返回特征向量矩阵。
3、A=U×S×UT,[U,S]=schur(A).其中S的对角线元素为A的特征值。
4、多项式Matlab里面的多项式是以向量来表示的,其具体操作函数如下:
conv 多项式的乘法
deconv 多项式的除法,【a,b】=deconv(s),返回商和余数
poly 求多项式的系数(由已知根求多项式的系数)
polyeig 求多项式的特征值
Polyfit(x,y,n) 多项式的曲线拟合,x,y为被拟合的向量,n为拟合多项式阶数。
polyder 求多项式的一阶导数,polyder(a,b)返回ab的导数
[a,b]=polyder(a,b)返回a/b的导数。
polyint 多项式的积分
polyval 求多项式的值
polyvalm 以矩阵为变量求多项式的值
residue 部分分式展开式
roots 求多项式的根(返回所有根组成的向量)
注:用ploy(A)求出矩阵的特征多项式,然后再求其根,即为矩阵的特征值
posted @ 2017-07-25 10:57  低低秋月  阅读(1182)  评论(0编辑  收藏  举报