簡體   English   中英

與scipy整合

[英]Integrate with scipy

我想將x**(-2/3)*(x-1)**(1/3)x**(-2/3)*(x-1)**(1/3)進行積分,我曾經更改過變量並使用Simpson規則來解決它,現在我想嘗試一些更快的方法。

我的代碼:

x1 = lambda x: x**(-2/3)*(x-1)**(1/3)
integrate.quad(x1,0,1)

錯誤:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/scipy/integrate/quadpack.py", line 281, in quad
    retval = _quad(func,a,b,args,full_output,epsabs,epsrel,limit,points)
  File "/usr/lib/python3/dist-packages/scipy/integrate/quadpack.py", line 345, in _quad
    return _quadpack._qagse(func,a,b,args,full_output,epsabs,epsrel,limit)
quadpack.error: Supplied function does not return a valid float.

我該如何解決?

即使標題說與numpy集成,我想您的意思是scipy。您的問題是您的函數中有復數。 例如,對於[0,1 (x-1)**(1/3) ,部分(x-1)**(1/3)變得復數,但是scipy.integrate.quad不處理復數。 有關更多信息,請參見例如, 使用scipy.integrate.quad來對復數進行積分

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM