基于 SymPy 的反函数求解

原文:https://blog.iyatt.com/?p=14396
例一

f(x) = 2x + 3

这个函数很简单,可以看出它的反函数是(令 y=f(x) ):$$x=\frac{y-3}{2}$$

使用 SymPy 求解可以采用这样的思路:

已知函数 f(x)=2x+3, 令 y = f(x), 即构建起一个等式 y=2x+3, 求解反函数就是变成用 y 来表示 x。则可以把 y 看作一个常数,x 是未知数,尝试求解未知数 x 的值,就能把 x 用 y 表示出来。

py 复制代码
import sympy as sy

x, y = sy.symbols('x y') # 定义符号
fx = 2 * x + 3 # 定义原函数

equation = sy.Eq(fx, y) # 构建等式 fx = 2x+3 = y
answer_list = sy.solve(equation, x) # 求解等式 y = 2x + 3 中的 x 未知数
for answer in answer_list: # 打印结果
    display(answer)

例二
$$f(x) = a\sin x+b$$

采用相同的思路:

py 复制代码
import sympy as sy

x, y, a, b = sy.symbols('x y a b')
fx = a * sy.sin(x) + b

equation = sy.Eq(fx, y)
answer_list = sy.solve(equation, x)
for answer in answer_list:
    display(answer)

两种情况都求出来了

相关推荐
卷无止境1 小时前
RAGFlow 项目全景报告:从文档解析引擎到 Agent 原生数据库
后端·python
灿飞屋2 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
benchmark_cc2 小时前
单只股票五档盘口接入个人研究仓库:QuantDash 读取、校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash
青少儿编程课堂4 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:中缀表达式求值解析
c++·python·算法·bfs·信息学竞赛
灿飞屋6 小时前
Kotlin与Java虚拟机四:函数
java·python·kotlin·安卓·android jetpack
一晌小贪欢7 小时前
Python基础:第 09 篇 · while 循环:重复直到不满足
开发语言·c++·python·数据可视化·面向对象·python办公
一条大祥脚8 小时前
CuTe 与 CuTe DSL:从 C++ 模板元编程到 Python DSL 的 GPU 编程演进
开发语言·c++·python·cutlass·cute·cute dsl
10年前端老司机9 小时前
Milvus 8种检索能力实践
数据库·python·agent
Sakura_j_h_9 小时前
从零写一个 MCP stdio Server:用 Python 校验博客文章格式
开发语言·python·自动化·ai工具·mcp·json-rpc
大草原的小灰灰10 小时前
LLM应用的标准开发框架LangChain(八)- 中间件
python·中间件·langchain