如何在 SymPy 中获得等式的两边?

How to get either side of equation in SymPy?

假设我有下面的代码。我想得到等式的右边(C1 + x ...)。我该怎么做?

我的问题是 f(x) 在特定点的导数有一些边界条件,所以我想计算这些并找出常数。我也有不同的 w(x) 值,因此最终代码将开始定义一个名为 wx 的变量,而不是函数 w(x)。

from __future__ import division
from sympy import *
x, y = symbols('x y')
w, f = symbols('w f', cls=Function)
init_printing(use_unicode=True)

diffeq = f(x).diff(x,x,x,x)-w(x)
expr = dsolve(diffeq, f(x))

print diffeq
print expr

结果:

-w(x) + Derivative(f(x), x, x, x, x)
f(x) == C1 + x**3*(C4 + Integral(w(x)/6, x)) + x**2*(C3 - Integral(x*w(x)/2, x)) + x*(C2 + Integral(x**2*w(x)/2, x)) - Integral(x**3*w(x)/6, x)

expr.lhsexpr.rhs 将为您提供等式的左侧和右侧。