基于 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 表示出来。

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)

file

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

采用相同的思路:

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)

两种情况都求出来了
file

最近更新

  1. TCP协议是安全的吗?

    2024-04-02 08:04:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-02 08:04:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-02 08:04:06       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-02 08:04:06       20 阅读

热门阅读

  1. 深度学习八股文

    2024-04-02 08:04:06       16 阅读
  2. golang开发类库推荐

    2024-04-02 08:04:06       15 阅读
  3. MetaGPT部分源码解读--Memory

    2024-04-02 08:04:06       14 阅读
  4. 如何在mysql中生成类似oracle中的rownum行号?

    2024-04-02 08:04:06       15 阅读
  5. Gauss到底是不是国产数据库

    2024-04-02 08:04:06       14 阅读