三、矩阵运算

(一)矩阵函数和特殊矩阵

  • 常见的矩阵处理函数

    • 表3-1    常见的矩阵函数
函数 说明
/或\ 矩阵除法中的左除或右除,可以用于求解线性方程组
accumarray(ind,val) 累加创建数组
A^n 求解矩阵A的n次幂
balance(A) 将矩阵A进行缩放以提高其特征值的精度
[V,D]=cdf2rdf(V,D) 将复数对角矩阵转换为两个实数对角矩阵
chol(A) 对矩阵A进行Cholesky因式分解
cholinc(A,DropTol) 对矩阵A进行不完全的Cholesky因式分解,DropTol指定分解误差
cholinc(A,Options) 对矩阵A进行不完全的Cholesky因式分解,Options为包含3个分量的结构体
cholupdate(R,X) Cholesky因式分解的秩1升级
cond(A) 利用奇异值分解求矩阵A的范数
condest(A) 求矩阵A的范数1的条件数估计
[V,D,s]=condeig(A) 求矩阵A与重特征值相对应的条件数
det(A) 求矩阵的行列式
dmperm(A) 求矩阵A进行Dulmage-Mendelsohn排列
eig(A) 求矩阵A的特征值和特征向量
[V,D]=eig(A) 求矩阵A的特征向量矩阵(V)和特征值对角矩阵(D)
expm(A) 矩阵指数函数
funm(A) 矩阵通用函数
gsvd(A,B) 求矩阵A的广义奇异值
[U,V,X,C,S]=gsvd(A) 求矩阵A进行广义奇异值分解
hess(A) 求矩阵A的Hessenburg标准型
inv(A) 求矩阵A的逆
linsolve(A,y,options) 快速求解方程组Ax=y,其中A的结构由options条件给定
logm(A) 矩阵的对数运算
lscov(A,y,V) 已知数据的协方差矩阵(V),求线性方程组的最小二乘解
lsqnonneg(A,y) 求线性方程组的非负最小二乘解
[L,U,P]=lu(A) 对矩阵A进行LU分解
minres(A,y) 利用最小残差方法求线性方程组的解
norm(A,type) 求矩阵或向量(由type指定)的范数
null(A) 求A的零空间
orth(A) 求A的正交空间
pinv(A) 求A的伪逆矩阵
planerot(X) 求X进行平面旋转
ploy(A) 求A的特征多项式
polyeig(A0,A1,...) 多项式的特征值解
polyvalm(A) 求A的矩阵多项式
qr(A) 对A进行正交三角分解
qrdelete(Q,R,J) 从QR分解中删除行或列
qrinsert(Q,R,J,X) 在QR分解中插入行或列
qz(A,B) 广义特征值问题求解
rank(A) 利用奇异值分解求A的秩
rcond(A) 对A进行LAPACK倒数条件估计
rref(A) 将矩阵A变换为行阶梯型
rsf2csf(A) 将A由实块对角阵转换为复块对角阵
schur(A) 对矩阵A进行Schur分解
sqrtm(A) 求矩阵A的平方根
subspace(A,B) 求两个子空间A和B之间的角度
svd(A) 求矩阵A的奇异值
[U,S,V]=svd(A) 对A进行奇异值分解
trace(A) 求矩阵A的迹(即对角线元素之和)
  • 特殊矩阵

    • 表3-2    特殊矩阵
矩阵 说明
 [] 空矩阵
blkdiag(a0,a1,...) 以输入参数为对角元素生成对角矩阵
compan(P)  求多项式的伴随矩阵 
eye(r,c)  产生r行,c列的单位矩阵 
gallery  生成一系列的测试矩阵(50个以上) 
hadamard(n) 生成1个n阶的Hadamard矩阵 
hankel(C)  生成C的Hankel矩阵 
hilb(n)  生成n阶的Hilbert矩阵 
invhilb(n)  生成n阶的逆Hilbert矩阵 
magic(n)  生成n阶的魔幻矩阵 
ones(r,c)  生成r行、c列的全1矩阵 
pascal(n)  生成n阶的Pascal矩阵 
rand(r,c)  生成r行、c列的随机矩阵(元素值介于0和1之间) 
randn(r,c) 生成r行、c列的零均值和单位方差的正态分布的随机矩阵
rosser  典型的对称矩阵特征值问题测试
toeplitz(C,R) 生成Toeplitz矩阵
vander(C) 生成Vandermonde矩阵
wilkinson(n) 生成n阶的Wilkinson特征值测试矩阵
zeros(r,c) 生成r行、c列的全0矩阵
  • 稀疏矩阵

    • 稀疏矩阵中大部分元素都是0,只有少部分元素是非0的。
    • 一般,MATLAB存储稀疏矩阵需要通过3个矩阵,对于一个m×n的矩阵(假设其中有nz个非0元素,存储在长度为nz_max的矩阵中)
      • 第一个矩阵:存储所有非0元素,矩阵长度为nz_max
      • 第二个矩阵:存储所有非0元素的行下标,矩阵长度也为nz_max
      • 第三个矩阵:存储每一列开始处的指针和标志这3个矩阵结束的指针,存储长度为n+1
    • 创建稀疏矩阵
      • sparse(i,j,s,m,n,nz_max)使用[i,j,s]来创建m×n维稀疏矩阵s(s为所有非0元素构成的向量,ij为非0元素的行下标、列下标)
      • spdiags(B,d,m,n)可以抽取、创建或替代对角稀疏矩阵(d表示长度为p的整数向量,B为满矩阵)
    • 表3-3    稀疏矩阵函数
函数 说明
bicg 求解双共轭梯度迭代线性方程的解
bicgstab 求解双共轭梯度稳定迭代线性方程的解
cgs 求解二次共轭梯度迭代线性方程曾的解
cholinc 不完全Cholesky分解
colamd 列估计最小度重排序方法
colamdtree 带列消元树排序后的colamd方法
colmmd 列最小度排序
colperm 对列进行随机排序
condest 1范数估计
dmperm Dulmage-Nebdeksohn重排序方法
eigs 使用APPACK的特征值
etree 矩阵消元树结构
etreeplot 绘制消元路径
find 寻找非0元素索引
full 将稀疏矩阵转化为完整矩阵
gmres 求广义最小残差迭代线性方程的解
gplot 绘制图论图形
issparse 判断是否为稀疏矩阵
lsqr 标准方程中共轭梯度的LSQR实现
luinc 不完全LU因式分解
minres 最小残差迭代线性方程求解
Nnz 求矩阵中的非0元素个数
nonzeros 提取矩阵中的非0元素
normest 矩阵的2范数估计
nzmax 求分配给非0元素的存储空间
pcg 求预处理共轭梯度迭代线性方程组的解
qmr 伪最小残差迭代线性方程组解法
randperm 产生随机排列的数组
spalloc 为稀疏矩阵分配内存空间
sparse 创建稀疏矩阵
spaugment 建立最小二乘增广矩阵
spconvert 从外部格式中载入稀疏矩阵
sodiags 利用对角元素生成稀疏矩阵
speye 单位稀疏矩阵
spfun 将一个函数应用于非0元素
spones 将所有非0元素用1代替
spparms 设置稀疏矩阵程序的参数
sprand 创建均匀分布的随机稀疏矩阵
sprandn 创建高斯分布的随机稀疏矩阵
sprandsym 创建对称的随机稀疏矩阵
sprank 求结构秩的值
spy 稀疏矩阵的图形表示
svds 产生一些奇异值
symbfact 符合因式分解
symamd 对称估计最小阶次重排序法
symamdtree 带对称消元树排序后的symand
symmd 对称最小阶次重排序
symmlq 对称LQ迭代线性方程的求解
symrcm 对称的反向Cuthill-Mckee重排序
treelayout 变换成树状结构
treeplot 画出树状图
    • 创建稀疏矩阵并画出稀疏矩阵的图(e_three_1.m

(二)矩阵分析

  • 范数分析
  1. 向量的范数

    • 线性空间中的某个向量$\textbf{x}=\left \{ x_{1},x_{2},\cdots ,x_{n} \right \}$,其p范数定义为:$\left \| \mathbf{x} \right \|_{p}=\left ( \sum_{i=1}^{n}\left |  x_{i}\right |^{p}\right )^{\frac{1}{p}}$

Matlab学习笔记(五)的更多相关文章

  1. C#可扩展编程之MEF学习笔记(五):MEF高级进阶

    好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...

  2. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  3. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  4. (转)Qt Model/View 学习笔记 (五)——View 类

    Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...

  5. matlab学习笔记(一)单元数组

    matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil( ...

  6. java之jvm学习笔记五(实践写自己的类装载器)

    java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...

  7. Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  8. Typescript 学习笔记五:类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  9. ES6学习笔记<五> Module的操作——import、export、as

    import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...

  10. muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor

    目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Accep ...

随机推荐

  1. 前缀和小结 By cellur925

    这篇主要是来介绍前缀和的QAQ. 前缀和有一维的和二维的,一维的很容易理解,高中数学必修5第二章数列给出了前n项和的概念,就是前缀和.一维的我们在这里简单说一句. 一维前缀和 预处理:在输入一个数列的 ...

  2. mqtt遇到的问题锦集

    1.无效客户机标识 (2) Connect指令中的KeepAlive有效范围[60秒,300秒],否则会拒绝连接. 2.消息回调出现频繁的断开连接 待解决 3.长时间消息回调出现 已断开连接 (321 ...

  3. Qt事件系统之二:鼠标事件和滚轮事件

    在Qt中,事件作为一个对象,继承自 QEvent 类,常见的有键盘事件 QKeyEvent.鼠标事件 QMouseEvent 和定时器事件 QTimerEvent 等,与 QEvent 类的继承关系图 ...

  4. 题解报告:hdu 1075 What Are You Talking About

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1075 Problem Description Ignatius is so lucky that he ...

  5. 2016/10/29 action与form表单的结合使用

    1>web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi= ...

  6. 自学 iOS - 三十天三十个 Swift 项目 第三天

    做了这个小demo 之后  感觉OC 和swift 还是有很大的差别的 自己还是要去多看些swift的语法 用的不是很熟练 1.这个demo 的资源文件 我都是用原工程的 2.同样的自定义cell 的 ...

  7. SSH---整合Struts2&Spring&Hibernate(实例)

    一.SSH回顾 Struts2:核心为过滤器+拦截器.过程:Filter--->FilterDispatcher-->ActionMapper-->ActionProxy--> ...

  8. 架构师细说 NGINX 的配置及优化

    最近感觉很多东西在运用到一定的程度之后,会发现原来是自己了解到的不够.一方面限于实际运用到的不多,一方面可能是因为一开始没有进行全面认识.遂这里搜集整理了一番NGINX. 一.nginx启动和关闭 c ...

  9. mysql 判断字符串是否为其他字符串的子集

    1.mysql 提供单个用逗号隔开判断某个字符串是否包含在其他字符串的之内:FIND_IN_SET('需要匹配的字符串','源字符串'); demo: select FIND_IN_SET('111' ...

  10. 字符串(String)几个常用方法的详解

    String:(字符串) indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. stringObject.indexOf(searchvalue,fromindex) searc ...