MATLAB的矩阵处理

目录

1.特殊矩阵

2.向量和矩阵的范数

3.稀疏矩阵(零元素的个数远多于非零元素的个数)


1.特殊矩阵

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

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

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

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

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

zeros函数的调用格式:

zeros(m):产生m×m零矩阵;

zeros(m,n):产生m×n零矩阵;

zeros(size(A)):产生与矩阵A同样大小的零矩阵。

2.向量和矩阵的范数

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

在MATLAB中,求向量范数的函数为:

norm(V)或norm(V,2):计算向量V的2—范数;

norm(V,1):计算向量V的1—范数;

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

MATLAB提供了求3种矩阵范数的函数,其函数调用格式与求向量的范数的函数完全相同。

3.稀疏矩阵(零元素的个数远多于非零元素的个数)

3.1矩阵的存储方式

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

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

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

3.2稀疏存储方式的产生

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

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

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

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

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

sparse(u,v,S):其中u、v、S是3个等长的向量。

S是要建立的稀疏存储矩阵的非零元素,u(i)、v(i)分别是S(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的稀疏存储单位矩阵。

内容来源于慕课课程:科学计算与MATLAB语言

 

猜你喜欢

转载自blog.csdn.net/weixin_45317919/article/details/109194254