Python_Numpy库中各种矩阵基本运算(加、减、乘、点乘、点除、乘方、转置等)

这篇具有很好参考价值的文章主要介绍了Python_Numpy库中各种矩阵基本运算(加、减、乘、点乘、点除、乘方、转置等)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Numpy中矩阵基本运算的实现。

01-两个矩阵相加

示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]], dtype='int8')

B = np.array([[2, 3, 4],
              [5, 6, 7],
              [8, 9, 10]], dtype='int8')

C = A+B

运行结果如下:
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算

02-矩阵与标量(常数)相加

示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]], dtype='int8')

b = 3

C = A+b

运行结果如下:
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算

03-两个矩阵相减

示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]], dtype='int8')

B = np.array([[2, 3, 4],
              [5, 6, 7],
              [8, 9, 10]], dtype='int8')

C = B-A

运行结果如下:
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算

04-矩阵与标量(常数)的减法运算

示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]], dtype='int8')

b = 3

C = b-A
D = A-b

运行结果如下:
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算

05-求矩阵中每个元素的相反数

示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]], dtype='int8')

B = -A

运行结果如下:
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算

06-矩阵元素乘法(点乘)

06-1 两种方法实现矩阵元素乘法(点乘)

实现元素乘法有两种方法,一是用乘号,二是用函数multiply()。
下面的示例代码体现了这两种方法:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]], dtype='int8')

B = np.array([[2, 3, 4],
              [5, 6, 7],
              [8, 9, 10]], dtype='int8')

C = A*B  # 用乘号实现矩阵元素乘法
D = np.multiply(A, B)  # 用函数multiply()实现矩阵元素乘法

运行结果:
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算

06-2-浮点数和unit8型矩阵做点乘的结果是什么数据类型的矩阵?

这里我们来探究一下,假如一个浮点数和unit8型矩阵做点乘会发生什么呢?

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6]], dtype='uint8')

b = 0.7

C = np.multiply(A, b)

运行结果如下:
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算
可以Numpy在运算时是以保证精度为优先的,所以矩阵C的数据类型被转换为了float64型。

07-矩阵乘法运算

矩阵乘法运算也有两种方式实现,示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6]], dtype='int16')

B = np.array([[7, 8],
              [9, 10],
              [11, 12]], dtype='int16')

C = np.matmul(A, B)  # 第一种方法实现矩阵乘法

D = np.dot(A, B) # 第二种方法实现矩阵乘法[利用向量的点积(也称为数量积)实现]

运行结果如下:
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算
要注意:方法二实际上是利用向量的点积(点乘/数量积)实现的,当然,它有局限性,它只适用于向量或二维矩阵。

08-矩阵元素乘方运算

以矩阵A中的元素为底数,矩阵B中的元素为指数,
示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6]], dtype='int16')

B = np.array([[6, 5, 4],
              [3, 2, 1]], dtype='int16')

C = A**B

运行结果如下:
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算

09-矩阵的元素除法(点除)[也叫真除-结果既有整数部分也有小数部分]

有三种方法实现元素除法(点除),示例代码如下

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6]], dtype='int16')

B = np.array([[2, 6, 12],
              [20, 30, 43]], dtype='int16')

C = B/A  # 第一种方法实现元素除法(点除)
D = np.true_divide(B, A)  # 第二种方法实现元素除法(点除)
F = np.divide(B, A)  # 第三种方法实现元素除法(点除)

运行结果如下:
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算

10-矩阵的元素除法(点除)取余

有三种方法实现元素除法(点除)取余,示例代码如下

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6]], dtype='int16')

B = np.array([[6, 6, 6],
              [6, 6, 6]], dtype='int16')

C = B % A  # 第一种方法实现元素除法(点除)取余
D = np.remainder(B, A)  # 第二种方法实现元素除法(点除)取余
E = np.mod(B, A)  # 第三种方法实现元素除法(点除)取余

运行结果如下:
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算

11-矩阵的元素除法(点除)取整

有两种方法实现元素除法(点除)取整,示例代码如下

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6]], dtype='int16')

B = np.array([[11, 11, 11],
              [11, 11, 11]], dtype='int16')

C = np.floor_divide(B, A)  # 第一种方法实现元素除法(点除)取整
D = B//A  # 第一种方法实现元素除法(点除)取整

12-矩阵的转置

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6]], dtype='int16')

B = A.T

运行结果如下:
numpy 点除,Python基础,图像处理原理、工具、代码,Numpy-矩阵基本运算

13-各种取整

13-1 四舍五入取整

可以用方法around()实现四舍五入取整

around(a, decimals=0, out=None)

参数decimals 为要保留的小数位数, 默认值为0。 如果为-1,将在个位上进行四舍五入,如果为-2,将在十位上进行四舍五入。示例代码及运行结果如下:

import numpy as np
 
n = np.array([-0.746, 4.6, 9.4, 7.447, 10.455, 11.555])
 
around1 = np.around(n)
print(around1)  # [ -1.   5.   9.   7.  10.  12.]
 
around2 = np.around(n, decimals=1)
print(around2)  # [ -0.7   4.6   9.4   7.4  10.5  11.6]
 
around3 = np.around(n, decimals=-1)
print(around3)  # [ -0.   0.  10.  10.  10.  10.]

13-2 向下取整

可以用方法floor()实现向下取整

示例代码及运行结果如下:

import numpy as np
 
n = np.array([-1.7, -2.5, -0.2, 0.6, 1.2, 2.7, 11])
 
floor = np.floor(n)
print(floor)  # [ -2.  -3.  -1.   0.   1.   2.  11.]

13-3 向上取整

可以用方法ceil()实现向上取整

示例代码及运行结果如下:

import numpy as np
 
n = np.array([-1.7, -2.5, -0.2, 0.6, 1.2, 2.7, 11])
 
ceil = np.ceil(n)
print(ceil)  # [ -1.  -2.  -0.   1.   2.   3.  11.]

延伸阅读:
归纳总结MATLAB中与矩阵运算有关的算术运算符(加、减、乘、除、点乘、点除、乘方、转置等)
OpenCV中的MAT类矩阵的各种基本运算及示例代码(加、减、乘、点乘、点除、乘方、累加、转置等)文章来源地址https://www.toymoban.com/news/detail-822892.html

到了这里,关于Python_Numpy库中各种矩阵基本运算(加、减、乘、点乘、点除、乘方、转置等)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python矩阵的基本运算

    先引入numpy,以后的教程中,我们都引用为np作为简写 使用mat函数创建一个2X3矩阵 使用shape获取矩阵大小 使用下标读取矩阵中的元素 进行行业转换 通常情况下,使用二维数组代替矩阵来进行矩阵运算,可见矩阵和数组基本上都可以 加减法同样 当然列表是不能这么尽兴加减的

    2023年04月08日
    浏览(38)
  • python:矩阵的基本运算

    引入  numpy  库 1. python矩阵操作 1)使用  mat  函数创建一个 2X3矩阵  2)使用  shape  可以获取矩阵的大小  3)进行行列转换 4)使用二维数组代替矩阵来进行矩阵运算  5) 加减法 1)使用二维数组创建两个矩阵A和B 2)一个矩阵的数乘,其实就是矩阵的每一个元素乘以该数

    2024年02月03日
    浏览(36)
  • 实现环形队列的各种基本运算的算法

    目的: 领会环形队列的存储结构和掌握环形队列中各种基本运算算法的设计。 内容: 编写一个乘成sqqueue.cpp,实现环形队列(假设栈中的元素类型ElemType为char)的各种基本运算,并在此基础上设计一个程序3-3.cpp完成以下功能。 初始化队列q。 判断队列q是否非空。 依次进队

    2024年02月06日
    浏览(33)
  • Numpy 学习之矩阵、函数、二元运算及数组读写,差点挂在了美团三面

    sinc1 = np.vectorize(sinc) print(‘向量化:’, sinc1(x)) x = np.linspace(-10, 10, 50) plt.plot(x, sinc1(x)) plt.show() 二元运算 四则运算对应函数 | 运算符 | 对应函数 | | :-: | :-: | | a + b | add(a, b) | | a - b | subtract(a, b) | | a * b | multiply(a, b) | | a / b | divide(a, b) | | a ** b | power(a, b) | | a % b | remainder(a,b) | 比

    2024年04月15日
    浏览(47)
  • 【数据结构】:实现顺序表各种基本运算的算法

    领会顺序表存储结构和掌握顺序表中各种基本运算算法设计。 编写一个程序sqlist.cpp,实现顺序表的各种基本运算和整体建表算法(假设顺序表的元素类型ElemType为char),并在此基础上设计一个主程序,完成如下功能: 初始化顺序表L 依次插入a,b,c,d,e元素 输出顺序表L 输出顺

    2024年02月07日
    浏览(45)
  • 实现二叉树的各种基本运算的算法

    目的: 领会二叉树的存储结构和掌握二叉树中各种基本运算算法的设计。 内容: 编写一个程序btree.cpp,实现二叉树的各种基本运算,并在此基础上设计一个程序exp7-1.cpp完成以下功能。 由图7.1所示的二叉树创建对应的二叉链存储结构b,该二叉树的括号表示串为“A(B(D,E(H(J,

    2024年02月04日
    浏览(45)
  • 【易混区分】 tensor张量 Numpy张量的各种矩阵乘法、点积的函数对比 (dot, multiply,*,@matmul)

    又称为数量积、标量积(scalar product)或者内积(inner product) 它是指实数域中的两个向量运算得到一个实数值标量的二元运算。也就是对应元素的位置相乘 举例: 对于向量 a = ( x 1 , y 1 ) 和 b = ( x 2 , y 2 ) ,他们的点积就是 a ⋅ b = x 1 x 2 + y 1 y 2 a=(x_1,y_1)和b=(x_2,y_2),他们的点

    2024年01月25日
    浏览(47)
  • 矩阵的基本概念和运算

    一、矩阵的定义 矩阵是数学中的一种基本工具,它是由一组数值按照一定的行列排列而成的矩形数表。下面我们详细介绍矩阵的定义、表示以及常见的矩阵类型。 1.1 矩阵的概念与表示 矩阵通常用大写字母表示,例如矩阵 A A A 。矩阵中的每个数值称为矩阵的元素,矩阵的行

    2024年02月13日
    浏览(37)
  • 矩阵基本运算(C++)

    闲着没事,将以前利用C++实现的矩阵各种运算整理了一下,分享一下,矩阵运算包括: 1、二维矩阵创建                                        6、两矩阵上下叠加 2、两矩阵相加                                           7、矩阵左右叠加 3、两矩阵

    2023年04月09日
    浏览(35)
  • MATLAB矩阵基本运算的实现(一)

    MATLAB是matrixlaboratory两个词的组合,意为矩阵工厂(矩阵实验室),强大的矩阵运算能力是MATLAB的一个重要的特点,下面我就为大家整理了一下利用MATLAB实现矩阵基本运算的方法。 一、矩阵的加减法 矩阵加减法运算必须保证参与运算的矩阵是同维数,就是在算例中的a和b矩阵,

    2023年04月08日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包