欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Matlab矩阵与矩阵运算

程序员文章站 2022-05-22 13:06:23
...

MATLAB矩阵的表示

1.矩阵的建立

  • 1.1 直接输入创建
    最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。
    Matlab矩阵与矩阵运算

  • 1.2 利用已经创建好的矩阵组成
    大矩阵可由已建好的小矩阵拼接而成。例如:
    Matlab矩阵与矩阵运算

  • 1.3 生成特殊矩阵的函数

函数 特殊矩阵
A.‘ 矩阵转置
inv(A) 矩阵求逆
sparse(A) 稀疏矩阵
full(A) 将稀疏矩阵转换为普通矩阵
eye(n) n阶单位矩阵
zeros(m,n) m×n的零矩阵
ones(m,n) m*n的元素全为1的矩阵
rand(m,n) m*n的随机矩阵,元素在0-1间均匀分布
randn(m,n) m*n的正态随机矩阵
randperm(n) 生成1-n之间的整数随机排列
magic(n) n阶魔方矩阵
hilb(n) n阶希尔伯特矩阵
pascal(n) n阶帕斯卡矩阵
flipud(A) 将矩阵上下翻转
fliplr(A) 将矩阵左右翻转
rot90(A,k) 将矩阵旋转90°的k倍,k为1时可省略
diag(A,k) 从第k条对角线,获取矩阵的对角线元素,k可省略
tril(A,k) 从第k条对角线开始生成下三角矩阵,k可省略
triu(A,k) 从第k条对角线开始生成上三角矩阵,k可省略

2.矩阵的引用

  • 1.矩阵元素的引用方式
    MATLAB通过下标引用矩阵的元素,A(i,j)表示矩阵第i行第j列的元素。
    也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。
    显然,序号(Index)与下标(Subscript )是一一对应的,以m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。
  • 2.获得子矩阵
    ① A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。
    ② A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。
    ③A(:)将矩阵A每一列元素堆叠起来,成为一个列向量,而这也是MATLAB变量的内部储存方式。
    还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。
  • 3.利用空矩阵删除矩阵的元素
    在MATLAB中,定义[ ]为空矩阵。给变量X赋空矩阵的语句为X=[ ]。
    注意,X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。

3.矩阵的函数

1. 矩阵的构造与操作 
zeros    生成元素全为0的矩阵
ones     生成元素全为1的矩阵 
eye      生成单位矩阵 
rand     生成随机矩阵 
randn    生成正态分布随机矩阵 
sparse   生成稀疏矩阵 
full     将稀疏矩阵化为普通矩阵 
diag     对角矩阵 
tril     矩阵的下三角部分 
triu     矩阵的上三角部分
flipud   矩阵上下翻转
fliplr   矩阵左右翻转 

2. 矩阵运算函数 
norm     矩阵或向量范数 
normest  稀疏矩阵(或大规模矩阵)的2-范数估计 
rank     矩阵的秩 
det      方阵的行列式 
trace    方阵的迹 
null     求基础解系(矩阵的零空间) 
orth     正交规范化 
rref     矩阵的行最简形(初等行变换求解线性方程组) 
subspace 计算两个子空间的夹角   

3. 与线性方程有关的矩阵运算函数 
inv       方阵的逆 
cond      方阵的条件数 
condest   稀疏矩阵1-范数的条件数估计 
chol      矩阵的Cholesky分解(矩阵的平方根分解) 
cholinc   稀疏矩阵的不完全Cholesky分解 
linsolve  矩阵方程组的求解
lu        矩阵的LU分解 
ilu       稀疏矩阵的不完全LU分解 
luinc     稀疏矩阵的不完全LU分解 
qr        矩阵的正交三角分解 
pinv      矩阵的广义逆  

4. 与特征值或奇异值有关的矩阵函数 
eig       方阵的特征值与特征向量 
svd       矩阵的奇异值分解 
eigs      稀疏矩阵的一些(默认6个)最大特征值与特征向量 
svds      矩阵的一些(默认6个)最大奇异值与向量 
hess      方阵的Hessenberg形式分解 
schur     方阵的Schur分解
相关标签: Matlab学习 matlab