Python 如何得到反向查找的近似方程

Python 如何得到反向查找的近似方程,python,r,algebra,polynomial-math,Python,R,Algebra,Polynomial Math,对于从Y到X的反向查找,是否有任何方法或途径获得近似方程式X=gy。以下是简单的Y=fx及其绘图 import numpy as np import matplotlib.pyplot as plt formula = "2*x**6 + x**5 -3*x**4 + 7*x**3 + 9*x**2 + x + 6" x = np.arange(1, 10) y = eval(formula) plt.plot(x, y) plt.xlabel('X') plt.ylabel('Y') pl

对于从Y到X的反向查找,是否有任何方法或途径获得近似方程式X=gy。以下是简单的Y=fx及其绘图

import numpy as np
import matplotlib.pyplot as plt  
formula = "2*x**6 + x**5 -3*x**4 + 7*x**3 + 9*x**2 + x + 6"
x = np.arange(1, 10)
y = eval(formula)
plt.plot(x, y)
plt.xlabel('X')
plt.ylabel('Y')
plt.show()

您能否在R或Python中建议任何可能的方法,以最小的误差范围从Y到X获得反向查找功能?

这里是一个基本的R解决方案。在要覆盖的范围内选择x,生成fx,然后将函数作为x的函数拟合到y。我计算并绘制一个值的倒数作为确认

f = function(x) 2*x**6 + x**5 -3*x**4 + 7*x**3 + 9*x**2 + x + 6

## Generate inverse function
x = seq(0,9, 0.1)
y = f(x)
f_inv = approxfun(y, x)

## Plot as a confirmation
plot(f, xlim=c(0,9))
x100K = f_inv(100000)
points(x100K, 100000, pch=16, col="red")

如果我理解正确,你想要多项式回归曲线?如果是的话,看看对不起,我不明白。Y将转到一组X;倒数不是一个函数。你是说“任意X”、“最接近某个值的X”还是什么?@CharlesMerriam OP的图片从X=1到X=9。在这个范围内,外汇是严格增加的,所以在这个范围内有一个反向。谢谢。我们如何从f_inv中得到方程式并使用另一种语言(比如C语言)。r文档中有一个警告approxfun返回的值包含对当前版本r中代码的引用:它不打算保存并加载到其他r会话中。这对于R>=3.0.0更安全。