0
我想從0〜1整合x**(-2/3)*(x-1)**(1/3)
,我已經改變了變量,並使用Simpson規則解決它,現在我想嘗試一些更快的方法。與scipy集成
我的代碼:
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.
我該如何解決呢?
請問您是否顯示'x1(0)'的輸出? – soon
是的,它是一個奇點。可以只集成'lambda x:x **( - 2/3)',四元函數可以處理奇點,但我不知道這個。 – ShaoHui
你確定你的功能正常嗎?因爲'x **( - 2/3)'和'x **( - 2./3。)'是不同的功能。 –