gpt4 book ai didi

python - 从 SymPy 表达式中删除系数

转载 作者:太空宇宙 更新时间:2023-11-03 15:58:52 25 4
gpt4 key购买 nike

我在 SymPy 中有一个符号表达式,我需要在对表达式进行二阶导数后删除所有系数。这是代码

import sympy as sym

x, y = sym.symbols('x y')

# define the shape function
S_function = 0 +\
x + y +\
x**2 + x*y + y**2 +\
x**3 + x**2*y + x*y**2 + y**3

# take the 2nd derivative of the shape function for the x components
S_function_xx = sym.expand(sym.diff(S_function,x,2))

print(S_function_xx)

我得到 6*x + 2*y + 2 的输出,我需要将其转换为 x + y。欢迎提出任何建议。

最佳答案

如果表达式实际上是多项式(如此处),则可以使用以下方法:将其转换为 Poly object , 用 monoms 得到它的单项式列表,然后重新组合,删除常数项。

monom_list = sym.Poly(S_function_xx, x, y).monoms()
new_function = sum([x**a*y**b for a, b in monom_list if a + b > 0])

如果 S_function_xx 不是多项式,那么什么是“系数”就不那么清楚了。

关于python - 从 SymPy 表达式中删除系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41655763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com