MATLAB矩阵运算
1. 矩阵的加减乘除和(共轭)转置
(1) 矩阵的加法和减法
如果矩阵A和B有相同的维度(行数和列数都相等),则可以定义它们的和A+B以及它们的差A-B,得到一个与A和B同维度的矩阵C,其中Cij=Aij+Bij或Aij-Bij.
另外Matlab还支持任意一个矩阵A与一个标量s相加,结果为矩阵的每一个元素加减标量,得到一个与A同维度的新的矩阵,即A+s的各个元素为Aij+s.
(2) 矩阵的乘法
如果矩阵A的列数等于矩阵B的行数,则可以将A和B相乘,命令为A*B,得到一个新的矩阵C,C的行数等于A的行数,列数等于B的列数. 由于矩阵的乘法不满足交换律,所以一般A*B不等于B*A.
(3) 矩阵的张量积(tensor product)
矩阵A和B的张量积A⊗B可以方便地用kron函数计算,即使用命令kron(A,B), 例如

(4) 矩阵的除法
在MatLab中,有两个矩阵除法符号,左除\和右除/. 如果A是一个非奇异方阵(nonsingular square, 即满秩方阵),B的行数与A的行数相等,那么A\B=A-1B. 如果C的列数与A的列数相等,那么C/A=CA-1.
从另一个角度来看,X=A\B是矩阵方程AX=B的解,X=C/A是矩阵方程XA=C的解. 如果b是一个行数与A的行数相等的列向量,则向量x=A\b是线性方程组 Ax=b的解. 且在矩阵方程AX=B中,A可以是一个m×n的矩阵,如果m=n则有唯一解;如果m<n则有多个解,Matlab会返回一个基础解;如果m>n则会返回一个最小方阵解.
(5) 矩阵的转置和共轭转置
在Matlab中,矩阵的共轭转置用撇号’表示,如果不需要对元素进行共轭运算,仅仅只对矩阵进行转置,则在撇号之前输入一个点号,即 .’ . 对于实数矩阵A,A’和A.’是相同的.
2. 矩阵元素操作运算
矩阵的运算既可以是如前所述的正常的整体运算,也可以是矩阵对应的元素依次进行标量运算,也叫数组运算,即把矩阵看做是二维数组. 对矩阵进行数组运算后得到的结果是一个与参与运算的矩阵维度相同的新矩阵,.这种元素间的算术运算的前提是参与运算的两个矩阵的维数要相同.
对于加法和减法,元素操作运算和矩阵运算没有差别,而对于乘、除和幂运算符,相应的数组运算符是在一般的算术运算符前面加上一个点号,如
+ - .* ./ .\ .^
其中,A./B 是指A中的元素除以B中相应的元素,即A./B 的第i行第j列的元素(A./B)ij=Aij/Bij,而(A.\B)ij=Bij\Aij. 这些元素运算符的使用例子如下所示:


在Matlab中预定义的数学标准函数,如sin(x), abs(x)等都是基于对矩阵元素的运算. 如果函数f(x)是这样的一个函数,A是一个m×n的矩阵,其元素是aij ,那么 f(A)也是一个m×n的矩阵,其第i行第j列的元素为f(aij),例如

其中pi是Matlab的预定义变量,值为π,i也是预定义变量,表示复数的单位.
3. 常用的矩阵函数
矩阵函数是指参数为矩阵的函数,函数结果可能是一个标量值也可能是一个函数或者向量. Matlab中常用的矩阵函数包括:
(1) rank(A): 求矩阵A的秩,即A中线性无关的行数或者线性无关的列数.

(2) det(A): 求矩阵A的行列式值.

(3) inv(A): 如果A是一个非奇异(nonsingular)矩阵,则inv(A)返回A的逆矩阵. 另外还可以用左除A\eye(n)或右除eye(n)/A来计算A的逆,且在Matlab中用左除或右除来计算逆所花的计算时间比用inv函数要少,也比inv具有更好的容错性(error-detection properties).
(4) dot(x,y): 求同维度的向量x和y的内积/点积. 若A和B是两个具有相同维度的矩阵,则dot(A,B)是计算A和B对应列的内积,结果是一个行向量,这个行向量的列数等于A或B的列数. 例如

(5) cross(x,y): 计算同维度的向量x和y的叉积,结果是一个向量,其方向由右手定则决定,长度等于|x|*|y|sin<x,y>. 若A和B是两个具有相同维度的矩阵,则cross(A,B)是计算A和B对应列的叉积,结果是一个维度与A和B相等的矩阵.
(6) kron(A,B): 得到矩阵A和B的张量积.
(7) isequal(A,B): 如果矩阵A和B是相同的,即具有相同的维数和相同的内容,则返回1.
(8) isreal(A): 判断A是否是一个实矩阵,如果是则返回1,否则返回0.
(9) trace(A): 计算方阵A的迹,即对角线元素之和.
(10) eig(A): 计算方阵A的特征值,结果是一个列向量,向量中元素的个数等于特征值的个数,即A的维度(A的行数或列数).
(11) [U,D]=eig(A): 计算方阵A的特征值和特征向量,得到两个方阵U和D,其中D的对角线元素为A的特征值,U的列向量为A的特征向量(可能是未normalize的结果),例如

MATLAB矩阵运算的更多相关文章
- Matlab 矩阵运算
1.Syms 和sym的区别: syms是定义多个符号是符号变量的意思 sym只能定义一个符号变量,但可以具体到这个符号变量的内容 例:syms f z; %定义下x和y f=sym('a+b+c') ...
- Matlab——矩阵运算 矩阵基本变换操作
矩阵运算 + 加 - 减 .* 乘 ./ 左除 .\ 右除 .^ 次方 .' 转置 除了加减符号,其余的运算符必须加“.” >> a = : a = >> a- %减法 ans ...
- matlab 矩阵运算技巧
1.a=a(:) 作用:将矩阵转化成列向量 a=[a11 a12 a13 a=[a11 a21 a12 a22 a13 a23]^T a21 a22 a23] ...
- [matlab] 3.矩阵
matlab矩阵运算很强大 ,几乎所有涉及矩阵运算的命令都有. 事实上,matlab里面所有变量都是以矩阵的形式保存下来的. %% >> x=[1:2.1:10] x = 1.0000 ...
- matlab基本操作总结
1.clear;//清除工作平台变量2.close all;//关闭打开的图形窗口3.I = imread('C:\Users\dell\Desktop\rice.jpg');//读取图像,存储在I数 ...
- matlab中矩阵式子的不成熟理解
matlab中的矩阵式的系统方式理解:一个矩阵式代表一个系统的作用,列代表输入,行代表输出,有多少列就有多少输入,有多少行就有多少输出,矩阵式的相加代表的是线性系统的叠加作用,矩阵式的相乘代表的是两个 ...
- MATLAB基础指令操作
由于课程实验需要学习使用了MATLAB,在此记录一下MATLAB的基本操作和命令,供参考与查阅. 学习过程中的资料也链接如下: MATLAB矩阵运算:https://wenku.baidu.com/v ...
- MATLAB入门学习(二)
关于矩阵 ~o( =∩ω∩= )m matlab矩阵运算很强大 ,几乎所有涉及矩阵运算的命令都有. 事实上,matlab里面所有变量都是以矩阵的形式保存下来的. 一个数字是1x1矩阵 我们来看看矩阵的 ...
- [转] Matlab与C++混合编程,添加OpenCV库
原文地址 峰回璐转 最近在做运动医学软件优化工作,此款软件框架及算法语言全由matlab实现,虽然matlab矩阵运算.数值计算能力强大,但速度让人难以忍 受.软件立刻移植到C++上又不太实际,故采用 ...
随机推荐
- Invalid tld file: "/WEB-INF/tags/xxxt.tld", see JSP 2.2 specification section 7.3.1 for more details
错误描述 在jsp页面引入了自定义的TLD文件的时候,碰到了一个错误 Invalid tld file: "/WEB-INF/tags/xxxt.tld", see JSP 2.2 ...
- 全文搜索引擎Elasticsearch入门实践
全文搜索引擎Elasticsearch入门实践 感谢阮一峰的网络日志全文搜索引擎 Elasticsearch 入门教程 安装 首先需要依赖Java环境.Elasticsearch官网https://w ...
- Monolog手册参考
https://api.kdyby.org/namespace-Monolog.Handler.html
- Promise源码深入理解
) ) }); ) }, ) }); ) ) }, ) }); ) }, ) }); p.then(function (x) { console.log(x) }) //输出 1 链式调用1 链式调用 ...
- 思维导图工具XMind
思维导图工具XMind XMind简单介绍 官网地址:https://www.xmind.cn/ XMind 是一个全功能的思维导图和头脑风暴软件,为激发灵感和创意而生.作为一款有效提升工作和生活效率 ...
- javascript事件之调整大小(resize)事件
当浏览器窗口被调整到一个新的高度或宽度时,就会触发resize事件. var EventUtil = { addHandler: function (element, type, handler) { ...
- visual studio的包含目录配置问题
早上将一个项目从debug x64修改到release x64,然后包含目录都是直接从debug拷贝过来的,一模一样的路径,一直说无法include,并且路径中的文件都是存在的,配置页面的releas ...
- windows资源管理器(只能看,不能用)
实现Windows资源管理器 问题描述 Windows资源管理器是用来管理计算机资源的窗口,电脑里所有的文件都可以在资源管理器里找到,可以在资源管理器里查看文件夹的分层结构,可以利用资源管理器快速进行 ...
- VS2013安装Boost
boost的编译和使用,经过搜集资料和总结,记录成文.感谢文后所列参考资料的作者. 1 下载 地址:http://sourceforge.net/projects/boost/files/boost/ ...
- React(一)使用脚手架创建React项目
1.安装脚手架 现在使用较多的就是这三种脚手架工具: react-boilerplate react-redux-starter-kit create-react-app 我使用的是第三种,faceb ...