numpy.outer()函数
函数作用:通常用来计算两个向量的外积。函数调用方法:numpy.outer(a, b, out=None)各个参数意义:a:第一个输入向量,向量维度为(M,1)。b:第二个输入向量。向量维度为(N,1)。out:设置结果的保存位置,通常使用默认值None,不需要做多余处理。有返回值,返回一个维度为(M,N)的ndarray数组。代码如下:import numpy as npclass NumpyS
·
函数作用:通常用来计算两个向量的外积。
函数调用方法:
numpy.outer(a, b, out=None)
各个参数意义:
a
:第一个输入向量,向量维度为(M,1)
。
b
:第二个输入向量。向量维度为(N,1)
。
out
:设置结果的保存位置,通常使用默认值None
,不需要做多余处理。
有返回值,返回一个维度为(M,N)
的ndarray
数组。
代码如下:
import numpy as np
class NumpyStudy:
@staticmethod
def mainProgram():
vector_a = np.array([1, 2, 3, 4, 5])
vector_b = np.array([1, 2, 3, 4, 5])
result = np.outer(vector_a, vector_b)
print('向量a与向量b的外积为:')
print(result)
if __name__ == "__main__":
main = NumpyStudy()
main.mainProgram()
"""
向量a与向量b的外积为:
[[ 1 2 3 4 5]
[ 2 4 6 8 10]
[ 3 6 9 12 15]
[ 4 8 12 16 20]
[ 5 10 15 20 25]]
"""
然而实际应用中这个函数并不实用,计算向量的外积我们可以通过数组切片来实现。
import numpy as np
class NumpyStudy:
@staticmethod
def mainProgram():
vector_a = np.array([1, 2, 3, 4, 5])
vector_b = np.array([1, 2, 3, 4, 5])
result = vector_a * vector_b[:, None]
print('向量a与向量b的外积为:')
print(result)
if __name__ == "__main__":
main = NumpyStudy()
main.mainProgram()
"""
向量a与向量b的外积为:
[[ 1 2 3 4 5]
[ 2 4 6 8 10]
[ 3 6 9 12 15]
[ 4 8 12 16 20]
[ 5 10 15 20 25]]
"""
是不是数组切片yyds
呢?
码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~
更多推荐
已为社区贡献13条内容
所有评论(0)