关于 "*" 的用法;

"" 也为对于元素的乘积,但是 "" 作为乘法运算时,必须满足 numpy 的 broadcasting(广播) 的原则 ,当两个矩阵相乘时,其法则为两矩阵的对应的元素相乘,其用法与multiply相同( 见后介绍 ) 。

例1:矩阵 ab 相乘,其中 a 为 34,b 为 1*4;

import numpy as np
a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
b = np.array([1,2,3,4])
c = a*b
print(c)
结果:

例2:矩阵 a,b 相乘,其中 a 为 34,b 为 31;

import numpy as np
a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
d = np.array([[1],[2],[3]])
e = a*d
print(e)
结果:

2、关于 outer 的用法;

numpy.outer(a, b, out=None): 计算两个向量的外积。假设向量 a = [a0, a1, ... , aM], b = [b0, b1, ..., bN], 则 ab =[[a0b0, a0b1, ... ,a0bM], [a1b0, a1b1, ... , a1bN], .... , [aMb0, aMb1, ... , aMbN]]; 注意:若 a,b 不为一维数组,则先将其变成一维数组,即可得 a(M,)和 b(N,) 这种形式。

例: 矩阵 x1,x2相乘, 其中 x1 为 115,x2 为 115;

import numpy as np
x1 = [9,2,5,0,0,7,5,0,0,0,9,2,5,0,0]
x2 = [9,2,2,9,0,9,2,5,0,0,9,2,5,0,0]
X = np.outer(x1,x2)
print(X)
结果:

3、关于 dot 的用法;

numpy.dot(a, b, out=None):对于一维数组,则是想啊零的乘积;对于二维数组,它相当于矩阵的乘法。

例1:矩阵 a, b 相乘,其中 a 为13,b 为13;

import numpy as np
a = np.array([1,2,3])
b = np.array([1,2,3])
c = np.dot(a,b)
print(c)
结果:

例1:矩阵 a, b 相乘,其中 a 为12,b 为21;

import numpy as np
a = np.array([1,2,3])
b = np.array([[1],[2],[3]])
c = np.dot(a,b)
print(c)
结果:

4、关于 multiply 的用法;

numpy.multiply(): 为矩阵的相应元素的乘积。

注意: 两矩阵的维度大小一样;

例: 矩阵a, b相乘,其中 a 为 33, b 为33。

import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
b = np.array([[1,2,3],[4,5,6],[7,8,9]])
c = np.multiply(a,b)
print(c)
结果:

最后修改:2022 年 09 月 03 日
如果觉得我的文章对你有用,请随意赞赏