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​+b11​a21​+b21​⋮am1​+bm1​​a12​+b12​a22​+b22​⋮am2​+bm2​​⋯⋯⋮⋯​a1n​+b1n​a2n​+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}⎣⎢⎢⎢⎡​a1​a2​⋮an​​⎦⎥⎥⎥⎤​[a1​​a2​​⋯​an​​]=⎣⎢⎢⎢⎡​a1​b1​a2​b1​⋮an​b1​​a1​b2​a2​b2​⋮an​b2​​⋯⋯⋮⋯​a1​bn​a2​bn​⋮an​bn​​⎦⎥⎥⎥⎤​

[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[a1​​a2​​⋯​an​​]∗⎣⎢⎢⎢⎡​a1​a2​⋮an​​⎦⎥⎥⎥⎤​=a1​b1​+a2​b1​+⋯+an​bn​

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。

逆矩阵的基本性质:

  1. 若AAA可逆,则A−1A^{-1}A−1是唯一的。
  2. 若AAA可逆,则A−1A^{-1}A−1也可逆,并且(A−1)−1=A(A^{-1})^{-1}=A(A−1)−1=A。
  3. 若nnn阶方阵AAA与BBB都可逆,则ABABAB也可逆,且(AB)−1(AB)^{-1}(AB)−1=B−1A−1B^{-1}A^{-1}B−1A−1。
  4. 若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入门——矩阵运算相关推荐

  1. MATLAB入门——矩阵运算笔记

    3-3 MATLAB矩阵运算_哔哩哔哩_bilibili 1.创建一个1行6列的矩阵 2.对矩阵每个元素都加x 3.PLOT函数作图 以索引(索引就是该数字在矩阵里是第几个)为横坐标 4.多维矩阵 以 ...

  2. 【台大郭彦甫】Matlab入门教程超详细学习笔记二:基本操作与矩阵运算(附PPT链接)

    Matlab入门教程超详细学习笔记二:基本操作与矩阵运算 前言 一.基本操作 1.把matlab当作计算器使用 2.变量 3.控制格式输出 二.矩阵运算 1.矩阵 2.矩阵索引 3.使用:创建向量 4 ...

  3. pagerank算法实现matlab,Matlab 入门及PageRank算法求解.ppt

    Matlab 入门及PageRank算法求解 矩阵运算 + 矩阵加 - 矩阵减 * 矩阵乘 / 矩阵左除 \ 矩阵右除 ^ 矩阵幂 维数相同才能加减:方 阵才能求幂. 注意左乘,右乘. a\b?求a* ...

  4. matlab 有一函数 _写一程序_输入自变量的值_输出函数值.,第2讲 MATLAB入门1_数学建模_ppt_大学课件预览_高等教育资讯网...

    数学建模与数学实验 MATLAB入门数学建模及其基于 MATLAB的实现辽宁工程技术大学理学院应用数学系 MATLAB作为线性系统的一种分析和仿真工具,是理工科大学生应该掌握的技术工具,它作为一种编程 ...

  5. matlab入门精讲 【官方资料精简而来,确保全面】

    matlab入门精讲 learn_matlab_zh_CN.pdf             Matlab快速入门[本文取于此书] matlab_3d_visualize_zh_CN.pdf      ...

  6. MATLAB入门教程(基础知识点)

    转自:  http://blog.csdn.net/lxdfigo/article/details/8279962 MATLAB入门教程   1.MATLAB的基本知识 1-1.基本运算与函数   ...

  7. matlab app设计步骤_1.1数学建模与MATLAB–MATLAB入门

    1.1数学建模与MATLAB–MATLAB入门 关注本专栏,继续分享数学建模与MATLAB知识 一.MATLAB是什么? MATLAB 是目前在国际上被广泛接受和使用的科学与工程计算软件.虽然 Cle ...

  8. 【自学】零基础MATLAB入门笔记

    [自学]零基础MATLAB入门笔记 (一) 第一章 MATLAB的新建工程和基本操作与处理 文章目录 [自学]零基础MATLAB入门笔记 (一) 前言 一.MATLAB简介 二.软件下载 三.新建工程 ...

  9. 线性代数实践及MATLAB入门

    [书名]线性代数实践及MATLAB入门 [作者]陈怀琛,龚杰民 编著 [ISBN]978-7-121-07223-9 [出版社]电子工业出版社 [出版日期]2009年1月 [内容简介] 本书第1版是根 ...

  10. matlab figure函数_DSGE建模与编程入门(54):Matlab入门

    许文立,安徽大学经济学院/CIMERS,cimers_dsge@econmod.cn 宏观经济研学会(CIMERS)的共享网盘的文件已经转移至"量化经济分析平台"及其论坛(交流中心 ...

最新文章

  1. kettle全量抽数据_漫谈数据平台架构的演化和应用
  2. CAS 单点登录 服务器整合
  3. 单片机用python还是c语言_单片机为什么一直用C语言,不用其他编程语言?
  4. [蓝桥杯]算法提高 金属采集(树形dp)
  5. C#中字符串的内存分配与驻留池
  6. 大学生助学贷款如何还利息(本金+利息都可以)
  7. 内聚的极限: 软件开发的不确定性原理
  8. LeetCode 2145. 统计隐藏数组数目(前缀和)
  9. 美团大脑 | 知识图谱的建模方法及其应用
  10. android gridlayout动态添加_Android-TabLayout-动态设置TabItem的背景Shape.有坑.......
  11. pythongoogle.probuf.timestamp_gRPC快速入门(一)——Protobuf简介
  12. ul阻燃标准有几个等级_UL阻燃等级说明
  13. 康奈尔笔记系统介绍和购买
  14. 【OpenCV 例程300篇】47. 直方图处理之直方图匹配
  15. linux信令追踪指令,使用tcpdump抓取sip信令
  16. GIS学习(一):密度分析、可达性分析、空间句法
  17. crosstab交叉表_数据透视之交叉表 crosstab()
  18. 阿里巴巴稀疏模型训练引擎-DeepRec
  19. VRChat_SDK3_Avatar
  20. 一键查询明星个人信息,并以知识图谱可视化展示

热门文章

  1. Unity3D Slider控件(滑动条)
  2. 字符串循环移位 编程之美3.1
  3. 增程式串联混合动力实际项目模型,本模型基于Cruise软件和Simulink软件共同搭建完成
  4. RNA 22. SCI 文章中基于表达估计恶性肿瘤组织的基质细胞和免疫细胞(ESTIMATE)
  5. 数字电子技术基础笔记
  6. 基于Springboot的在线音乐网站开发与实现
  7. sql语句优化的几种方法
  8. KITTI数据集评估方法小结
  9. 服务器内存条显示性能下降,特么的终于找到CPU超频,反而跑分降低的原因了,申请加精!...
  10. 《21天学通Java(第7版)》—— 2.7 总结