美文网首页
3.6 矩阵运算

3.6 矩阵运算

作者: 操作系统 | 来源:发表于2017-03-19 14:14 被阅读0次

3.6.1 矩阵运算规则

矩阵的加减法运算规则与数组相同,即元素运算,其结果返回新的矩阵。倍乘数运算也是矩阵内元素乘以倍数,返回新的矩阵,且倍数应置于运算符左边。
矩阵乘法运算规则是,只有当乘法运算符左边矩阵的列数等于右边矩阵的行数时,两个矩阵才能进行乘法运算,即mn矩阵与np矩阵满足相乘条件,且位置不能互换。具体步骤是,左矩阵第一行乘以右矩阵第一列分别相乘,第一个数乘第一个数,乘完之后相加,即为结果的第一行第一列的数,依次往下运算 。

3.6.2 matrix对象

NumPy和Matlab不一样,对于多维数组的运算,缺省情况下并不使用矩阵运算,可以调用相应的函数对数组进行矩阵运算。NumPy库提供了matrix类,使用matrix类创建矩阵对象,它们的加减乘除运算缺省采用矩阵方式计算。示例代码:

>>>m1 = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])        #直接生成矩阵对象
>>>m1
matrix([[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]])
>>>a = np.arange(9).reshape((3, 3))
>>>m2 = np.matrix(a)        #将数组转换成矩阵
>>>m2
matrix([[0, 1, 2],
        [3, 4, 5],
        [6, 7, 8]])
>>>m1 + m2        #矩阵加法即元素相加,与数组运算一样
matrix([[ 1,  3,  5],
        [ 7,  9, 11],
        [13, 15, 17]])
>>>m3 = m1*m2        #矩阵乘法
>>>m3
matrix([[ 24,  30,  36],
        [ 51,  66,  81],
        [ 78, 102, 126]])
>>>type(m3)
numpy.matrixlib.defmatrix.matrix

3.6.3 数组的点积

ufunc提供的dot()函数计算两个数组的点积,其满足矩阵乘法运算规则,它返回的是一个标量(只有大小没有方向的一个值)。示例代码:

>>>a1 = np.arange(1, 10).reshape((3, 3))
>>>a1
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
>>>a2 = np.arange(9).reshape((3, 3))
>>>a2
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>>a3 = a1.dot(a2)
>>>a3
array([[ 24,  30,  36],
       [ 51,  66,  81],
       [ 78, 102, 126]])
>>>type(a3)
numpy.ndarray
>>>a4 = np.dot(a1, a2)          #点积运算的另一种形式,等价于a1.dot(a2)
>>>a4
array([[ 24,  30,  36],
       [ 51,  66,  81],
       [ 78, 102, 126]])

以上两个示例显示,数组点积的运算规则与矩阵乘法相同,不过点积返回的对象a3是ndarray类型,矩阵乘法返回的对象m3是matrix类型。

相关文章

  • 3.6 矩阵运算

    3.6.1 矩阵运算规则 矩阵的加减法运算规则与数组相同,即元素运算,其结果返回新的矩阵。倍乘数运算也是矩阵内元素...

  • Matrix与坐标转换

    1、矩阵的运算 1.1、矩阵的加减运算 比如矩阵A= B= 则A+B= 矩阵的加减运算,表示 运算性质 满足交换律...

  • matlab基础语法

    matlab中主要是矩阵运算 矩阵赋值 矩阵运算 控制流程 绘图

  • NumPy基础之矩阵的运算

    矩阵运算 矩阵运算包括矩阵的加法、减法、乘法(相乘与点乘)、矩阵的转置等,接下来详细讲解矩阵运算。 矩阵的加减法,...

  • 第三节矩阵运算

    1矩阵运算 2矩阵运算 3向量和矩阵的运算 4矩阵的逆 逆矩阵与原矩阵相乘得到单位矩阵,对角线全为1,其他元素为0...

  • Numpy中的矩阵运算+聚合操作+arg运算(2019.1.17

    Numpy中的矩阵运算 1.矩阵与数值之间的运算,矩阵与数值之间的算术运算,是矩阵里面的元素与数值进行运算 2.矩...

  • 认识Numpy—矩阵

    本节主要介绍如何创建矩阵、矩阵的四则运算、矩阵的转置、矩阵的逆、数组的比较及运算。

  • 矩阵的运算及其运算规则

    一、矩阵的加法与减法1、运算规则设矩阵 2、 运算性质 (假设运算都是可行的)满足交换律和结合律交换律 二、矩阵与...

  • Octave教程(三)

    矩阵运算 其中,“.”表示元素位运算。 如何求转置矩阵 一些有用的函数 其中,flipud()实现矩阵的上下翻转。

  • 我以为矩阵转置就够奇特了,没想到还有逆矩阵。反正玩就完了

    以前的文章里,我们学习到矩阵的运算的相关概念,开了个玩笑说,矩阵的运算,说白了是,矩阵和数一起折腾,矩阵和矩阵折腾...

网友评论

      本文标题:3.6 矩阵运算

      本文链接:https://www.haomeiwen.com/subject/quoynttx.html