\(Note2\)
特殊矩阵
zeros(3,4) % 零矩阵
ones(4,5) %一矩阵
eye(3) %单位矩阵
eye(3,4)
rand(2) % 元素大小0~1的随机矩阵
randn(2,3) % 均值为0,方差为1的随机矩阵
exA=20+30*rand(5) % [20,50]内均匀分布的5阶正态分布随机矩阵
%y=μ+σx
exB=0.6+sqrt(0.1)*randn(4) % 均值为0.6,方差为0.1的4阶正态分布随机矩阵
magic(3) % 魔方矩阵,行,列,对角线的和都为n*(n^2+1)/2
vander([1,3,5,4]) % 范德蒙矩阵,任意子方阵可逆,用于交错编码
hilb(4) % 希尔伯特矩阵,高度病态,病态程度与阶数有关
invhilb(4) % 希尔伯特逆矩阵.h[i][j]=1/(i+j-1)
% format rat就是矩阵用有理数形式显示,此句之后加上希尔伯特矩阵的产生语句即可得到分数形式
format rat
hilb(5)
矩阵变换
%对角阵、数量矩阵、单位阵、秩、迹、逆(伪逆)、行列式、条件数
%当矩阵中一个数改变时,整个矩阵发生的扰动程度就称为病态程度
%条件数用于衡量病态程度
%范数(norm):简单来说,就是衡量某个向量空间中每个向量的长度或者大小
%矩阵的秩(rank)与方程组求解、判断是否可逆有关(可逆与秩满互为充要条件)
%矩阵的迹为矩阵主对角线元素之和
%对角阵
A=[5,4,2,0,9] % 对角线元素
DA1=diag(A)
DA2=diag(A,1) % 主对角线向右上平移1个位置得到的矩阵,矩阵变大
%数量矩阵
B=eye(4)
DB=7*B
%取对角线元素
C=magic(4)
V1=diag(C) % V1即为对角线元素
V1=diag(C,1) % V1即为主对角线向右平移1个位置的对角线的元素(原矩阵基础上)
%三角阵
%上三角(triu)
A3=magic(7)
Atriu=triu(A3)
%下三角(tril)
Atril=tril(A3)
%小三角
AtriFra=triu(A3,2) % 第二个参数可负,主对角线向右平移2个位置后的对角线开始得到的(原矩阵基础上)
%转置
T=magic(3)
T1=T.'
%共轭转置
R=magic(3)
I=magic(3).*3-7
T2=R+I.*1i
T3=T2'
%旋转 rot90(A,K) 逆时针旋转k个90度
R1=magic(3)
R1rot=rot90(R1,1)
%左右翻转
F=magic(3)
F1=fliplr(F)
%上下翻转
F2=flipud(F)
%矩阵的逆,只有方阵才有逆,不为方阵则是伪逆
%inv
A=magic(3)
B=inv(A)
%ex:求解下列方程组
%x+2y+3z=5
%x+4y+9z=-2
%x+8y+27z=6
A=[1 2 3;1 4 9;1 8 27]
b=[5;-2;6]
x=inv(A)*b
%伪逆,对于非方阵,奇异阵(是方阵,但行列式为0),非满秩矩阵
%pinv
Ae=[3 1 1 1;1 3 1 1;1 1 3 1]
rank(Ae) % 行满秩
A2ans=pinv(Ae)
Ae*A2ans %得到3*3的单位矩阵
矩阵求值
-方阵的行列式\((de'terminant)\)
%只有方阵才有行列式
format % 用小数形式表示
A1=rand(5)
A1res=det(A1)
-矩阵的秩与迹
A2=magic(4)
A2res=rank(A2)
A2ans=trace(A2)
-向量和矩阵的范数
%为了衡量其在某种意义下的大小
%向量的范数
V=[1 2 3 4]
norm(V,1) % 向量-1 范数 元素绝对值之和
norm(V,2) % 向量-2 范数 元素平方和的平方根
norm(V,inf) % 向量-∞ 范数 所有向量元素绝对值中的最大值
%矩阵的范数
E=magic(4)
norm(E,1) % 矩阵-1 范数 所有矩阵列元素绝对值之和的最大值
norm(E,2) % 矩阵-2 范数 矩阵的最大特征值的平方根
norm(E,inf) % 矩阵-∞ 范数 所有矩阵行元素绝对值之和的最大值
-矩阵的条件数
%在求解线性方程组Ax=b时,考虑摄动对解向量的影响程度,影响大的称为病态矩阵,反之为良性矩阵
%定义矩阵A的条件数=矩阵A的范数×矩阵A的逆的范数
%条件数是矩阵的属性,用来描述病态和良性程度
%条件数一定大于1,越接近1越好
F=rand(4)
F1=hilb(4)
cond(F,1) % 1-范数下的条件数
cond(F,2) % 2-范数下的条件数
cond(F,inf) % ∞-范数下的条件数
%希尔伯特矩阵高度病态
cond(F1,1)
cond(F1,2)
cond(F1,inf)
矩阵特征值与特征向量
对于\(n\)阶方阵\(A\),求数\(λ\)和向量\(ξ\),使得\(A*ξ\)=\(λ*ξ\),则\(λ\)为\(A\)的特征值,\(ξ\)为对应的特征向量
求解方程\(A*ξ=λ*ξ\),变形后得\((A-λ*I)*ξ=0\),若使其有非零解,则系数行列式为\(0\),即有
\(|A-λ*I|=0\)
G=rand(5)
%一个矩阵的特征向量有无穷个,但是eig是只给出n个,其余的可由这n个向量线性组成
V1=eig(G) % 求解G的全部特征值,构成向量V1
[X,H]=eig(G) % H为矩阵G全部特征值构成的对角阵,X是各列相应的特征值对应的特征向量
稀疏矩阵
%稀疏矩阵 含有很多0元素
A1=[2 0 0 0;
0 0 0 0;
0 -5 0 0;
3 0 0 0]
%采用稀疏方式存储的矩阵
A1=[2 0 0 0;
0 0 0 0;
0 -5 0 0;
3 0 0 0]
%普通方式存储 2 0 0 3 0 0 -5 0 0 0 0 0 0 0 0 0
%稀疏方式存储 (1,1),2,(4,1),3,(3,2),-5 占用更少的内存
-稀疏存储方式的产生
S1=sparse(A1) % sparse:普通方式存储矩阵变稀疏方式存储
S2=sparse(4,6)
%sparse(u,v,S) u是行标号,v是列标号,S是非零值
S=[-5 24 9 17];
u=[1 3 5 2];
v=[1 2 2 4];
S3=sparse(u,v,S)
full(S3) %稀疏矩阵,但不是用系数存储方式存储的
[u,v,S]=find(S3) % 返回矩阵A中非零元素的下标和元素
full(S3) % 返回系数存储矩阵的完全存储方式 full<->sparse
%便捷产生一个稀疏存储矩阵 spconvert,与sparse(u,v,S)相同
A2=[2 2 1;
3 1 -1;
4 3 3;
5 3 8;
6 6 12;]
S4=spconvert(A2)
full(S4)
%对角系数矩阵 spdiags
B=[0 1 4 9 0;
4 7 9 0 3;
0 2 6 4 9] % 三条对角线的元素
Bz=B.'
d=[-1 0 1].' % 哪三条对角线
full(spdiags(Bz,d,5,5))
标签:magic,元素,矩阵,笔记,matlab,对角线,范数,向量
From: https://www.cnblogs.com/iwillenter-top1/p/17607072.html