浅谈numpy 中dot()函数的计算方式

 更新时间:2021年05月10日 10:47:26   作者:努力就是魅力  
这篇文章主要介绍了浅谈numpy 中dot()函数的计算方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

a = np.arange(1, 5).reshape(2, 2)
b = np.arange(2, 6).reshape(2, 2)
c = a * b
dot = np.dot(a, b)
print(a)
print(b)
print(c)
print(dot)

打印出a

[[1 2]

[3 4]]

打印出b

[[2 3]

[4 5]]

a * b 每个相对位置的数值相乘1*2=2,2*3=6,3*4=12,4*5=20.比较简单,自己脑补一下

[[ 2 6]

[12 20]]

a.dot(b)也可以下成下面的那种形式,看你喜欢了.关键是算法

np.dot(a,b)

[[10 13]

[22 29]]

10=1*2+2*4 a[1][1]*b[1][1]+a[1][2]*b[2][1]

13=1*3+2*5

22=3*2+4*4

29=3*3+4*5 a[2][1]*b[1][2]+a[2][2]*b[2][2]

就这样了,规律自己找~

补充:Numpy矩阵乘积函数(dot)运算规则解析

np.dot(A, B)

A为二维m*n的举证,B必须为n*l的矩阵,l两个矩阵的n必须一致,也就是说A有多少列,B就必须有多少行,否则无法运算。结果得到m*l的矩阵

m*l = np.dot(m*n,n*l),m n l指维度,得到m*l的矩阵

运算顺序如下图:

程序演示如下:

import numpy as np
A = [[1, 2, 3], [4, 5, 6]]
B = [[3, 2], [4, 3], [4, 3]]
print(np.dot(A, B))

结果:

[[23 17]

[56 41]]

如果A和B的形状交换会怎么样呢?

import numpy as np
A = [[1, 2, 3], [4, 5, 6]]
B = [[3, 2], [4, 3], [4, 3]]
print(np.dot(B, A))

结果是这样哟!不是说形状一定是变小哟

[[11 16 21]

[16 23 30]

[16 23 30]]

这是A和B的形状不一样:

import numpy as np
A = [[1, 2, 3], [4, 5, 6]]
B = [[3], [4], [4]]
print(np.dot(A, B))

结果如下:

[[23]

[56]]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • python求前n个阶乘的和实例

    python求前n个阶乘的和实例

    这篇文章主要介绍了python求前n个阶乘的和实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python利用psutil实现获取硬件,网络和进程信息

    Python利用psutil实现获取硬件,网络和进程信息

    Python 有一个第三方模块叫 psutil,专门用来获取操作系统以及硬件相关的信息,比如:CPU、磁盘、网络、内存等等。下面来看一下它的用法
    2022-07-07
  • python实现nao机器人手臂动作控制

    python实现nao机器人手臂动作控制

    这篇文章主要为大家详细介绍了python实现nao机器人手臂动作控制,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • 关于Python函数的定义和参数

    关于Python函数的定义和参数

    这篇文章主要介绍了关于Python函数的定义和参数,Python中的函数我们可以理解成是一种具有功能的包装块,也就是封装具有某一种功能的代码块,需要的朋友可以参考下
    2023-04-04
  • opencv实现答题卡识别

    opencv实现答题卡识别

    这篇文章主要为大家详细介绍了opencv实现答题卡识别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Pandas进行数据编码的十种方式总结

    Pandas进行数据编码的十种方式总结

    在机器学习中,很多算法都需要我们对分类特征进行转换(编码),即根据某一列的值,新增(修改)一列。本文为大家总结了Pandas中十种数据编码的方式,需要的可以参考一下
    2022-04-04
  • OpenCV学习之图像的叠加与混合详解

    OpenCV学习之图像的叠加与混合详解

    这篇文章主要为大家详细介绍了OpenCV图像视觉学习中的图像的叠加与混合,文中的示例代码简洁易懂,具有一定的借鉴价值,需要的可以参考一下
    2023-02-02
  • python在TXT文件中按照某一字符串取出该字符串所在的行方法

    python在TXT文件中按照某一字符串取出该字符串所在的行方法

    今天小编就为大家分享一篇python在TXT文件中按照某一字符串取出该字符串所在的行方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python如何实现斐波那契数列

    python如何实现斐波那契数列

    这篇文章主要介绍了python如何实现斐波那契数列问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python如何安装mysql数据库模块

    Python如何安装mysql数据库模块

    这篇文章主要介绍了Python如何安装mysql数据库模块问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07

最新评论