Elementwise multiplication of several arrays in Python Numpy(几个数组在Python Numpy中的元素乘法)
本文介绍了几个数组在Python Numpy中的元素乘法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
编写一些量子力学例程时,我发现了Python的NumPy的一个奇怪行为。当我对两个以上的数组使用NumPy的乘法时,我得到了错误的结果。在下面的代码中,我必须写道:
f = np.multiply(rowH,colH)
A[row][col]=np.sum(np.multiply(f,w))
,这会产生正确的结果。然而,我最初的表述是这样的:
A[row][col]=np.sum(np.multiply(rowH, colH, w))
这不会产生错误消息,但会产生错误的结果。我认为我可以给Numpy的乘法例程提供三个数组,这有什么错吗?
以下是完整的代码:
from numpy.polynomial.hermite import Hermite, hermgauss
import numpy as np
import matplotlib.pyplot as plt
dim = 3
x,w = hermgauss(dim)
A = np.zeros((dim, dim))
#build matrix
for row in range(0, dim):
rowH = Hermite.basis(row)(x)
for col in range(0, dim):
colH = Hermite.basis(col)(x)
#gaussian quadrature in vectorized form
f = np.multiply(rowH,colH)
A[row][col]=np.sum(np.multiply(f,w))
print(A)
::备注::此代码只能在NumPy 1.7.0及更高版本下运行!
推荐答案
您的错误在于没有阅读the documentation:
numpy.multiply(x1, x2[, out])
multiply
恰好接受两个输入数组。可选的第三个参数是可用于存储结果的输出数组。(如果没有提供,则创建并返回一个新数组。)当您传递三个数组时,第三个数组将被前两个数组的乘积覆盖。
这篇关于几个数组在Python Numpy中的元素乘法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:几个数组在Python Numpy中的元素乘法
基础教程推荐
猜你喜欢
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 筛选NumPy数组 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01