专题二:MATLAB矩阵处理

专题二:MATLAB矩阵处理

2-1特殊矩阵

1.通用性的特殊矩阵

· zeros()函数:全0矩阵,即零矩阵。
· ones()函数:全1矩阵,即幺矩阵。
· eye()函数:对角线矩阵,当矩阵是方阵时,即单位矩阵。
· rand()函数:产生(0,1)区间均匀分布的随机矩阵。
· randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。
调用格式:
zero(m):产生m * m零矩阵。
zeros(m,n):产生m* n零矩阵。
zeros(size(A)):产生与矩阵A同样大小的零矩阵。

>> A=zeros(2,3)
A =
0 0 0
0 0 0
>> zeros(size(reshape(A,3,2)))   //reshape()将A转变为3行2列的矩阵
ans =
0 0
0 0
0 0

例题

2.用于专门学科的特殊矩阵

(1)魔方矩阵–Magic Square
· n阶魔方阵由1,2,3,… n^2个整数组成,且每行每列主副对角线上元素和相同。
· n阶魔方阵每行每列元素和为(1+2+3+…+n^ 2)/n = (n+n^3)/2.
· MATLAB函数magic(n)产生一个特定的魔方阵。
(2)范德蒙矩阵
对于向量V=[v1,v2,v3,…,vn],范德蒙矩阵一般形式为:范德蒙矩阵
MATLAB函数vander(V)生成以向量V为基础的范德蒙矩阵。
(3)希尔伯特矩阵
n阶希尔伯特(Hilbert)矩阵的一般形式为:
希尔伯特矩阵
希尔伯特矩阵元素为H(i,j) = 1/(i+j-1)。
MATLAB函数hilb(n)生成n阶希尔伯特矩阵。
>>format rat //分数格式
(4)伴随矩阵
设多项式p(x)为anX^ n+a(n-1)X^(n-1)+…+a1X+a0,则多项式的伴随矩阵是:
伴随矩阵
p(x)为A的特征多项式,方程p(x)=0的根为A的特征值。
MATLAB函数compan(p)生成伴随矩阵。p是一个多项式的系数向量,高次幂在前。
(5)帕斯卡矩阵
· 根据二项式定力,(x+y)^n展开后系数随着n的增大组成一个三角形表,杨辉三角。
· 把二项式系数依次填写在矩阵的左侧对角线上,提取左侧n行n列元素组成帕斯卡矩阵。
帕斯卡矩阵
MATLAB函数pascal(n)生成一个n阶帕斯卡矩阵。
P(i,1)=P(1,j)=1;P(i,j)=P(i,j-1)+P(i-1,j)。

2-2矩阵变换

矩阵变换结果还是一个矩阵。

1.对角阵

· 对角矩阵:只有对角线上有非零元素
· 数量矩阵:对角线上元素相等的对角矩阵。
· 单位矩阵:对角线上元素全为1的对角矩阵。
(1)提取矩阵的对角线元素
diag(A):提取矩阵A主对角线元素,产生一个列向量。
diag(A,k):提取第k条对角线,产生列向量。k>0向上取,k<0向下取。
(2)构造对角矩阵
diag(V):以向量V为主对角线元素,产生对角矩阵
diag(V,k):以向量V为第k条对角线元素,产生对角矩阵。

2.三角阵

· 上三角阵:矩阵对角线以下元素全为0。
triu(A):提取矩阵A主对角线及以上的元素。
triu(A,k):第k条对角线及以上的元素。
· 下三角阵:对角线以上全为0。

3.矩阵的转置

· 转置运算符是小数点后接单引号(.’)。
· 共轭转置,单引号(‘),转置后求每个数的复共轭。

4.矩阵的旋转

rot90(A,k):将矩阵A逆时针旋转90度的k倍,k为1可省略。

5.矩阵的翻转

fliplr(A):对矩阵A实施左右翻转。
flipud(A):对矩阵A上下翻转。

6.矩阵求逆

对于一个方阵A,如果存在一个同阶方阵B,使得AB=BA=I(I为单位矩阵),则B是A的逆矩阵。
inv(A):求方阵A的逆矩阵。
逆矩阵解方程

2-3矩阵求值

1.矩阵的行列式值

det(A):求方阵A所对应的行列式的值。

2.矩阵的秩

rank(A):求矩阵A的秩。矩阵线性无关的行数或列数称为秩。
矩阵的秩
bar®绘制直方图。
·奇数阶魔方阵秩为n,一重偶数阶魔方阵秩为n/2+2,双重偶数阶魔方阵秩均为3.

3.矩阵的迹

trace(A):求矩阵A的迹。等于对角线元素之和,也等于特征值之和

4.矩阵的范数

矩阵或向量的范数用来度量矩阵或向量在某种意义下的长度。
(1)向量的3中常用范数:
· 向量1-范数:向量元素绝对值之和。||V||1=Σ|vi|。
· 向量2-范数:向量元素平方和的平方根。||V||2=√(Σvi^2)。
· 向量∞-范数:所有向量元素绝对值中的最大值。||V||∞=max{|vi|}。
norm(V)norm(V,2):计算向量V的2-范数。
norm(V,1):计算向量V的1-范数。
norm(V,inf):计算向量V的∞-范数。
(2)矩阵的范数
· 矩阵A的1-范数:矩阵列元素绝对值之和的最大值。
· 矩阵A的2-范数:A`A矩阵最大特征值的平方根。
· 矩阵A的∞-范数:所有矩阵行元素绝对值和的最大值。
MATLAB函数与向量的相同。

5.矩阵的条件数

· 矩阵A的条件数等于A的范数与A的逆矩阵范数的乘积。
· 条件数越接近1,矩阵的性能越好。
cond(A,1):计算A的1-范数下的条件数。
cond(A)或cond(A,2):计算A的2-范数下的条件数。
cond(A,inf):计算A的∞-范数下的条件数。
条件数

2-4矩阵的特征值与特征向量

1.矩阵特征值的数学定义

· 设A是n阶方阵,如果存在常数k和n维非零列向量x,使得等式Ax=kx成立,则k为A的特征值,x是对应特征值k的特征向量。

2.求矩阵的特征值与特征向量。

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

3.特征值的几何意义

eigshow()函数,演示单位元上的向量x和向量Ax之间的关系。
在这里插入图片描述

2-5稀疏矩阵

1.矩阵的存储方式

(1)完全存储方式:全部元素按列存储
(2)稀疏存储方式:只存储非零元素的值及位置,即行号和列号。按列顺序存储。

2.稀疏存储方式的产生

(1)完全存储方式与稀疏存储方式之间的转化
· A=sparse(S):将矩阵S转化为稀疏存储方式的矩阵A。
· S=full(A):将矩阵A转化为完全存储方式的矩阵S。
稀疏矩阵
(2)直接建立稀疏存储矩阵
· sparse()函数其他调用格式:
sparse(m,n):生成一个mn的所有元素是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个非零元素的虚部。
直接建立稀疏矩阵
(3)带状稀疏矩阵的稀疏存储
· 稀疏矩阵有两种:无规则结构的稀疏矩阵,有规则结构的。
· 带状稀疏矩阵是指所有非零元素集中在对角线上的矩阵。
[B,d]=spdiags(A):从带状稀疏矩阵A中提取全部 非零对角线元素 赋给矩阵B,及这些非零对角线的 位置向量 d。
A=spdiags(B,d,m,n)
–产生带状稀疏矩阵的稀疏存储矩阵A。
–m,n为原带状稀疏矩阵的行数列数。
–矩阵B的第i列即为原带状稀疏矩阵的第i条非零对角线。
–向量d为原带状稀疏矩阵所有非零对角线的位置。
带状稀疏矩阵

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

>>speye(3)
ans =
(1,1) 1
(2,2) 1
(3,3) 1

3.稀疏矩阵的应用实例

例题
题解

  • 9
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值