基于 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)

两种情况都求出来了

相关推荐
Dxy123931021613 小时前
Python Tensor 向量入门:从零理解深度学习的“数据语言“
开发语言·python·深度学习
gf132111114 小时前
python_获取飞书卡片交互和审批任务状态变更事件信息
python
ss27314 小时前
ai编程Trae cn生成图书管理系统(1)
java·数据库·spring boot·python·flask·fastapi
如竟没有火炬14 小时前
寻找峰值——二分
java·开发语言·数据结构·python·算法·散列表
前端与小赵15 小时前
Python 模块导入全解析,从基础语法到循环导入破解
python
费弗里15 小时前
里程碑式更新!Dash 4.2新版本新增websocket型回调
python·dash
J2虾虾15 小时前
Spring AI Alibaba - Structured Output 结构化输出
人工智能·python·spring
RSTJ_162515 小时前
PYTHON+AI LLM DAY SIXTY-FOUR
开发语言·python
甄心爱学习16 小时前
【项目实训(个人11)】
python·个人开发
zhangfeng113316 小时前
国家超算中心 htc 如果只有gpu资源 没有cpu资源 操作文件的时候会不会很卡呢
人工智能·pytorch·python·机器学习