sympy 解决函数作为函数
sympy solve function as function
我想从
求解 f(x)
(Eq(2*f(x)+f(1/x),1/x))
预期输出是
f(x) = (2-x^2)/(3*x)
我试试
solve((Eq(2*f(x)+f(1/x),1/x)),f(x))
这个答案包含 f(1/x) : (-x*f(1/x) + 1)/(2*x)
如何在 sympy 中得到 f(x) = (2-x^2)/(3*x)?
我认为 sympy 不会按照您想要的方式求解这样的函数方程,但是您可以将您的特定方程分成两个:2y+z = 1/x 和 2z+y = x 其中 y(1 /x) = z(x) 并让 sympy 求解 y 和 z:
In [5]: x, y, z = Symbol('x'), Symbol('y'), Symbol('z')
In [6]: solve((Eq(2*y+z,1/x), Eq(2*z+y,x)),y,z)
Out[6]: {y: (-x**2 + 2)/(3*x), z: (2*x**2 - 1)/(3*x)}
所以 y 就是您想要的 f(x)。
我想从
求解 f(x)(Eq(2*f(x)+f(1/x),1/x))
预期输出是
f(x) = (2-x^2)/(3*x)
我试试
solve((Eq(2*f(x)+f(1/x),1/x)),f(x))
这个答案包含 f(1/x) : (-x*f(1/x) + 1)/(2*x)
如何在 sympy 中得到 f(x) = (2-x^2)/(3*x)?
我认为 sympy 不会按照您想要的方式求解这样的函数方程,但是您可以将您的特定方程分成两个:2y+z = 1/x 和 2z+y = x 其中 y(1 /x) = z(x) 并让 sympy 求解 y 和 z:
In [5]: x, y, z = Symbol('x'), Symbol('y'), Symbol('z')
In [6]: solve((Eq(2*y+z,1/x), Eq(2*z+y,x)),y,z)
Out[6]: {y: (-x**2 + 2)/(3*x), z: (2*x**2 - 1)/(3*x)}
所以 y 就是您想要的 f(x)。