Matlab学习笔记(五)
三、矩阵运算
(一)矩阵函数和特殊矩阵
- 常见的矩阵处理函数
- 表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)
(二)矩阵分析
- 范数分析
- 向量的范数
- 线性空间中的某个向量$\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学习笔记(五)的更多相关文章
- C#可扩展编程之MEF学习笔记(五):MEF高级进阶
好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...
- Matlab学习笔记 figure函数
Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...
- matlab学习笔记 bsxfun函数
matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...
- (转)Qt Model/View 学习笔记 (五)——View 类
Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...
- matlab学习笔记(一)单元数组
matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x) :取最大的整数 ceil(3.18)=4,ceil( ...
- java之jvm学习笔记五(实践写自己的类装载器)
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Typescript 学习笔记五:类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- ES6学习笔记<五> Module的操作——import、export、as
import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...
- muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor
目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Accep ...
随机推荐
- 组合数学练习题(一)——Chemist
题意: 从 n 个人中选出不超过 k 个人,再在选出的人中选出一些人成为队员,再在队员中选一名队长,求不同的方案数.答案 mod 8388608. 共有T组询问,每次给你n和k.T ≤ 10^4 k ...
- python之排序算法-冒泡、选排、快排
影响内排序算法性能的三个因素: 时间复杂度:即时间性能,高效率的排序算法应该是具有尽可能少的关键字比较次数和记录的移动次数 空间复杂度:主要是执行算法所需要的辅助空间,越少越好. 算法复杂性.主要是指 ...
- Unix\Linux | 总结笔记 | 邮件发送
实验:在本地实现不同用户收发邮件 #root发送邮件 #stu 收邮件 #stu 查看邮件 并回复邮件 #root 查看stu回复的邮件
- C++入门知识点总结
阅读目录 1 C++中的命名空间 C++中使用命名空间来解决在相同文件或范围的同名变量问题,示例程序如下: #include <iostream> using namespace std; ...
- 220 Contains Duplicate III 存在重复 III
给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使 nums [i] 和 nums [j] 的绝对差值最大为 t,并且 i 和 j 之间的绝对差值最大为 k. 详见:https://le ...
- AJPFX关于构造器的总结
构造器 构造器定义 构造器作用 构造器特点 构造器修饰符 默认构造器 构造器重载 构造器和一般函数的区 ...
- 锐动SDK针对游戏直播提出的解决方案
方案架构 PC端视频直播与录播功能为游戏厂商宣传,玩家个人秀,大型电竞赛事提供完美的技术解决方案. 直播形式灵活多变不,同音源的选择,画面切换,游戏中嵌入摄像头丰,富解说画面.突出主播个人魅力与粉丝形 ...
- R in action读书笔记(15)第十一章 中级绘图 之二 折线图 相关图 马赛克图
第十一章 中级绘图 本节用到的函数有: plot legend corrgram mosaic 11.2折线图 如果将散点图上的点从左往右连接起来,那么就会得到一个折线图. 创建散点图和折线图: &g ...
- Node.js——路径问题
相对路径问题:读取文件,形如 ./ 或者 ../ 一般认为这个点是相对于这个 js 文件的文件夹路径,实际上不是,这个点相对于node命令时的当前路径,不同 js 文件下进行 ./ 这样的引入是不 ...
- 让TortoiseGit记住帐号密码方法
我的电脑环境是: Windows7 64x 系统用户名是:steden 所以,我的路径是:C:\Users\steden\ 具体要根据你的系统环境及当前用户名来决定. 在这里,有个文件:.gitc ...