matlab学习笔记第二章 矩阵的处理

第二章.矩阵处理
2.1特殊矩阵
1.zeros()函数得到零矩阵;ones()函数得到全1矩阵;eye()函数得到对角线为1的矩阵;rand()得到(0,1)区间均匀分布的随机矩阵;randn()函数产生均值(平均数)为零,方差为1的标准正态分布随机矩阵
格式:zeros(m,n)产生mXn零矩阵,zero(size(A))产生A的同型矩阵
例题:首先产生五阶两位随机整数矩阵A,在产生均值为0.6、方差为0.1的五阶正态分布随机矩阵B,最后验证(A+B)*I(I是单位矩阵)=|A+B|
A=fix(10+(99-10+1)*rand(5))
A =
83 18 24 22 69
91 35 97 47 13
21 59 96 92 86
92 96 53 81 94
66 96 82 96 71
B=0.6+sqrt(0.1)*randn(5);

2.魔方矩阵 magic() ,每行每列元素和以及对角线和副对角线元素之和相等
3.范德蒙矩阵:定义自己查,vander(a)产生以a向量为基础的范德蒙矩阵

a=[1:4];
b=vander(a)
b =
1 1 1 1
8 4 2 1
27 9 3 1
64 16 4 1
4.希尔伯特矩阵hilb(n)
注:format rat 输出均为有理数,就是不能除尽的分数就用分数来表示
5.伴随矩阵,设一个多项式有n+1个系数,compan§,其中p是一个多项式的系数向量,高次幂系数排在前,低次幂系数排在后,伴随矩阵的特征值等于多项式的根
6.帕斯卡矩阵 pascal(n)
求一个矩阵的逆矩阵用inv()函数如inv(a)

2.2矩阵变换
矩阵的变换包括求对角阵,三角阵,矩阵的转置,矩阵的旋转,矩阵的翻转,矩阵的求逆等

  1. 对角阵:只有对角线上有非零元素;数量矩阵:对角线上的元素相等;
    (1) 提取矩阵的对角线元素 diagonal 对角线的
    diag(A):提取矩阵A主对角线元素,产生一个列向量
    diag(A,k):提取矩阵A第k条对角线的元素,产生一个列向量;与主对角线相平行,往上以此为第一、2条往下依次为-1、-2条等
    (2) 构造对角矩阵
    diag(v):以向量v为主对角线元素,产生对角矩阵;
    diag(v,k):以向量v为第k条对角线元素,产生对角矩阵
    例题:建立一个三阶矩阵,再让第一行乘上1,第二行乘上2,第三行乘上3等
    B=[1,2,3;4,5,6;7,8,9]; >> C=[1,2,3];>> a=diag©,aB是让行乘,Ba是让列成
  2. 三角阵:
    (1) 上三角阵:矩阵的对角线以下的元素全为零的矩阵
    使用triu(A),提取A主对角线及以上的元素
    (2) 下三角阵:tril(A)
  3. 矩阵的转置
    使用A.’得到A的转置,使用A’得到A的转置并对每个元素求共轭
  4. 矩阵的旋转
    rot90(A,K):将矩阵A逆时针方向旋转90°的K倍,当k为1时可省略
  5. 矩阵的翻转
    fliplr(A): light and right 左右翻转
    flipud(A):up and down 上下翻转
    例题:验证魔方阵的主对角线、副对角线元素之和相等

B=fliplr(A);
b=diag(B);
S2=sum(b);
S1
S1 =
65

S2
S2 =
65

  1. 矩阵的求逆
    Inv(A)
    例题求解线性方程组
    X+2y+3z=5
    X+4y+9z=-2
    X+8y+27z=6
    矩阵形式为Ax=B x=A的逆*B

A=[1,2,3;1,4,9;1,8,27];
B=[5;-2;6];(这里是列向量)
x=inv(A)*B
x =
23.0000
-14.5000
3.6667

2.3矩阵求值
行列式值、矩阵的秩、矩阵的迹、矩阵的范数、矩阵的条件数
(1) 行列式 det(A)
例题:验证det(A的逆矩阵)=1/det(A)

format rat
det1=1/det(A)
det1 =
1/12

det2=det(inv(A))
det2 =
1/12
(2)矩阵的秩 :矩阵线性无关的行数或列数
rank(a)
(3)矩阵的迹:矩阵的对角线元素之和或矩阵的特征值之和
trace(A)
A =
1 2 3
1 4 9
1 8 27

trace(A)
ans =
32

sum(diag(A))
ans =
32

2.4矩阵的特征值与特征向量
(1) 特征值:E=eig(A)得到矩阵的全部特征值构成向量E
[X,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量
特征值的几何意义:对空间进行线性变换后,仍留在原先空间的向量(特征向量)伸长或缩短的比例叫特征值 即Ax(A对应一个线性变换)=λx

2.5稀疏矩阵
稀疏矩阵:零元素的个数远多于非零元素的个数,且非零元素的分布无规律
(1)矩阵的存储方式:完全存储方式(将所有元素都存储),系数存储方式(只存储非零元素的值及其位置行号和列号) 使用A=sparse(S)将矩阵S转化为稀疏存储方式的矩阵A,使用S=full(A)将矩阵A转化为完全存储方式的矩阵S
(2)直接建立稀疏存储矩阵
Sparse(m,n)生成一个所有元素都是零的稀疏矩阵;
Sparse(u,v,S)其中S是要建立的稀疏存储矩阵的非零元素,u,v是S对应的行下标和列下标

A=sparse([1,2,2],[2,1,4],[4,5,7])
A =
(2,1) 5
(1,2) 4
(2,4) 7

B=full(A)
B =
0 4 0 0
5 0 0 7
(3)带状稀疏矩阵的稀疏存储:
稀疏矩阵有两种基本类型:无规则结构的稀疏矩阵与有规则结构的稀疏矩阵
带状系数矩阵是指所有非零元素集中在对角线上的矩阵
①[B,d]=spdiags(A):从带状稀疏矩阵A中提取全部非零对角线元素赋给矩阵B及其这些非零对角线的位置(主对角线为0,往上加一,往下减一)向量d

A=[1,0,0,3,0,0;0,32,0,0,4,0;0,0,8,0,0,67;41,0,0,87,0,0;0,89,0,0,7,0]
A =
1 0 0 3 0 0
0 32 0 0 4 0
0 0 8 0 0 67
41 0 0 87 0 0
0 89 0 0 7 0

[B,d]=spdiags(A)
B =
0 1 3
0 32 4
0 8 67
41 87 0
89 7 0
d =
-3
0
3
(4)单位矩阵的稀疏存储
Speye(m,n)返回一个mXn的稀疏存储单位矩阵

kb1=[1;1;2;1;0];
k=[2;4;6;6;1];
k1=[0;3;1;4;2]; 注意:这里的kb1,k,k1维数要相同,没有元素的要补上零
B=[kb1,k,k1];
d=[-1;0;1];
A=spdiags(B,d,5,5); 这里A得到的是稀疏存储矩阵
b=[0;3;2;1;5];
x=A\b 也可以用x=inv(A)*b,A只是存储方式是稀疏存储,仍然表示一个完整的矩阵,可以进行运算

x =

-0.1667
0.1111
2.7222
-3.6111
8.6111
第二章.矩阵处理
2.1特殊矩阵
1.zeros()函数得到零矩阵;ones()函数得到全1矩阵;eye()函数得到对角线为1的矩阵;rand()得到(0,1)区间均匀分布的随机矩阵;randn()函数产生均值(平均数)为零,方差为1的标准正态分布随机矩阵
格式:zeros(m,n)产生mXn零矩阵,zero(size(A))产生A的同型矩阵
例题:首先产生五阶两位随机整数矩阵A,在产生均值为0.6、方差为0.1的五阶正态分布随机矩阵B,最后验证(A+B)*I(I是单位矩阵)=|A+B|
A=fix(10+(99-10+1)*rand(5))
A =
83 18 24 22 69
91 35 97 47 13
21 59 96 92 86
92 96 53 81 94
66 96 82 96 71
B=0.6+sqrt(0.1)*randn(5);

2.魔方矩阵 magic() ,每行每列元素和以及对角线和副对角线元素之和相等
3.范德蒙矩阵:定义自己查,vander(a)产生以a向量为基础的范德蒙矩阵

a=[1:4];
b=vander(a)
b =
1 1 1 1
8 4 2 1
27 9 3 1
64 16 4 1
4.希尔伯特矩阵hilb(n)
注:format rat 输出均为有理数,就是不能除尽的分数就用分数来表示
5.伴随矩阵,设一个多项式有n+1个系数,compan§,其中p是一个多项式的系数向量,高次幂系数排在前,低次幂系数排在后,伴随矩阵的特征值等于多项式的根
6.帕斯卡矩阵 pascal(n)
求一个矩阵的逆矩阵用inv()函数如inv(a)

2.2矩阵变换
矩阵的变换包括求对角阵,三角阵,矩阵的转置,矩阵的旋转,矩阵的翻转,矩阵的求逆等

  1. 对角阵:只有对角线上有非零元素;数量矩阵:对角线上的元素相等;
    (1) 提取矩阵的对角线元素 diagonal 对角线的
    diag(A):提取矩阵A主对角线元素,产生一个列向量
    diag(A,k):提取矩阵A第k条对角线的元素,产生一个列向量;与主对角线相平行,往上以此为第一、2条往下依次为-1、-2条等
    (2) 构造对角矩阵
    diag(v):以向量v为主对角线元素,产生对角矩阵;
    diag(v,k):以向量v为第k条对角线元素,产生对角矩阵
    例题:建立一个三阶矩阵,再让第一行乘上1,第二行乘上2,第三行乘上3等
    B=[1,2,3;4,5,6;7,8,9]; >> C=[1,2,3];>> a=diag©,aB是让行乘,Ba是让列成
  2. 三角阵:
    (1) 上三角阵:矩阵的对角线以下的元素全为零的矩阵
    使用triu(A),提取A主对角线及以上的元素
    (2) 下三角阵:tril(A)
  3. 矩阵的转置
    使用A.’得到A的转置,使用A’得到A的转置并对每个元素求共轭
  4. 矩阵的旋转
    rot90(A,K):将矩阵A逆时针方向旋转90°的K倍,当k为1时可省略
  5. 矩阵的翻转
    fliplr(A): light and right 左右翻转
    flipud(A):up and down 上下翻转
    例题:验证魔方阵的主对角线、副对角线元素之和相等

B=fliplr(A);
b=diag(B);
S2=sum(b);
S1
S1 =
65

S2
S2 =
65

  1. 矩阵的求逆
    Inv(A)
    例题求解线性方程组
    X+2y+3z=5
    X+4y+9z=-2
    X+8y+27z=6
    矩阵形式为Ax=B x=A的逆*B

A=[1,2,3;1,4,9;1,8,27];
B=[5;-2;6];(这里是列向量)
x=inv(A)*B
x =
23.0000
-14.5000
3.6667

2.3矩阵求值
行列式值、矩阵的秩、矩阵的迹、矩阵的范数、矩阵的条件数
(1) 行列式 det(A)
例题:验证det(A的逆矩阵)=1/det(A)

format rat
det1=1/det(A)
det1 =
1/12

det2=det(inv(A))
det2 =
1/12
(2)矩阵的秩 :矩阵线性无关的行数或列数
rank(a)
(3)矩阵的迹:矩阵的对角线元素之和或矩阵的特征值之和
trace(A)
A =
1 2 3
1 4 9
1 8 27

trace(A)
ans =
32

sum(diag(A))
ans =
32

2.4矩阵的特征值与特征向量
(1) 特征值:E=eig(A)得到矩阵的全部特征值构成向量E
[X,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量
特征值的几何意义:对空间进行线性变换后,仍留在原先空间的向量(特征向量)伸长或缩短的比例叫特征值 即Ax(A对应一个线性变换)=λx

2.5稀疏矩阵
稀疏矩阵:零元素的个数远多于非零元素的个数,且非零元素的分布无规律
(1)矩阵的存储方式:完全存储方式(将所有元素都存储),系数存储方式(只存储非零元素的值及其位置行号和列号) 使用A=sparse(S)将矩阵S转化为稀疏存储方式的矩阵A,使用S=full(A)将矩阵A转化为完全存储方式的矩阵S
(2)直接建立稀疏存储矩阵
Sparse(m,n)生成一个所有元素都是零的稀疏矩阵;
Sparse(u,v,S)其中S是要建立的稀疏存储矩阵的非零元素,u,v是S对应的行下标和列下标

A=sparse([1,2,2],[2,1,4],[4,5,7])
A =
(2,1) 5
(1,2) 4
(2,4) 7

B=full(A)
B =
0 4 0 0
5 0 0 7
(3)带状稀疏矩阵的稀疏存储:
稀疏矩阵有两种基本类型:无规则结构的稀疏矩阵与有规则结构的稀疏矩阵
带状系数矩阵是指所有非零元素集中在对角线上的矩阵
①[B,d]=spdiags(A):从带状稀疏矩阵A中提取全部非零对角线元素赋给矩阵B及其这些非零对角线的位置(主对角线为0,往上加一,往下减一)向量d

A=[1,0,0,3,0,0;0,32,0,0,4,0;0,0,8,0,0,67;41,0,0,87,0,0;0,89,0,0,7,0]
A =
1 0 0 3 0 0
0 32 0 0 4 0
0 0 8 0 0 67
41 0 0 87 0 0
0 89 0 0 7 0

[B,d]=spdiags(A)
B =
0 1 3
0 32 4
0 8 67
41 87 0
89 7 0
d =
-3
0
3
(4)单位矩阵的稀疏存储
Speye(m,n)返回一个mXn的稀疏存储单位矩阵

kb1=[1;1;2;1;0];
k=[2;4;6;6;1];
k1=[0;3;1;4;2]; 注意:这里的kb1,k,k1维数要相同,没有元素的要补上零
B=[kb1,k,k1];
d=[-1;0;1];
A=spdiags(B,d,5,5); 这里A得到的是稀疏存储矩阵
b=[0;3;2;1;5];
x=A\b 也可以用x=inv(A)*b,A只是存储方式是稀疏存储,仍然表示一个完整的矩阵,可以进行运算

x =

-0.1667
0.1111
2.7222
-3.6111
8.6111

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值