python - 如何获得反向查找的近似方程
问题描述
是否有任何方法或方法可以获得从 Y 到 X 进行反向查找的近似方程(x = g(y))。以下是简单的 y = f(x) 及其图。
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,生成 f(x),然后将函数拟合到 y 作为 x 的函数。我计算并绘制一个值的倒数作为确认。
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")
推荐阅读
- python - python子进程“OSError:[WinError 6]句柄无效”错误
- snowflake-cloud-data-platform - 在 Snowflake 中的 INFORMATION_SCHEMA 中创建自定义视图或表时权限不足
- javascript - 让javascript音频组件重新加载
- list - 如何计算列表中周围字符串的数量?
- go - 如何处理 GRPC Golang 高 CPU 使用率
- sql - 如何修复将负值传递给 LEFT() 的错误
- python - 矩形对象在pygame的一个栏中聚集在一起
- c# - 如何在 C# Winform 应用程序中的表单之间传递裁剪的图片?
- python - 无法从 MainFrame(ttk.Frame) 类中关闭 tkinter 应用程序:
- java - Android 应用程序在从蓝牙 GPS 设备获取数据时速度变慢