如何在numpy数组中修改元素的值?

2024-05-23 17:16:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在一个逐n numpy数组中稍微增加一个值。然而,python似乎根本没有改变值。不会抛出任何错误(当返回值意外为零时,程序中的其他地方除外)

def numerical_partial_derivative(f, x, i, dx = delta):
    print("delta:", delta)
    print("x type:", type(x))
    x_bip = x
    x_bop = x
    x_bip[i] = x_bip[i] + delta
    x_bop[i] = x_bop[i] - delta

    print("x, x_bip, x_bop:", x, x_bip, x_bop)

    return ((f(x_bip) - f(x_bop)) / (2 * dx))

但调用此函数时,我的输出是(无论我使用什么dx值):

delta: 1
x type: <class 'numpy.ndarray'>
x, x_bip, x_bop: [-2.  2.] [-2.  2.] [-2.  2.]

这怎么可能?直接调用代码或在ipython笔记本中调用代码都不起作用。 我在其他地方也有类似的问题,numpy数组拒绝接受新值


Tags: 代码程序numpydeftype地方错误numerical