Matlab 矩阵相关函数
1.矩阵对角线元素的抽取
函数diag
格式X=diag(v,k)%以向量 v 的元素作为矩阵 X 的第 k 条对角线元素,当 k=0 时,v
为 X 的主对角线;当 k>0 时,v 为上方第 k 条对角线;当 k<0 时,v 为下方第 k 条对角线。
X=diag(v)%以 v 为主对角线元素,其余元素为 0 构成 X。
v=diag(X,k)%抽取 X 的第 k 条对角线元素构成向量 v。k=0:抽取主对角线元素;
k>0:抽取上方第 k 条对角线元素;k<0 抽取下方第 k 条对角线元素。
v=diag(X)%抽取主对角线元素构成向量 v。
2.上三角阵和下三角阵的抽取
函数tril%取下三角部分
格式L=tril(X)%抽取 X 的主对角线的下三角部分构成矩阵 L
L=tril(X,k)%抽取 X 的第 k 条对角线的下三角部分;k=0 为主对角线;k>0 为主对
角线以上;k<0 为主对角线以下。
函数triu%取上三角部分
格式U=triu(X)%抽取 X 的主对角线的上三角部分构成矩阵 U
U=triu(X,k)%抽取 X 的第 k 条对角线的上三角部分;k=0 为主对角线;k>0 为主对
角线以上;k<0 为主对角线以下。
3.矩阵的变维
矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对 2 个已知维数矩阵之
间的变维操作;而后者是对于一个矩阵的操作。
(1)“:”变维
(2)Reshape 函数变维
格式B=reshape(A,m,n)%返回以矩阵 A 的元素构成的 m×n 矩阵 B
B=reshape(A,m,n,p,…)%将矩阵 A 变维为 m×n×p×…
B=reshape(A,[mnp…])%同上
B=reshape(A,siz)%由 siz 决定变维的大小,元素个数与 A 中元素个数
相同。
(5)复制和平铺矩阵
函数repmat
格式B=repmat(A,m,n)%将矩阵 A 复制 m×n 块,即 B 由 m×n 块 A 平铺而成。
B=repmat(A,[mn])%与上面一致
B=repmat(A,[mnp…])%B 由 m×n×p×…个 A 块平铺而成
repmat(A,m,n)%当 A 是一个数 a 时,该命令产生一个全由 a 组成的 m×n 矩阵。
1.3矩阵分解
1.3.1Cholesky 分解
函数chol
格式R=chol(X)%如果 X 为 n 阶对称正定矩阵,则存在一个实的非奇异上三角阵
R,满足 R'*R=X;若 X 非正定,则产生错误信息。
评论0