专栏首页人工智能与演化计算成长与进阶一起来学matlab-matlab学习笔记10 10_1一般运算符

一起来学matlab-matlab学习笔记10 10_1一般运算符

本文为matlab自学笔记的一部分,之所以学习matlab是因为其真的是人工智能无论是神经网络还是智能计算中日常使用的,非常重要的软件。也许最近其带来的一些负面消息对国内各个高校和业界影响很大。但是我们作为技术人员,更是要奋发努力,拼搏上进,学好技术,才能师夷长技以制夷,为中华之崛起而读书!

本文很多摘录自图书资料,不做任何商业用途,仅做技术分享,侵权删除!请不要放弃自己的理想和道路,加油!!

“参考书籍 《matlab 程序设计与综合应用》张德丰等著 感谢张老师的书籍,让我领略到matlab的便捷 《MATLAB技术大全》葛超等编著 感谢葛老师的书籍,让我领略到matlab的高效

MATLAB语言以前是一种专门为进行矩阵计算所设计的语言,在以后的各个版本中逐步扩充其各种功能。现在MATLAB不仅仅局限于矩阵计算领域,但其最基本、最重要的功能还是进行实数矩阵和复数矩阵的运算。在MATLAB中几乎所有的运算符和操作符都是以矩阵为基本运算单元的,这和其他计算机语言有很大不同,这也是MATLAB的重要特点

运算符

矩阵的逆

INV(X)

矩阵的转置

X'

矩阵的加减法

  • 其基本形式为X+-Y,X和Y必须是同维度的矩阵,此时各对应元素相加减。如果X与Y的维数不同,则MATLAB将给出错误信息,提升用户两个矩阵的维数不匹配
X=[2     3;
   4     5];
Y=[3     4;
   4     3];
X+Y
X-Y

ans =

     5     7
     8     8


ans =

    -1    -1
     0     2

矩阵的乘法

  • X*Y是两个矩阵X和Y的乘积,其中X和Y必须满足矩阵相乘的条件,即矩阵X的列数必须等于矩阵Y的行数。如果其中一个为1x1矩阵也合法,此时便是将每一个矩阵的元素都分别与这个数值相乘。
X=[2     3;
   4     5];
Y=[3     4;
   4     3];

ans =

    18    17
    32    31


ans =

     4     6
     8    10

矩阵的点乘

  • X.* Y运算结果为两个矩阵的相应元素相乘,得到的结果与X和Y同维,此时X和Y也必须具有相同的维数,除非其中一个为1X1矩阵此时运算则与X*Y相同
X=[2     3;
   4     5];
Y=[3     4;
   4     3];
X.*Y
2.*X
ans =

     6    12
    16    15


ans =

     4     6
     8    10

矩阵的乘方

(1)x^Y表示,如果x为数,而Y为方阵,结果由各特征值和特征向量计算得到 (2)X^y表示,如果X是方阵、y是一个大于1的整数,所得结果由X重复相乘y次得到;如果y不是整数,则将计算各特征值和特征向量的乘方。(3)如果X和Y都是矩阵,或X或Y不是 方阵 ,则会显示错误信息。

X=[2     3;
   4     5];
Y=[3     4;
   4     3];
X^2
X^1.5
2^Y

>> test_power

ans =

    16    21
    28    37


ans =

   5.9125 - 0.1007i   7.7970 + 0.0573i
  10.3960 + 0.0764i  13.7095 - 0.0434i


ans =

   64.2500   63.7500
   63.7500   64.2500

矩阵的数组乘方

  • X.^Y的计算结果为X中元素对Y中对应元素求幂,形成的矩阵与原矩阵维数相等,这里X和Y必须维数相等,或其中一个为数,此时运算法则等同于X^Y
X=[2     3;
   4     5]
Y=[3     4;
   4     3]
X.^Y
X =

     2     3
     4     5


Y =

     3     4
     4     3


ans =

     8    81
   256   125

矩阵的左除

A \ B称作矩阵A左除矩阵B,其计算结果大致与INV(A)B相同,但其算法却是不相同的。如果A是N×N的方阵,而B是N维列向量,或是由若干N维列向量组成的矩阵,则X=A \ B是方程AX=B的解,X与B的大小相同,对于X和B的每个列向量,都有AX(n)=B(n),此解是由高斯消元法得到的很显然,A \ EYE(SIZE(A))=INV(A)EYE(SIZE(A))=INV(A)。如果A是M×N的矩阵(M不等于N),B是M维列向量或由若干M维列向量组成的矩阵,则X=A \ B是欠定或超定方程AX=B的最小二乘解。A的有效秩L由旋转的QR分解得到,并至多在每列L个零元素上求解。

A =[1     2;
    3     4]
B =[2     3;
    3     2]
A\B

A =

     1     2
     3     4


B =

     2     3
     3     2


ans =

   -1.0000   -4.0000
    1.5000    3.5000


矩阵的右除

B/A称为矩阵A右除矩阵B,其计算结果基本与B * INV(A)相同,但其算法是不同的,可以由左除得到,即:B/A=(A'\B')' 实际上是方程XA=B的解 表示A的A的转置左除B的转置的结果的转置

A =[1     2;
    3     4]
B =[2     3;
    3     2]
B/A
(A'\B')'

A =

     1     2
     3     4


B =

     2     3
     3     2


ans =

    0.5000    0.5000
   -3.0000    2.0000


ans =

    0.5000    0.5000
   -3.0000    2.0000

矩阵的点除

  • 如果B和都是矩阵,且维数相同,则B./A就是B中的元素除以A中的对应元素,所得结果矩阵大小与B和A都相同;如果B和A中有一个为数,在结果为此数与相应的矩阵中的每个元素做运算,结果矩阵与参加运算的矩阵大小相同。
A =[1     2;
    3     4]
B =[2     3;
    3     2]
B./A
B./2

A =

     1     2
     3     4


B =

     2     3
     3     2


ans =

    2.0000    1.5000
    1.0000    0.5000


ans =

    1.0000    1.5000
    1.5000    1.0000

矩阵的kronecker张量积

  • K=KRON(A,B)返回A和B的张量积,它是一个大矩阵,取值为矩阵A和B的元素间所有的可能积。如果A是mxn矩阵,而B是p×q矩阵,则KRON(A,B)是mp×nq的矩阵。例如,A是2×2的矩阵,则有下式成立: KRON(A,B)=[A(1,1)* B A(1,2)* B A(2,1)* B A(2,2)* B] 如果A和B中有一个为稀疏矩阵,则只有非零元素会参与计算,所得的结果也是稀疏矩阵
A =[1     2;
    3     4]
B =[2     3;
    3     2]
kron(A,B)

A =

     1     2
     3     4


B =

     2     3
     3     2


ans =

     2     3     4     6
     3     2     6     4
     6     9     8    12
     9     6    12     8

本文分享自微信公众号 - DrawSky(wustcsken),作者:CloudXu

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一起来学matlab-matlab学习笔记10 10_3关系运算符和逻辑运算符

    本文为matlab自学笔记的一部分,之所以学习matlab是因为其真的是人工智能无论是神经网络还是智能计算中日常使用的,非常重要的软件。也许最近其带来的一...

    DrawSky
  • 一起来学matlab-matlab学习笔记11 11_2 高维数组处理和运算 squeeze, ind2sub, sub2ind

    本文为matlab自学笔记的一部分,之所以学习matlab是因为其真的是人工智能无论是神经网络还是智能计算中日常使用的,非常重要的软件。也许最近其带来的一...

    DrawSky
  • 一起来学演化计算-matlab基本函数randn,rand, orth

    DrawSky
  • 基于协同过滤的SVD的推荐系统

    参考论文:Using Singular Value Decomposition Approximation For Collaborative Filterin...

    张凝可
  • 透析矩阵,由浅入深娓娓道来—高数-线性代数-矩阵

    线性代数是用来描述状态和变化的,而矩阵是存储状态和变化的信息的媒介,可以分为状态(静态)和变化(动态)信息来看待。

    周陆军
  • 矩阵相乘法则和技巧

    只有当第一个矩阵(左矩阵)的列数等于第二矩阵(右矩阵)时,两矩阵才能相乘。因为得到的结果矩阵的i一行的第j个元素(Cij)是左矩阵第i行所有元素分别与右矩阵第...

    vv彭
  • 数据分析与数据挖掘 - 06线性代数

    导数是高等数学中非常重要的知识点,也是人工智能的算法应用中比较常用的一个知识,这一章我们的重点就是讲解一下导数和其求导法则。首先我们来看一下导数的基本概念:函数...

    马一特
  • 数学实验(预习)

    也可以用初等变换求逆矩阵,构造一个n行2n列的矩阵(A E),并进行初等变换,A编程单位矩阵的时候,E就变成了A的逆矩阵.

    云深无际
  • 吹弹牛皮之Unity 引擎基础 - 矩阵(三)

    上图中展示了p,q两个基向量(单位向量)绕原点旋转后得到的新基向量p'和q'。根据勾股定理有:

    用户7698595
  • 吹弹牛皮之Unity 引擎基础 - 矩阵(一)

    沉迷于硬笔的练习偷懒了很长时间。过去的7月份仅仅更新了一篇文章,实在是深表遗憾。接着之前的向量篇小菜继续向下探索。谢谢大家长久来的鼓励和支持。

    用户7698595

扫码关注云+社区

领取腾讯云代金券