24小时热门版块排行榜    

查看: 1271  |  回复: 0
【悬赏金币】回答本帖问题,作者横行天下99将赠送您 200 个金币

横行天下99

新虫 (初入文坛)

[求助] 在python中用sympy求定积分失败

用python sympy 求定积分,代码如下:
E=210000
from sympy import *
x=symbols('x')
T_2=(125-x)/50*(21-18)+18
Radius_2=T_2/40*10.5*0.5
I_2=((89-Radius_2*2)*T_2**3/12)+((T_2-Radius_2*2)**3*Radius_2/12)+(3.1415926536*(Radius_2*2)**4/64)
δ_2=float(integrate((x**2)/(E*I_2),(x,75,125)))
运行后电脑显示如下:
Traceback (most recent call last):
  File "G:\caculation.py", line 84, in <module>
    δ_2=float(integrate((x**2)/(E*I_2),(x,X_2,X_3)))
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\integrals\integrals.py", line 1545, in integrate
    return integral.doit(**doit_flags)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\integrals\integrals.py", line 482, in doit
    did = self.xreplace(reps).doit(**hints)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\integrals\integrals.py", line 593, in doit
    antideriv = self._eval_integral(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\integrals\integrals.py", line 929, in _eval_integral
    result, i = risch_integrate(f, x, separate_integral=True,
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\integrals\risch.py", line 1757, in risch_integrate
    ans = integrate(fa.as_expr()/fd.as_expr(), DE.x, risch=False)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\integrals\integrals.py", line 1545, in integrate
    return integral.doit(**doit_flags)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\integrals\integrals.py", line 593, in doit
    antideriv = self._eval_integral(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\integrals\integrals.py", line 1015, in _eval_integral
    parts.append(coeff * ratint(g, x))
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\integrals\rationaltools.py", line 51, in ratint
    g, h = ratint_ratpart(p, q, x)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\integrals\rationaltools.py", line 146, in ratint_ratpart
    u, v, _ = g.cofactors(g.diff())
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\polys\polytools.py", line 2846, in cofactors
    h, cff, cfg = F.cofactors(G)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\polys\polyclasses.py", line 677, in cofactors
    h, cff, cfg = dmp_inner_gcd(F, G, lev, dom)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\polys\euclidtools.py", line 1582, in dmp_inner_gcd
    return dup_inner_gcd(f, g, K)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\polys\euclidtools.py", line 1514, in dup_inner_gcd
    return dup_ff_prs_gcd(f, g, K)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\polys\euclidtools.py", line 1032, in dup_ff_prs_gcd
    cff = dup_quo(f, h, K)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\polys\densearith.py", line 1579, in dup_quo
    return dup_div(f, g, K)[0]
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\polys\densearith.py", line 1535, in dup_div
    return dup_ff_div(f, g, K)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\sympy\polys\densearith.py", line 1458, in dup_ff_div
    raise PolynomialDivisionFailed(f, g, K)
sympy.polys.polyerrors.PolynomialDivisionFailed: couldn't reduce degree in a polynomial division algorithm when dividing [EX(2.23619108242795e-7*E), EX(0.00122184751598725*E), EX(-1.80020279144187*E), EX(799.418707575197*E), EX(-115682.870492365*E)] by [EX(1.00000000000000)]. This can happen when it's not possible to detect zero in the coefficient domain. The domain of computation is EX. You may want to use a different simplification algorithm. Note that in general it's not possible to guarantee to detect zero in this domain.
这是什么原因?
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 横行天下99 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
信息提示
请填处理意见