我打算计算从0到x的曲线(函数)长度等于1的b(在Xo轴上也为x)。
在知道的情况下:https://www.mathsisfun.com/calculus/arc-length.html
(从0到b的整数)∫(1 +((f’(x))^ 2)^(1/2)dx = 1
那:
(从a到b的整数)∫f(x)dx = F(b)-F(a)
我们可以通过
来计算1-F(0)+ F(b)= 0,现在这是一个用x表示的方程,因为b就像我说的是Xo轴上的x。
所以现在我尝试了f(x)= x ** 3(完整代码将在下面)
我从SymPy获得的全部是ConditionSet,但不是数字。当然,不能通过evalf()撤消ConditionSet
所以这是我的问题:
- 我在数学上犯错了吗?
- 我的代码是否错误以及如何对其进行改进?
- SymPy是否足以计算这个?
- 我是否误解了文档?
代码:
from __future__ import division
import matplotlib.pyplot as plt
from sympy import *
x,y,z = symbols('x y z',real=True)
function1 = x**3
Antiderivative1 = integrate((1+(diff(function1))**2)**(1/2),x)
b = solveset(Eq(1 + Antiderivative1.subs(x,0).evalf() - Antiderivative1,0),x)
print(b)
多数民众赞成在输出:
ConditionSet(x,Eq(x*hyper((-0.5,1/4),(5/4,),9*x**4*exp_polar(I*pi)) - 4.0*gamma(5/4)/gamma(1/4),Complexes)
在此先感谢您,感谢语法错误。