将大型Sympy表达式转换为可读字符串的最快方法

2024-09-17 02:12:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个sympy脚本,我用它来计算一个复杂机器人的动力学模型。在脚本的最后,我想以可读的格式将结果存储在一个文件中

符号演算相对较快(约5秒),但从我使用的内部格式到可读格式的转换需要很长时间

使用pickle存储表达式速度很快,但不可读,并且会生成一个大文件(269Kb)。 我尝试过使用Sympy打印功能,但它们都需要很长时间(最长运行时间约32小时,尚未完成)

示例代码:

th1 = symbols('th1')
DV1 = sin(th1)
DV2 = cos(th1)
torques = DV1^2 + 2*DV2 # Computation, fast

torques_str = str(torques) # Conversion, extremely slow

with open('torques.txt', 'w') as f: # Save string
    print >> f, torques_str

如何才能有效地将Sympy表达式转换为可读格式并存储在文件中


Tags: 文件模型脚本表达式格式符号机器人动力学