matlab入门——矩阵运算
matlab入门——矩阵运算
原创不易,路过的各位大佬请点个赞
矩阵运算
- matlab入门——矩阵运算
- 1、矩阵加法
- 2、矩阵减法
- 3、矩阵乘法
- 3.1、 数乘运算
- 3.2、 矩阵相乘
- 3.2、点乘运算
- 4、矩阵除法
- 4.1、左除法
- 4.2、右除法
- 5、矩阵其它运算汇总
- 6、矩阵幂函数
- 6、矩阵求逆
- 7、矩阵范数、两个点之间的欧几里德距离
- 两个点之间的欧几里德距离
矩阵的基本运算包括加、减、乘、数乘、点乘、乘方、左除、右除、求逆等。其中加、减、乘与大家所学的线性代数中的定义是一样的,相应的运算符为“+++”、“−-−”、“∗*∗”。
矩阵的除法运算是MATLAB所特有的,分为左除和右除,相应运算符为“\”和“///”。一般情况下,方程A∗X=BA*X=BA∗X=B的解是X=AX=AX=A\ BBB,而方程X∗A=BX*A=BX∗A=B的解是X=B/AX=B/AX=B/A。
1、矩阵加法
设矩阵A=aijA=a_{ij}A=aij,B=bijB=b_{ij}B=bij都是m×nm\times nm×n的矩阵,则矩阵AAA与BBB的和为
A+B=[a11+b11a12+b12⋯a1n+b1na21+b21a22+b22⋯a2n+b2n⋮⋮⋮⋮am1+bm1am2+bm2⋯amn+bmn]A+B=\begin{bmatrix} a_{11}+b_{11}&a_{12}+b_{12}&\cdots &a_{1n}+b_{1n} \\ a_{21}+b_{21}&a_{22}+b_{22}&\cdots &a_{2n}+b_{2n}\\ \vdots &\vdots &\vdots &\vdots\\ a_{m1}+b_{m1}&a_{m2}+b_{m2}&\cdots &a_{mn}+b_{mn} \end{bmatrix}A+B=⎣⎢⎢⎢⎡a11+b11a21+b21⋮am1+bm1a12+b12a22+b22⋮am2+bm2⋯⋯⋮⋯a1n+b1na2n+b2n⋮amn+bmn⎦⎥⎥⎥⎤
1. 矩阵交换律: A+B=B+AA+B=B+AA+B=B+A
2. 矩阵j结合律: (A+B)+C=A+(B+C)(A+B)+C=A+(B+C)(A+B)+C=A+(B+C)
A=[5,6,9,8;5,3,6,7]
B=[3,6,7,9;5,8,9,6]
C=[9,3,5,6;8,5,2,1]
D=[1,5,6;2,5,6]A+B
B+A
(A+B)+C
A+(B+C)
A+D
2、矩阵减法
计算矩阵A−B=A+(−B)A-B=A+(-B)A−B=A+(−B)
B=[3,6,7,9;5,8,9,6];A=[5,6,9,8;5,3,6,7];-B
ans =-3 -6 -7 -9-5 -8 -9 -6A-B
ans =2 0 2 -10 -5 -3 1
3、矩阵乘法
3.1、 数乘运算
>> A=[5,6,9,8;5,3,6,7];
>> A*10
ans =50 60 90 8050 30 60 70
3.2、 矩阵相乘
C=A∗BC=A*BC=A∗B满足下面条件:
矩阵A的行数与矩阵B的列数相同;
矩阵C的行数等于矩阵A的行数,矩阵C的列数等于矩阵B的列数;
矩阵C的第m行n列元素值等于矩阵A的m行元素与矩阵B的n行元素对应值积的和。
AB≠BAAB\neq BAAB=BA,矩阵不满足交换律
[a1a2⋮an][a1a2⋯an]=[a1b1a1b2⋯a1bna2b1a2b2⋯a2bn⋮⋮⋮⋮anb1anb2⋯anbn]\begin{bmatrix} a_{1}\\a_{2}\\\vdots \\a_n \end{bmatrix}\begin{bmatrix} a_{1}&a_{2}&\cdots &a_n \end{bmatrix}= \begin{bmatrix} a_1b_1&a_1b_2&\cdots &a_1b_n \\ a_2b_1&a_2b_2&\cdots &a_2b_n\\ \vdots &\vdots &\vdots &\vdots\\ a_nb_1&a_nb_2&\cdots &a_nb_n \end{bmatrix}⎣⎢⎢⎢⎡a1a2⋮an⎦⎥⎥⎥⎤[a1a2⋯an]=⎣⎢⎢⎢⎡a1b1a2b1⋮anb1a1b2a2b2⋮anb2⋯⋯⋮⋯a1bna2bn⋮anbn⎦⎥⎥⎥⎤
[a1a2⋯an]∗[a1a2⋮an]=a1b1+a2b1+⋯+anbn\begin{bmatrix} a_{1}&a_{2}&\cdots &a_n \end{bmatrix}*\begin{bmatrix} a_{1}\\a_{2}\\\vdots \\a_n \end{bmatrix}= a_1b_1+a_2b_1+\cdots+ a_nb_n[a1a2⋯an]∗⎣⎢⎢⎢⎡a1a2⋮an⎦⎥⎥⎥⎤=a1b1+a2b1+⋯+anbn
3.2、点乘运算
点乘运算指将两矩阵中相同位置的元素进行相乘运算,将积保存在原位置组成新矩阵。
B=[3,6,7,9;5,8,9,6];
A=[5,6,9,8;5,3,6,7];A.*B
ans =15 36 63 7225 24 54 42
>> A=[0 0;1 1]
B=[1 0;2 0]
6*A - 5*B
A*B-A
B*A-A
A.*B-A
A*B./A-AA =0 01 1
B =1 02 0
ans =-5 0-4 6
ans =0 02 -1
ans =0 0-1 -1
ans =0 01 -1
ans =NaN NaN2 -1
4、矩阵除法
计算左除A\B时,A的行数要与B的行数一致,计算右除A/B时,A的列数要与B的列数致。
4.1、左除法
线性方程组D∗X=BD*X=BD∗X=B,如果DDD非奇异,即它的逆矩阵inv(D)\text{inv}(D)inv(D)存在,则其解用MATLAB表示为
X−inv(D)∗B=D右除BX-\text{inv}(D)*B=D右除BX−inv(D)∗B=D右除B
符号“\”称为左除,即分母放在左边。
左除的条件:B的行数等于D的阶数(D的行数和列数相同,简称阶数)。
A=[1 2 3;5 8 6];
B=[8 6 9;4 3 7];
C=A./B
D=B.*CC =0.1250 0.3333 0.33331.2500 2.6667 0.8571
D =1 2 35 8 6
4.2、右除法
线性方程组X∗D=BX*D=BX∗D=B,如果DDD非奇异,即它的逆矩阵inv(D)\text{inv}(D)inv(D)存在,则其解用MATLAB表示为
X=B∗inv(D)=B/DX=B*\text{inv}(D)=B/DX=B∗inv(D)=B/D
符号“/”称为左除,即分母放在右边。
右除的条件:B的列数等于D的阶数(D的行数和列数相同,简称阶数)。
A=[1 2 3;5 8 6];
B=[8 6 9;4 3 7];
A.\B
A./Bans =8.0000 3.0000 3.00000.8000 0.3750 1.1667
ans =0.1250 0.3333 0.33331.2500 2.6667 0.8571
5、矩阵其它运算汇总
6、矩阵幂函数
AAA阶方阵,其kkk次幂为
Ak=AAAAAAAA^k=AAAAAAAAk=AAAAAAA
A=[1,2,3;4,5,6;2,3,4];
A.^2
A^2
ans =15 21 2736 51 6622 31 40
(A∗B)k≠Ak∗Bk(A*B)^k\neq A^k*B^k(A∗B)k=Ak∗Bk
A=[1 2 3;0 3 3;7 9 5];
B=[5,6,8;6,0,5;4,5,6];
(A*B)^5
A^5*B^5ans =1.0e+11 *0.3047 0.1891 0.36490.2785 0.1728 0.33351.0999 0.6825 1.3173
ans =1.0e+10 *2.5561 2.1096 3.36132.5561 2.1095 3.36136.8284 5.6354 8.9793
6、矩阵求逆
对于nnn阶方阵AAA,如果有nnn阶方阵BBB满足AB=BA=IAB=BA=IAB=BA=I,则称矩阵A为可逆的,称方阵BBB为AAA的逆矩阵,记为A−1A^{-1}A−1。
逆矩阵的基本性质:
- 若AAA可逆,则A−1A^{-1}A−1是唯一的。
- 若AAA可逆,则A−1A^{-1}A−1也可逆,并且(A−1)−1=A(A^{-1})^{-1}=A(A−1)−1=A。
- 若nnn阶方阵AAA与BBB都可逆,则ABABAB也可逆,且(AB)−1(AB)^{-1}(AB)−1=B−1A−1B^{-1}A^{-1}B−1A−1。
- 若AAA可逆,则∣A−1∣=∣A∣−1|A^{-1}|=|A|^{-1}∣A−1∣=∣A∣−1。
我们把满足A≠0A\neq0A=0的方阵AAA称为非奇异的,否则就称为奇异的。求解矩阵的逆使用函数inv,调用格式如下。
Y=inv(X)Y=\text{inv}(X)Y=inv(X)
A=rand(3)
B = inv(A)A =0.9575 0.9706 0.80030.9649 0.9572 0.14190.1576 0.4854 0.4218
B =1.6626 -0.1039 -3.1198-1.9097 1.3790 3.15971.5764 -1.5481 -0.0994
7、矩阵范数、两个点之间的欧几里德距离
范数是数值分析中的一个概念,它是向量或矩阵大小的一种度量,在工程计算中有着重要的作用。对于向量x∈Rnx\in\mathbb{R}^nx∈Rn,常用的向量范数有以下几种。
语法:
n = norm(v)
n = norm(v,p)
n = norm(X)
n = norm(X,p)
n = norm(X,‘fro’)
n = norm(v) 返回向量 v 的欧几里德范数。此范数也称为 2-范数、向量模或欧几里德长度。
n = norm(v,p) 返回广义向量 p-范数。
n = norm(X) 返回矩阵 X 的 2-范数或最大奇异值,该值近似于 max(svd(X))。
n = norm(X,p) 返回矩阵 X 的 p-范数,其中 p 为 1、2 或 Inf:
如果 p = 1,则 n 是矩阵的最大绝对列之和,即1范数。
如果 p = 2,则 n 近似于 max(svd(X))。这与 norm(X) 等效,即2范数。
如果 p = Inf,则 n 是矩阵的最大绝对行之和。
如果 p = Inf,则 n 是矩阵的最大绝对行之和。
n = norm(X,‘fro’) 返回矩阵 X 的 Frobenius 范数。
v = [1 -2 3];
n = norm(v)
n = 3.7417
X = [-2 3 -1];
n = norm(X,1)
n = 6
两个点之间的欧几里德距离
a = [0 3];
b = [-2 1];
使用 norm 来计算点之间的距离。
d = norm(b-a)
d = 2.8284
原创不易,路过的各位大佬请点个赞
matlab入门——矩阵运算相关推荐
- MATLAB入门——矩阵运算笔记
3-3 MATLAB矩阵运算_哔哩哔哩_bilibili 1.创建一个1行6列的矩阵 2.对矩阵每个元素都加x 3.PLOT函数作图 以索引(索引就是该数字在矩阵里是第几个)为横坐标 4.多维矩阵 以 ...
- 【台大郭彦甫】Matlab入门教程超详细学习笔记二:基本操作与矩阵运算(附PPT链接)
Matlab入门教程超详细学习笔记二:基本操作与矩阵运算 前言 一.基本操作 1.把matlab当作计算器使用 2.变量 3.控制格式输出 二.矩阵运算 1.矩阵 2.矩阵索引 3.使用:创建向量 4 ...
- pagerank算法实现matlab,Matlab 入门及PageRank算法求解.ppt
Matlab 入门及PageRank算法求解 矩阵运算 + 矩阵加 - 矩阵减 * 矩阵乘 / 矩阵左除 \ 矩阵右除 ^ 矩阵幂 维数相同才能加减:方 阵才能求幂. 注意左乘,右乘. a\b?求a* ...
- matlab 有一函数 _写一程序_输入自变量的值_输出函数值.,第2讲 MATLAB入门1_数学建模_ppt_大学课件预览_高等教育资讯网...
数学建模与数学实验 MATLAB入门数学建模及其基于 MATLAB的实现辽宁工程技术大学理学院应用数学系 MATLAB作为线性系统的一种分析和仿真工具,是理工科大学生应该掌握的技术工具,它作为一种编程 ...
- matlab入门精讲 【官方资料精简而来,确保全面】
matlab入门精讲 learn_matlab_zh_CN.pdf Matlab快速入门[本文取于此书] matlab_3d_visualize_zh_CN.pdf ...
- MATLAB入门教程(基础知识点)
转自: http://blog.csdn.net/lxdfigo/article/details/8279962 MATLAB入门教程 1.MATLAB的基本知识 1-1.基本运算与函数 ...
- matlab app设计步骤_1.1数学建模与MATLAB–MATLAB入门
1.1数学建模与MATLAB–MATLAB入门 关注本专栏,继续分享数学建模与MATLAB知识 一.MATLAB是什么? MATLAB 是目前在国际上被广泛接受和使用的科学与工程计算软件.虽然 Cle ...
- 【自学】零基础MATLAB入门笔记
[自学]零基础MATLAB入门笔记 (一) 第一章 MATLAB的新建工程和基本操作与处理 文章目录 [自学]零基础MATLAB入门笔记 (一) 前言 一.MATLAB简介 二.软件下载 三.新建工程 ...
- 线性代数实践及MATLAB入门
[书名]线性代数实践及MATLAB入门 [作者]陈怀琛,龚杰民 编著 [ISBN]978-7-121-07223-9 [出版社]电子工业出版社 [出版日期]2009年1月 [内容简介] 本书第1版是根 ...
- matlab figure函数_DSGE建模与编程入门(54):Matlab入门
许文立,安徽大学经济学院/CIMERS,cimers_dsge@econmod.cn 宏观经济研学会(CIMERS)的共享网盘的文件已经转移至"量化经济分析平台"及其论坛(交流中心 ...
最新文章
- kettle全量抽数据_漫谈数据平台架构的演化和应用
- CAS 单点登录 服务器整合
- 单片机用python还是c语言_单片机为什么一直用C语言,不用其他编程语言?
- [蓝桥杯]算法提高 金属采集(树形dp)
- C#中字符串的内存分配与驻留池
- 大学生助学贷款如何还利息(本金+利息都可以)
- 内聚的极限: 软件开发的不确定性原理
- LeetCode 2145. 统计隐藏数组数目(前缀和)
- 美团大脑 | 知识图谱的建模方法及其应用
- android gridlayout动态添加_Android-TabLayout-动态设置TabItem的背景Shape.有坑.......
- pythongoogle.probuf.timestamp_gRPC快速入门(一)——Protobuf简介
- ul阻燃标准有几个等级_UL阻燃等级说明
- 康奈尔笔记系统介绍和购买
- 【OpenCV 例程300篇】47. 直方图处理之直方图匹配
- linux信令追踪指令,使用tcpdump抓取sip信令
- GIS学习(一):密度分析、可达性分析、空间句法
- crosstab交叉表_数据透视之交叉表 crosstab()
- 阿里巴巴稀疏模型训练引擎-DeepRec
- VRChat_SDK3_Avatar
- 一键查询明星个人信息,并以知识图谱可视化展示
热门文章
- Unity3D Slider控件(滑动条)
- 字符串循环移位 编程之美3.1
- 增程式串联混合动力实际项目模型,本模型基于Cruise软件和Simulink软件共同搭建完成
- RNA 22. SCI 文章中基于表达估计恶性肿瘤组织的基质细胞和免疫细胞(ESTIMATE)
- 数字电子技术基础笔记
- 基于Springboot的在线音乐网站开发与实现
- sql语句优化的几种方法
- KITTI数据集评估方法小结
- 服务器内存条显示性能下降,特么的终于找到CPU超频,反而跑分降低的原因了,申请加精!...
- 《21天学通Java(第7版)》—— 2.7 总结