gpt4 book ai didi

python - 强制 SymPy 保持术语的顺序

转载 作者:太空狗 更新时间:2023-10-30 02:28:35 27 4
gpt4 key购买 nike

我有以下代码:

from sympy import *
init_printing()

x,y = symbols('x y')
u = Function('u')(x,y)
ux,uy,uxx,uxy,uyy = symbols("u_x u_y u_xx u_xy u_yy")

mainEvaluation = uxx - 2*sin(x)*uxy - (cos(x) ** 2) * uyy - 2*ux + (2 - cos(x) + 2*sin(x) )*uy

print(mainExpression)的输出是

-2*u_x + u_xx - 2*u_xy*sin(x) + u_y*(2*sin(x) - cos(x) + 2) - u_yy*cos(x)**2

问题是:我想要变量的原始顺序。

u_xx - 2*u_xy*sin(x)  - u_yy*cos(x)**2  - 2*u_x + u_y*(2*sin(x) - cos(x) + 2)

所有这些都是在 IPython notebook 中完成的。有什么办法可以维持秩序?

最佳答案

遗憾的是,SymPy 不跟踪输入顺序(请参阅我在对该问题的评论中链接的其他问题)。您可以定义自己的排序函数,按照您想要的方式对表达式进行排序,但无法完全按照输入的方式排序,因为该信息未保存。

关于python - 强制 SymPy 保持术语的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36314035/

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