首页 > 解决方案 > 如何动态构建函数并找到根python

问题描述

data = pd.DataFrame(columns = ['n','m','value','x'], index = [1,2,3,4])
data['n'] = [3,4,5,2]
data['m'] = [1,2,3,2]
data['value'] = [0.2,0.5,0.3,0.9]

我想找到下面方程 x 的根,并将其放在该数据框的每一行的“x”列中。

在此处输入图像描述

标签: pythonpandas

解决方案


def poly_fuction(x, n, m, value):
    return (1+value*x**m) - (value**2*sum([x**_ for _ in range(n+1)]))

from scipy import optimize
sol = optimize.root(function,[0],(2,1,0.1))
# where n = 2, m = 1, value = 0.1
x = sol.x
(1+0.1*x**1) - (0.1**2*(1+x**1+x**2)) # should return a small value close to zero

推荐阅读