专题二 MATLAB矩阵处理-2

简介: 专题二 MATLAB矩阵处理

三、矩阵求值


1、方阵的行列式

det(A):表示求矩阵A对应行列式的值

2、矩阵的秩

rank(A):表示求矩阵A的秩

3、矩阵的迹

trace(A):表示求矩阵A的迹

(或者提取矩阵A的主对角线元素再求和:sum(diag(A)))

4、向量和矩阵的范数

矩阵或向量的范数用来度量矩阵或向量在某种意义下的长度


(1)向量的3种常见范数

  • 向量1-范数:向量元素的绝对值之和。MATLAB中,用函数norm(V,1)来计算。

向量2-范数:向量元素绝对值的平方和的平方根。MATLAB中,用函数norm(V,2)或者norm(V)来计算。


-向量∞-范数:所有向量元素绝对值中的最大值。MATLAB中,用函数norm(A,inf)来计算。


(2)矩阵的范数

  • 矩阵1-范数:矩阵列元素绝对值之和的最大值。MATLAB中,用函数norm(A,1)来计算。
  • 向量2-范数:A’A矩阵的最大特征值的平方根。MATLAB中,用函数norm(A,2)或者norm(A)来计算。

-向量∞-范数:所有矩阵行元素绝对值之和的最大值。MATLAB中,用函数norm(A,inf)来计算。

(3)矩阵的条件数

矩阵的条件数:是描述矩阵性能的一个参数,矩阵A的条件数等于A的范数于A的逆矩阵的范数的乘积。

矩阵的条件数越接近1,矩阵的性能越好。反之则越差。所谓性能,即矩阵的稳定性。


  • cond(A,1):计算矩阵A的1-范数下的条件数
  • cond(A)或cond(A,2):计算矩阵A的-范数下的条件数
  • cond(A,inf):计算矩阵A的∞-范数下的条件数
    例子:求2~10阶希尔伯特矩阵的条件数

可见当阶数越大,希尔伯特矩阵的条件数越大,因此其性能越差。


四、矩阵的特征值和特征向量


1、求矩阵的特征值和特征向量

  • E=eig(A)函数:求矩阵A的全部特征值,构成向量E
  • [X,D]=eig(A)函数:求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量。


2、矩阵特征值的几何意义

设矩阵A的特征值为λ,对应的特征向量为x。y=Ax=λx,由此可见,向量x经由矩阵A变换得到y,等同于向量x沿着原来方向伸缩λ倍。

例子:已知大写字母M的各结点坐标如表所示:

x 0 0.5 0.5 3 5.5 5.5 6 6 3 0
y 0 0 6 0 6 0 0 8 1 8

(1)绘制M图

(2)用矩阵A=[1,0.5;0,1],对M的结点坐标进行变换,并绘制图像

可见:M原先是正体,而后变成斜体。因此,在构建字库时,不必单独创建斜体字库,而只需对正体字库进行适当的线性变换即可,这样可以大大节省存储空间。


五、稀疏矩阵

稀疏矩阵:零元素个数大于非零元素个数的矩阵。

1、矩阵的存储方式

  • 完全存储方式:将矩阵的全部元素按列存储
  • 稀疏存储方式:只存储矩阵的非零元素的值及其位置,即行号和列号。
    当稀疏矩阵很大时,采用稀疏存储方式,可以极大的减少存储空间。


2、稀疏存储方式的产生

(1)完全存储方式和稀疏存储方式之间的转化

  • A=sparse(B):将矩阵B转化为稀疏存储方式的矩阵A
  • B=full(A):将矩阵A转化为完全存储方式的矩阵B


(2)直接建立稀疏存储矩阵

  • sparse(m,n):生成一个m*n的所有元素都是零的稀疏矩阵
  • sparse(u,v,S):其中u,v,S是3个等长的向量。S是要建立的稀疏存储矩阵的非零元素,u(i),v(i)分别是S(i)的行和列下标。

  • B=spconvert(A):直接建立稀疏存储矩阵。其中A为一个m* 3或m*4的矩阵,每行表示一个非零元素,m是非零元素的个数。

A(i,1)表示第i个非零元素所在的行

A(i,2)表示第i个非零元素所在的列

A(i,3)表示第i个非零元素值的实部

A(i,4)表示第i个非零元素值的虚部

若矩阵的全部元素都为实数,则无需第4列


(3)带状稀疏矩阵的稀疏存储

稀疏矩阵有两种基本类型:无规则结构的稀疏矩阵与有规则结构的稀疏矩阵。

带状稀疏矩阵是指所有非零元素集中在对角线上的矩阵。

  • [B,d]=spdiags(A):从带状稀疏矩阵A中提取全部非零对角线元素赋给矩阵B及其这些非零对角线的位置向量d。

r=min(m,n),若非零对角线上元素个数等于r,则取全部元素。否则,应该用零补足。

(补零原则:若行数<列数,即m<n,则d<0在前面补0,d>0时在后面补。若行数≥列数,即m≥n,则d<0在后面补0,d>0时在前面补。


  • A=spdiags(B,d,m,n):产生带状稀疏矩阵的稀疏存储矩阵A,其中m,n为原带状稀疏矩阵的行数与列数,矩阵B的第i列即为原带状稀疏矩的第i条非零对角线,向量d为原带状稀疏矩阵所有非零对角线的位置


(4)单位矩阵的稀疏存储

speye(m,n):返回一个m*n的稀疏存储单位矩阵。


3、稀疏矩阵应用举例


总结

目录
相关文章
|
6月前
|
索引
matlab--------矩阵重构,重新排列的相关函数说明
matlab--------矩阵重构,重新排列的相关函数说明
182 0
matlab--------矩阵重构,重新排列的相关函数说明
|
6月前
|
索引
matlab日常学习-------矩阵
matlab日常学习-------矩阵
73 0
|
1月前
|
Serverless
MATLAB中的矩阵与向量运算
【10月更文挑战第2天】本文全面介绍了MATLAB中的矩阵与向量运算,包括基本操作、加减乘除、转置、逆矩阵、行列式及各种矩阵分解方法。通过丰富的代码示例,展示了如何利用矩阵运算解决线性方程组、最小二乘法拟合、动态系统模拟和电路分析等问题。掌握这些运算不仅提升编程效率,还能在工程计算和科学研究中发挥重要作用。
57 1
|
5月前
|
机器学习/深度学习 存储 移动开发
MATLAB数据类型和运算符+矩阵创建
MATLAB数据类型和运算符+矩阵创建
64 1
|
6月前
|
Serverless 索引
matlab--------矩阵的运算
matlab--------矩阵的运算
57 1
matlab--------矩阵的运算
|
6月前
【数值分析】用幂法计算矩阵的主特征值和对应的特征向量(附matlab代码)
【数值分析】用幂法计算矩阵的主特征值和对应的特征向量(附matlab代码)
|
6月前
|
存储 JavaScript
MATLAB实战 | 求矩阵指数、预定义变量i和j的含义以及梯形积分法
MATLAB实战 | 求矩阵指数、预定义变量i和j的含义以及梯形积分法
159 0
MATLAB实战 | 求矩阵指数、预定义变量i和j的含义以及梯形积分法
|
6月前
|
存储 人工智能 资源调度
Matlab矩阵和数组的操作
Matlab矩阵和数组的操作
153 0
|
6月前
|
算法
MATLAB求解矩阵特征值的六种方法
关于这个特征值的求解一共六种方法 幂法 反幂法 QR方法 对称QR方法 jacobi方法 二分法
801 0

热门文章

最新文章