gpt4 book ai didi

python - 如何找到 numpy 数组的根

转载 作者:行者123 更新时间:2023-12-05 07:31:58 24 4
gpt4 key购买 nike

我想知道如何找到数组的脚。我现在拥有的是:

import numpy as np
from scipy.optimize import brentq as find_root

t = np.linspace(0, 100)

def f(x):
return x ** 2 - t

a = find_root(f, -400, 400)

print(a)

它给了我一个类型数组,上面写着:

TypeError: only size-1 arrays can be converted to Python scalars. 

我知道原因是 find_root 只能在其参数中采用标量。我想要的是使“a”成为一个颠簸的数组,它在给定 t 的每个可能值的情况下为函数找到根。这是否意味着我需要为 find_root 编写一个循环?或者我需要在定义函数之前写一个循环吗?最简单的方法是什么?非常感谢您的帮助。

最佳答案

是的,在这种情况下,循环参数可能是最简单的。

import numpy as np
from scipy.optimize import brentq as find_root

def f(x, t):
return x ** 2 - t

a = [find_root(f, 0, 400,args=(i,)) for i in np.linspace(1,10,10)]

print(a)

请注意,我向您的函数 f 引入了一个参数 t,您可以使用 args 参数将值传递给该函数查找根

关于python - 如何找到 numpy 数组的根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51507145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com