python - 从 sympy 获取不定积分

标签 python sympy

我试图从 sympy 获得不定积分,但它实际上并没有解决它。我只是重复输入表达式。 设置如下:

rt = sympy.Matrix([t**2, sympy.cos(t)+t*sympy.sin(t),sympy.sin(t)-t*sympy.cos(t)])
vt = sympy.diff(rt)
vt_norm = vt.norm()
vt_int = sympy.integrate(vt_norm, t)

print("position function:")
display(rt)
print("velocity function:")
display(vt)
print("velocity norm")
display(vt_norm)
print("vt_integrate")
display(vt_int)
print("vt_integrate , do_it")
display(vt_int.doit())

这是输出:

Output

有什么建议吗?

最佳答案

我认为 t 是真实的,如果你向 sympy 解释这一点,那么它可以给你一个更简单的结果。如果 t 为正,结果可以进一步简化:

In [11]: t = Symbol('t', real=True)

In [12]: rt = sympy.Matrix([t**2, sympy.cos(t)+t*sympy.sin(t),sympy.sin(t)-t*sympy.cos(t)])
    ...: vt = sympy.diff(rt)
    ...: vt_norm = vt.norm()

In [13]: vt_norm
Out[13]: 
   ________________________________
  ╱  2    2       2    2         2 
╲╱  t ⋅sin (t) + t ⋅cos (t) + 4⋅t  

In [14]: vt_norm.simplify()
Out[14]: √5⋅│t│

In [15]: vt_norm.simplify().integrate(t)
Out[15]: 
⎧     2            
⎪-√5⋅t             
⎪───────  for t ≤ 0
⎪   2              
⎨                  
⎪     2            
⎪ √5⋅t             
⎪ ─────   otherwise
⎩   2  

关于python - 从 sympy 获取不定积分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66190328/

相关文章:

python - 类方法作为模型函数和类方法作为 scipy.optimize 的优化函数

python - 重新分配字符串值时出现对象不可调用错误

python - 同情集 : iterate over intervals

python - 为什么 SymPy 不简化表达式?

python - SymPy 无法正确呈现多字符下标

python - 如何在python中分离指数函数

python - 向图像添加泊松噪声

Python:尝试从导入的包中导入模块时出现 'ModuleNotFoundError'

javascript - 登录 Python 和 Django 应用程序时本地服务器出现错误

python - 同情如何运作?它如何与交互式 Python shell 交互,交互式 Python shell 是如何工作的?