给定方程取决于未知变量(y)和一组参数。我想用数值方法求解y,给出网格中每个元素的参数值。Python - Sympy - 数值求解网格中多个参数的方程
我尝试的解决方案的简化的例子如下(y是未知变量,x是参数):
import numpy as np
import sympy as sp
x,y=sp.symbols('x y')
xgrid=np.arange(1,6)
f = sp.lambdify(x,sp.nsolve(x**2+y,y,2),"numpy")
print(f(xgrid))
然而,我收到以下错误:“预期的一维和数值函数“。我期待在xgrid中为每个x值接收一个y = -x ** 2的向量。
请注意,实际感兴趣的函数不是y = -x ** 2,而是一个非线性函数,它隐含在x中的y中。
我被迫做了一个在网格中的每个值的循环,或者我仍然可以使用lambdify莫名其妙吗?提前致谢!
谢谢!这是否意味着我被迫对网格中的每个值执行循环,或者我仍然可以使用lambdify? – CarlosH
我会说可悲的循环 – glegoux
谢谢。我编辑了这个问题,看看是否有人可以提出更有效的解决方案。如果从现在起一周内没有人回复,我会将您的问题标记为您解决。再次感谢。 – CarlosH