三、矩阵运算

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

  • 常见的矩阵处理函数

    • 表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. springboot(四)拦截器和全局异常捕捉

    github代码:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo/spb-brian-query-service 全部 ...

  2. DFS(深度) hihoCoder挑战赛14 B 赛车

    题目传送门 题意:中文题面 分析:放官方题解,就是从1为根节点深搜记录节点的深度,选出最大的深度的点,将该到达该点的节点都vis掉,然后再重新计算没有vis的点的深度,找最大的相加就是答案.放张图好理 ...

  3. HDFS执行getDatanodeReport时权限不足的解决办法

    通过JAVA获取HDFS的getDatanodeReport方法时,报权限不足的错误信息. org.apache.hadoop.ipc.RemoteException(org.apache.hadoo ...

  4. 转 PHP in_array() 函数

    实例 在数组中搜索值 "Glenn" ,并输出一些文本: <?php $people = array("Bill", "Steve", ...

  5. shell 2 解析

    ---- shell 3 /home/oracle/utility/macro/call_autopurge_arch.sh Description: Call purge archive log f ...

  6. 外文翻译 《How we decide》赛场上的四分卫

    本书导言翻译 为了能看懂这一章,先做了如下的功课: 百度百科 四分卫 国家橄榄球联盟中文站 在2002年超级碗赛场上,比赛的时间仅剩80秒,两队比分持平.新英格兰爱国者队于17码的位置执球,他们的对手 ...

  7. Django系列:(1)PyCharm下创建并运行我们的第一个Django工程

    准备工作: 假设读者已经安装好python 2x或3x,以及安装好Django,以及Pycharm. 我的配置: – Python 2.7.11 – Pycharm Professional 5.0. ...

  8. KVM环境下vCPU绑定到物理CPU

    在KVM环境中测试虚拟系统性能时,如果宿主机是有两个CPU socket的硬件,会碰到由于vCPU在不同物理CPU上浮动导致测试RFC2544时出现少量丢包的现象,测试结果非常不稳定.可以将vCPU绑 ...

  9. Android原生方式获取经纬度

    两种定位方式:GPS定位.WiFi定位优劣: 如果项目定位要求较高还是建议使用三方地图库 GPS定位相比Wifi定位更精准且可在无网络情况下使用,但在室内基本暴毙无法使用WiFi定位没有室内外限制也不 ...

  10. Java基础(十一)--Serializable和Externalizable接口实现序列化

    序列化在日常开发中经常用到,特别是涉及到网络传输的时候,例如调用第三方接口,通过一个约定好的实体进行传输,这时你必须实现序列 化,这些都是大家都了解的内容,所以文章也会讲一下序列化的高级内容. 序列化 ...