如何解决从 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())
输出如下:
有什么建议吗?
解决方法
我认为 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。