24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1246  |  回复: 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个字符以上)
信息提示
请填处理意见