当前位置:网站首页>MATLAB从入门到精通(二)
MATLAB从入门到精通(二)
2022-04-23 18:07:00 【京都小白】
笔记来源于B站视频link,推荐大家去看一看
专题二 MATLAB矩阵处理
2.1 特殊矩阵
一类是通用性的特殊矩阵,另一类是用于专门学科的特殊矩阵
-
通用的特殊矩阵
- zeros函数:产生全0矩阵,即零矩阵
- ones函数:产生全1矩阵,即幺矩阵
- eye函数:产生对角线为1地矩阵。当矩阵是方阵时,得到一个单位矩阵。
- rand函数:产生(0,1)区间均匀分布的随机矩阵
- randn函数:n代表normal,正态分布的意思,产生均值为0,方差为1的标准正态分布随机矩阵
这几种函数的调用格式相似,以zero函数为例进行说明:
-
zeros(m):产生m×m的零矩阵
-
zeros(m,n):产生m行n列的零矩阵
-
zeros(size(A)):产生于矩阵同样大小的零矩阵
-
用于专门学科的特殊矩阵
-
魔法矩阵——Magic Square
- n阶魔方阵由1,2,3,……n2 共n2 个整数组成,且每行、每列以及主、副对角线上各n各元素之和都相等
- n阶魔方阵每行每列元素的和为(1+2+3+……+n2)/n=(n+n3)/2
- MATLAB函数magic(n)只产生一个特定的魔方阵。
-
-
范德蒙矩阵
对于向量v=[v1,v2,……,vn],范德蒙矩阵的一般形式为:
在MATLAB中,函数vander(V)生成以向量V为基础的范德蒙矩阵。
范德蒙矩阵常用在各种通信系统的纠错编码中,如Reed-Solomon编码即为范德蒙矩阵为基础。
- 希尔伯特矩阵
n阶希尔伯特矩阵的一般形式为:
H(i,j)=1/(i+j-1)
在MATLAB中,生成n阶希尔伯特矩阵的函数是hilb(n)。
-
伴随矩阵
设多项式p(x)为anxn+an-1xn-1+……+a1x+a0,则多项式的伴随矩阵是:
p(x)称为矩阵A的特征多项式,方程p(x)=0的根称为A的特征值。
MATLAB中生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂系数排在后。例如生成x3-2x2-5x+6的伴随矩阵:
-
帕斯卡矩阵
根据二项式定理,(x+y)n展开后的系数随着n的增大组成一个三角形表,这个三角形称为杨辉三角形。这里的三角形每行代表不同n时的二项式系数,把二项式系数依次填写在矩阵的左侧对角线上,然后提取左侧的n行n列元素即为n阶帕斯卡矩阵。
帕斯卡矩阵的第一行和第一列元素都为1,其余位置的元素时该元素的左边元素与上面元素相加,即P(i,j)=P(i,j-1)+P(i-1,j),且P(i,1)=1,P(1,j)=1。
2.2 矩阵变换
矩阵变化是指对一个矩阵进行运算,其结果还是一个矩阵。
-
对角阵
对角矩阵:只有对角线上有非零元素的矩阵。
数量矩阵:对角线上的元素相等的对角矩阵。
单位矩阵:对角线上的元素都为1的对角矩阵。
-
提取矩阵的对角线元素
-
diag(A):提取矩阵A主对角线元素,产生了一个列向量。
-
diag(A,K):提取矩阵A第K条对角线的元素,产生一个列向量。
与主对角线平行,往上为第1,2,……n条,往下为第-1,-2,……-n条。
-
-
构造对角矩阵
- diag(V):以向量V为主对角线元素,产生对角矩阵。
- diag(V,K):以向量V为第k条对角线元素,产生对角矩阵。
-
-
三角阵
-
上三角阵
矩阵的对角线以下的元素全为零的矩阵
-
triu(A):提取矩阵A的主对角线及以上的元素。
-
triu(A,k):提取矩阵A的第k条对角线及以上的元素。
-
-
-
下三角阵
对角线以上的元素全为零的矩阵
在MATLAB中,提取矩阵A的下三角矩阵的函数是tril,其用法与triu函数完全相同。
-
矩阵的转置
矩阵行列交换。
-
转置运算符是小数点后面接单引号(.')。
-
共轭转置,其运算符是单引号(’),它在转置的基础上还要取每个数的复共轭。
-
如果矩阵的元素是实数,那么转置和共轭转置的结果是一样的。
-
矩阵的旋转
- rot90(A,K):将矩阵A逆时针方向旋转90°的k倍,当k为1时可省略。
-
矩阵的翻转
左右翻转将原矩阵的第一列和最后一列交换,第二列和倒数第二列交换,以此类推。
- fliplr(A):对矩阵A实施左右翻转。
- flipud(A):对矩阵A实施上下翻转。
-
矩阵求逆
- 对于一个方阵A,如果存在一个与其同阶的方阵B,使得AB=BA=I(单位矩阵),则称AB互为对方的逆矩阵。
- inv(A):求方阵A的逆矩阵。
2.3 矩阵求值
矩阵求值是指对一个矩阵进行某种运算,其结果还是一个数值。
-
矩阵的行列式值
- 把一个方阵看成一个行列式,并对其按行列式的规则求值,这个值就称为方阵所对应的行列式的值。
- det(A):求方阵A所对应的行列式值。
-
矩阵的秩
- 矩阵线性无关的行数或列数称为矩阵的秩
- rank(A):求矩阵A的秩
- 奇数阶魔方阵秩为n,即奇数阶魔方阵时满秩矩阵。
- 一重偶数阶魔方阵秩为n/2+2(n是的倍数,但非4的倍数)
- 双重偶数阶魔方阵秩均为3(劫数是4的倍数)
-
矩阵的迹
- 等于矩阵的对角线元素之和,也等于矩阵的特征值之和。
- trace(A):求矩阵A的迹
-
矩阵的范数
-
用来度量矩阵或向量在某种意义下的长度。
-
向量的3种常用范数:
- 向量1—范数:向量元素的绝对值之和
- 向量2—范数:向量元素平方和的平方根
- 向量—无穷大范数:所有向量元素绝对值中的最大值
-
MATLAB种求向量范数的函数为:
- norm(V,1):计算向量V的1—范数。
- norm(V)或norm(V,2):计算向量V的2—范数。
- norm(V,inf):计算向量V的无穷大—范数。
-
矩阵的范数
- 矩阵A的1—范数:矩阵列元素绝对值之和的最大值
- 矩阵A的2—范数:矩阵A的转置与矩阵A本身的乘积矩阵的最大特征值的平方根。
- 矩阵A的无穷大—范数:所有矩阵行元素绝对值之和的最大值
-
求矩阵范数的函数:
MATLAB提供了3种矩阵范数的函数,其函数调用格式与求向量的范数的函数完全相同。
-
-
矩阵的条件数
用于描述矩阵性能的参数。
矩阵A的条件数等于A的范数与A的逆矩阵的范数的乘积。
条件数越接近于1,矩阵的性能越好,反之矩阵的性能越差。
- cond(A,1):计算A的1—范数下的条件数。
- cond(A)或cond(A,2):计算A的2—范数下的条件数。
- cond(A,inf):计算A的无穷—范数下的条件数。
2.4 矩阵的特征值与特征向量
矩阵特征值的数学定义
设 A 是n阶方阵,如果存在数m和非零n维列向量 x,使得 Ax=mx 成立,则称 m 是矩阵A的一个特征值(characteristic value)或本征值(eigenvalue),x是对应特征值的一个特征向量。
求矩阵的特征值和特征向量
-
E=eig(A):求矩阵A的全部特征值,构成向量E
-
[X,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量。
-
特征值之间的几何意义
MATLAB提供了一个eigshow函数,可以演示单位圆上的向量x和Ax之间的关系。
2.5 稀疏矩阵
稀疏矩阵是指0元素的个数远远多于非0元素个数的矩阵。
-
矩阵的存储方式
-
完全存储方式
将矩阵的全部元素按列存储
-
稀疏存储方式
只存储矩阵的非零元素的值及其位置,即行号和列号。采用稀疏存储方式时,矩阵元素的存储顺序并没有改变,也是按列的顺序进行存储。
-
-
稀疏存储方式的产生
-
完全存储方式与稀疏存储方式之间的转化
- A=sparse(S):将矩阵S转化为稀疏存储方式的矩阵A
- S=full(A):将矩阵A转化为完全存储方式的矩阵S
-
直接建立稀疏存储矩阵
-
sparse函数的其他调用格式:
- sparse(m,n):生成一个m×n的所有元素都是0的稀疏矩阵
- sparse(u,v,S):其中u、v、s是3个等长的向量。S是要建立的系数存储矩阵的非零元素,u(i)、v(i)分别是S(i)的行和列下标。
-
使用spconvert函数直接建立系数存储矩阵,其调用格式为:
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列
-
-
带状稀疏矩阵的稀疏存储
稀疏矩阵有两种基本类型:无规则结构的稀疏矩阵与有规则结构的稀疏矩阵
带状稀疏矩阵是指所有非零元素集中在对角线上的矩阵。
- [B,d]=spdigs(A):从带状稀疏矩阵A中提取全部非零对角线元素赋给矩阵B及其这些非零对角线的位置向量d
- A=spdiags(B,d,m,n):产生带状稀疏矩阵的系数存储矩阵A,其中m、n为原带状稀疏矩阵的行数和列数,矩阵B的第i列即为原带状稀疏矩阵的第i条非零对角线,向量d为原带状稀疏矩阵所有非零对角线的位置。
-
单位矩阵的稀疏存储
单位矩阵:只有对角线元素为1,其他元素为0的矩阵。
- speye(m,n):返回一个m×n的稀疏存储单位矩阵
-
版权声明
本文为[京都小白]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_53602804/article/details/124367164
边栏推荐
猜你喜欢
Laser slam theory and practice of dark blue College Chapter 3 laser radar distortion removal exercise
JS high frequency interview questions
Data stream encryption and decryption of C
2022 Jiangxi energy storage technology exhibition, China Battery exhibition, power battery exhibition and fuel cell Exhibition
SSD硬盘SATA接口和M.2接口区别(详细)总结
2022江西光伏展,中國分布式光伏展會,南昌太陽能利用展
Dock installation redis
Implementation of object detection case based on SSD
Go语言JSON包使用
Go对文件操作
随机推荐
Excel opens large CSV format data
纳米技术+AI赋能蛋白质组学|珞米生命科技完成近千万美元融资
Implementation of image recognition code based on VGg convolutional neural network
.104History
C [file operation] read TXT text by line
Climbing watermelon video URL
Queue solving Joseph problem
Nat Commun|在生物科学领域应用深度学习的当前进展和开放挑战
_ FindText error
Thirteen documents in software engineering
positioner
Selenium + phantom JS crack sliding verification 2
Identification verification code
Build openstack platform
.105Location
mysql自动启动设置用Systemctl start mysqld启动
Auto.js 自定义对话框
Robocode tutorial 5 - enemy class
Solving the problem of displaying too many unique values in ArcGIS partition statistics failed
Classes and objects