TreeMind树图在线AI思维导图
当前位置:树图思维导图模板高校与高等教育高等数学MATLAB矩阵处理思维导图

MATLAB矩阵处理思维导图

  收藏
  分享
免费下载
免费使用文件
大灰 浏览量:142022-11-19 21:34:50
已被使用0次
查看详情MATLAB矩阵处理思维导图

MATLAB基础知识点——MATLAB矩阵处理

树图思维导图提供 MATLAB矩阵处理 在线思维导图免费制作,点击“编辑”按钮,可对 MATLAB矩阵处理  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:06352763a00887c77c9e4ac0b037ff79

思维导图大纲

MATLAB矩阵处理思维导图模板大纲

2.1 特殊矩阵

1.通用的特殊矩阵

zeros函数:产生全0矩阵,即零矩阵,0矩阵。

X = zeros ——返回标量 0。

X = zeros(n) ——返回一个 n×n 的全零矩阵。

X = zeros(sz1,...,szN) ——返回由零组成的 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如,zeros(2,3) 将返回一个 2×3 零矩阵。

X = zeros(sz) ——返回一个由零组成的数组,其中大小向量 sz 定义 size(X)。例如,zeros([2 3]) 将返回一个 2×3 零矩阵。

X = zeros(___,typename) ——返回一个由零组成并且数据类型为 typename 的数组。例如,zeros('int8') 将返回一个 8 位整数标量 0。您可以使用上述语法中的任何输入参数。

X = zeros(___,'like',p) ——将返回一个与 p 类似的由零值组成的数组,它具有与 p 相同的数据类型(类)、稀疏度和复/实性。您可以指定 typename 或 'like',但不能同时指定二者。

ones函数:产生全1矩阵,即幺矩阵,1矩阵。

X = ones ——返回标量 1。

X = ones(n) ——返回一个 n×n 的全 1 矩阵。

X = ones(sz1,...,szN) ——返回由 1 组成的 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如,ones(2,3) 返回由 1 组成的 2×3 数组1矩阵。

X = ones(sz) ——返回一个由 1 组成的数组,其中大小向量 sz 定义 size(X)。例如,ones([2,3]) 返回由 1 组成的 2×3 数组1矩阵。

X = ones(___,typename) ——在上述语法的基础上进一步指定 X 的数据类型(类)。例如,ones(5,'int8') 返回 8 位整数组成的 5×5 矩阵。

X = ones(___,'like',p) ——指定 X 具有与数值变量 p 相同的数据类型、稀疏性和复/实性(实数或复数)。

eye函数:产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵。

I = eye ——返回标量 1。

I = eye(n) ——返回一个主对角线元素为 1 且其他位置元素为 0 的 n×n 单位矩阵对角矩阵。

I = eye(n,m) ——返回一个主对角线元素为 1 且其他位置元素为 0 的 n×m 矩阵。

I = eye(sz) ——返回一个主对角线元素为 1 且其他位置元素为 0 的数组。大小向量 sz 定义 size(I)。例如,eye([2,3]) 返回一个主对角线元素为 1 且其他位置元素为 0 的 2×3 数组。

I = eye(___,typename) ——在上述语法的基础上还指定 I 的数据类型(类)。例如,eye(5,'int8') 返回由 8 位整数组成的 5×5 单位矩阵。

I = eye(___,'like',p) ——指定 I 具有与数值变量 p 相同的数据类型、稀疏性和复/实性(实数或复数)。

主对角线元素为 1

rand函数:产生(0,1)开区间内均匀分布的随机矩阵。

X = rand ——返回一个在区间 (0,1) 内均匀分布的随机数。

X = rand(n) ——返回一个 n×n 的随机数矩阵。

X = rand(sz1,...,szN) ——返回由随机数组成的 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如:rand(3,4) 返回一个 3×4 的矩阵。

X = rand(sz) ——返回由随机数组成的数组,其中大小向量 sz 指定 size(X)。例如:rand([3 4]) 返回一个 3×4 的矩阵。

X = rand(___,typename) ——返回由 typename 数据类型的随机数组成的数组。typename 输入可以是 'single' 或 'double'。您可以使用上述语法中的任何输入参数。rand(5,'int8')

X = rand(___,'like',p) ——返回由 p 等随机数组成的数组;也就是与 p 同一对象类型。您可以指定 typename 或 'like',但不能同时指定两者。

产生[a,b]区间上均匀分布的随机整数。

fix(a+(b-a+1)*x)——x为rand函数(rand,rand(n),rand(sz1,...,szN),rand(sz) 等)

randn函数:产生均值为0,方差为1的标准正态分布随机矩阵。

X = randn ——返回一个从标准正态分布(期望值μ=0,标准差σ=1条件下的正态分布,记为N(0,1))中得到的随机标量。

X = randn(n) ——返回由标准正态分布的随机数组成的 n×n 矩阵。

X = randn(sz1,...,szN) ——返回由随机数组成的 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如:randn(3,4) 返回一个 3×4 的矩阵。

X = randn(sz) ——返回由随机数组成的数组,其中大小向量 sz 定义 size(X)。例如:randn([3 4]) 返回一个 3×4 的矩阵。

X = randn(___,typename) ——返回由 typename 数据类型的随机数组成的数组。typename 输入可以是 'single' 或 'double'。您可以使用上述语法中的任何输入参数。randn(5,'int8')

X = randn(___,'like',p) ——返回由 p 等随机数组成的数组;也就是与 p 同一对象类型。您可以指定 typename 或 'like',但不能同时指定两者。

产生均值为μ、方差为σ的随机数(符合正态分布)。

μ+σx——x为randn函数(X = randn,X = randn(n) ,X = randn(sz1,...,szN),X = randn(sz) 等)

例子

随机数

randperm

randperm函数:整数的随机排列

语法

p = randperm(n)

返回行向量,其中包含从 1 到 n 没有重复元素的整数随机排列。

p = randperm(n,k)

返回行向量,其中包含在 1 到 n 之间随机选择的 k 个唯一整数。

示例

PS:产生1~N的不重复的数(生成一个1~N随机打乱的向量)

a=randperm(N)

乱序:让一个向量a乱序,打乱顺序

a=a(randperm(length(a)))

randi

randi:均匀分布的伪随机整数

X = randi(imax)

返回一个介于 1 和 imax 之间的伪随机整数标量。

X = randi(imax,n)

返回 n×n 矩阵,其中包含从区间 [1,imax] 的均匀离散分布中得到的伪随机整数。

X = randi(imax,sz1,...,szN)

返回 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如,randi(10,3,4) 返回一个由介于 1 和 10 (imax)之间的伪随机整数组成的 3×4 数组。

X = randi(imax,sz)

返回一个数组,其中大小向量 sz 定义 size(X)。例如,randi(10,[3,4]) 返回一个由介于 1 和 10 之间的伪随机整数组成的 3×4 数组。

X = randi(imax,classname)

返回一个伪随机整数,其中 classname 指定数据类型。classname 可以为 'single'、'double'、'int8'、'uint8'、'int16'、'uint16'、'int32' 或 'uint32'。

X = randi(imax,n,classname)

返回数据类型为 classname 的 n×n 数组。

X = randi(imax,sz1,...,szN,classname)

返回数据类型为 classname 的 sz1×...×szN 数组。

X = randi(imax,sz,classname)

返回一个数组,其中大小向量 sz 定义 size(X),classname 定义 class(X)。

X = randi([imin,imax],___)

使用以上任何语法返回一个数组,其中包含从区间 [imin,imax] 的均匀离散分布中得到的整数。

比如:

X = randi([imin,imax],sz1,...,szN)

MATLAB产生各种分布的随机数

1.在开区间,(0,1)区间的均匀分布

产生m*n阶(0,1)均匀分布的随机数矩阵:

rand (m, n)

产生一个(0,1)均匀分布的随机数:

rand

2. 均匀分布U,(a,b)区间的均匀分布

产生m*n阶[a,b]均匀分布U(a,b)的随机数矩阵

unifrnd(a,b,m, n)

产生一个[a,b]均匀分布的随机数

unifrnd (a,b)

3.均值为μ,方差为σ的正态分布的随机数矩阵:

返回由标准正态分布的随机数组成的 n×n 矩阵。(期望值μ=0,标准差σ=1条件下的正态分布,记为N(0,1))

X = randn(n)

产生一个均值为μ,方差为σ的正态分布

normrnd(μ,σ)

产生mxn阶均值为μ,方差为σ的正态分布

normrnd (μ,σ,m,n)

4.二类分布binornd(N,P,m,n),

binornd(10,0.5,m,n)

即产生m*n均值为N*P的矩阵

binornd(N,p)

则产生一个标量。

binornd(10,0.5,m)

则产生m*m的方阵,军阵为N*p。

5.产生m*n阶离散均匀分布的随机数矩阵:

unidrnd(N,m,n)

产生一个数值在1-N区间的m*n矩阵

6.产生m*n阶期望值为μ的指数分布的随机数矩阵:

exprnd (μ,m,n)

此外,常用逆累积分布函数表

函数名       调用格式                  函数注释

norminv     X=norminv(P,mu,sigma)      正态逆累积分布函数

expinv       X=expinv(P,mu)             指数逆累积分布函数

weibinv      X=weibinv(P,A,B)           威布尔逆累积分布函数

logninv     X=logninv(P,mu,sigma)       对数正态逆累积分布函数

Chi2inv      X=chi2inv(P,A,B)           卡方逆累积分布函数

Betainv      X=betainv(P,A,B)            β分布逆累积分布函数

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

 M=magic(n)——魔方矩阵,Magic Square ,n阶

A=vander(V) ——范德蒙矩阵,Vandermonde,n阶

H=hilb(n)——希尔伯特矩阵,Hilbert,n阶

 A=compan(p) ——伴随矩阵,n阶——意义:根据一个多项式p可以写出它的伴随矩阵A,这个矩阵A的特征值就是方程p=0的根。

P=pascal(n)——帕斯卡矩阵,Pascal,杨辉三角形,n阶

2.2 矩阵变换

1.对角阵

对角阵:只有对角线上有非零元素的矩阵。

数量矩阵:对角线上的元素相等的对角矩阵。

单位矩阵:对角线上的元素都为1的对角矩阵。

(1) 提取矩阵的对角线元素

diag(A)——提取矩阵A主对角线元素,产生一个列向量。

diag(A,k)——提取矩阵A第k条对角线的元素,产生一个列向量。

(2) 构造对角阵

diag(V)——以向量 V为主对角线元素,其余元素为0。产生对角矩阵。

diag(V,k)——以向量 V为第k条对角线元素,其余元素为0。产生对角矩阵。

用一个【对角阵左乘】一个矩阵时,相当于用对角阵对角线的第1个元素乘以该矩阵的第一行,用对角阵对角线的第2个元素乘以该矩阵的第二行,依此类推。

要将A的各列元素分别乘以对角阵的对角线元素,可以用一个【对角阵右乘】矩阵A。

2.三角阵

上三角阵:矩阵的对角线以下的元素全为零的矩阵。

下三角阵:对角线以上的元素全为零的矩阵。

(1)提取上三角矩阵

triu(A)——提取矩阵A的主对角线及以上的元素。

triu(A,k)——提取矩阵A的第k条对角线及以上的元素。

(2) 提取下三角矩阵:在MATLAB中,提取矩阵A的下三角矩阵的函数是tril,其用法与triu函数完全相同。

tril(A)——提取矩阵A的主对角线及以下的元素。

tril(A,k)——提取矩阵A的第k条对角线及以下的元素。

3.矩阵的转置

A'——共轭转置,其运算符是单引号('),它在转置的基础上还要取每个数的复共轭。

4.矩阵的旋转

rot90(A,k)——将矩阵A逆时针方向旋转90º的k倍,当k为1时可省略。

5.矩阵的翻转

fliplr(A)——对矩阵A实施左右翻转。

flipud(A)——对矩阵A实施上下翻转。

6.矩阵的求逆

inv(A)——求方阵A的逆矩阵。

B=pinv(A)

即可求得矩阵A的Moore-Penrose广义逆。当为方阵时,inv逆等于pinv广义逆

分支主题 3

2.5 稀疏矩阵

1.矩阵的存储方式

完全存储方式:将矩阵的全部元素按列存储。

稀疏存储方式:只存储矩阵的非零元素的值及其位置,即行号和列号。

注意,采用稀疏存储方式时,矩阵元素的存储顺序并没有改变,也是按列的顺序进行存储。

2.稀疏存储方式的产生

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

S=full(A)——将矩阵A转化为完全存储方式的矩阵S。

A=sparse(S)——将矩阵S转化为稀疏存储方式的矩阵A。

sparse函数的其他调用格式:——直接建立稀疏存储矩阵(2)

sparse(m,n)——生成一个m×n的所有元素都是零的稀疏矩阵。

sparse(u,v,S)——其中u、v、S是3个等长的向量。S是要建立的稀疏存储矩阵的非零元素,u(i)、v(i)分别是S(i)的行和列下标。

B=spconvert(A)——(和上面的sparse函数差不多)使用spconvert函数直接建立稀疏存储矩阵,其中,A为一个m×3或m×4的矩阵,其每行表示一个非零元素,m是非零元素的个数。 

稀疏矩阵有两种基本类型:

无规则结构的稀疏矩阵 与

有规则结构的稀疏矩阵。

带状稀疏矩阵 就是一种十分典型的具有规则结构的稀疏矩阵,它是指:所有非零元素集中在对角线上的矩阵。

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

[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的稀疏存储单位矩阵。 m*n矩阵的主对角全为1

3.稀疏矩阵应用举例

总结:

感觉这个带状稀疏矩阵的稀疏存储spdiags没太多的实操价值,还不如直接用普通的sparse(u,v,S)和B=spconvert(A)稀疏存储矩阵

2.4 矩阵的特征值与特征向量

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

2.求矩阵A(必须是方阵)的特征值与特征向量 [行列式]

E=eig(A)——求矩阵A的全部特征值,构成向量E。

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

3.特征值的几何意义

eigshow——演示向量x和Ax之间的关系。

大写字母M,斜体字库

2.3 矩阵求值

1.方阵的行列式

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

2.矩阵的秩

rank(A)——求矩阵A的秩。

3.矩阵的迹

trace(A)——求矩阵A的迹。

4.【向量范数,矩阵范数】

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

norm(V,2)或norm(V)——计算向量V的2-范数。

norm(V,1)——计算向量V的1-范数。

norm(V,inf)——计算向量V的∞-范数。

n = norm(v) ——返回向量 v 的欧几里德范数。此范数也称为 2-范数、向量模或欧几里德长度。

n = norm(v,p) ——返回广义向量 p-范数。其中 p 为 1、2 或 Inf,-Inf。

(2)矩阵的范数

n = norm(X) ——返回矩阵 X 的 2-范数或最大奇异值,该值近似于 max(svd(X))。

n = norm(X,p) ——返回矩阵 X 的 p-范数,其中 p 为 1、2 或 Inf。

不能使用-inf,矩阵的模只能为 1、2、inf 或 'fro'。

n = norm(X,'fro') ——返回矩阵 X 的 Frobenius 范数。——所有元素的绝对值的平方和,再开根号。

补充:svd

svd——奇异值分解 函数

说明:

s = svd(A)

以降序顺序返回矩阵 A 的奇异值。

[U,S,V] = svd(A)

执行矩阵 A 的奇异值分解,因此 A = U*S*V'。

[U,S,V] = svd(A,'econ')

为 m×n 矩阵 A 生成精简分解:

m > n - 只计算 U 的前 n 列,S 是一个 n×n 矩阵。

m = n - svd(A,'econ') 等效于 svd(A)。

m < n - 只计算 V 的前 m 列,S 是一个 m×m 矩阵。

精简分解从奇异值的对角矩阵 S 中删除额外的零值行或列,以及 U 或 V 中与表达式 A = U*S*V' 中的那些零值相乘的列。删除这些零值和列可以缩短执行时间,并减少存储要求,而且不会影响分解的准确性。

[U,S,V] = svd(A,0)

为 m×n 矩阵 A 生成另一种精简分解:

m > n - svd(A,0) 等效于 svd(A,'econ')。

m <= n - svd(A,0) 等效于 svd(A)。

5.矩阵的条件数

在MATLAB中,计算矩阵A的3种条件数的函数是:

cond(A,1)——计算A的1-范数下的条件数。

cond(A,2)或cond(A)——计算A的2-范数数下的条件数。

cond(A,inf)——计算A的∞-范数下的条件数。

相关思维导图模板

社群客服SOP细则思维导图

树图思维导图提供 社群客服SOP细则 在线思维导图免费制作,点击“编辑”按钮,可对 社群客服SOP细则  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:81b812ba763ba888461739d58163c1e4

卫生化学--元素和无机物分析思维导图

树图思维导图提供 卫生化学--元素和无机物分析 在线思维导图免费制作,点击“编辑”按钮,可对 卫生化学--元素和无机物分析  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4c942d0350c858e06a1f7ed29a86d096