第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

python 中無(wú)限極限的集成

python 中無(wú)限極限的集成

波斯汪 2023-07-18 10:24:39
我在(0,無(wú)限)限制內(nèi)積分時(shí)遇到困難。我正在嘗試做這個(gè) Jupyter 筆記本(不知道這是否是相關(guān)信息)。代碼如下:import numpy as npimport matplotlib.pyplot as pltimport scipy as scimport mathfrom scipy.integrate import quaddef integrand3(x,z,m,n):    return ((np.cosh(x))**m)*((np.sinh(x))**n)*(np.exp(-z*np.cosh(x)))def IgK0(z,m,n):    IntK1 = quad(integrand3, 0, 1, args=(z,m,n))    return IntK1IgK0(1,1,1)這給出了結(jié)果:(0.19224739693489237, 2.1343748650136926e-15)這沒關(guān)系。但是當(dāng)我用無(wú)窮大替換上限時(shí),我得到“nan”作為輸出。請(qǐng)看下面的代碼:def IgKI(z,m,n):    IntKI = quad(integrand3, 0, np.inf, args=(z,m,n))    return IntKI當(dāng)我使用 (0,0) 值作為 (m,n) 時(shí),盡管存在一些我不明白的錯(cuò)誤,但至少我得到了一些答案。IgKI(1,0,0)<ipython-input-53-9b9d0956fa85>:2: RuntimeWarning: overflow encountered in cosh  return ((np.cosh(x))**m)*((np.sinh(x))**n)*(np.exp(-z*np.cosh(x)))<ipython-input-53-9b9d0956fa85>:2: RuntimeWarning: overflow encountered in sinh  return ((np.cosh(x))**m)*((np.sinh(x))**n)*(np.exp(-z*np.cosh(x)))(0.42102443824067737, 1.3628527263018718e-08)但是當(dāng)我對(duì) (m,n) 使用任何其他值時(shí),我得到以下結(jié)果:IgKI(1,0,1)<ipython-input-53-9b9d0956fa85>:2: RuntimeWarning: overflow encountered in cosh  return ((np.cosh(x))**m)*((np.sinh(x))**n)*(np.exp(-z*np.cosh(x)))<ipython-input-53-9b9d0956fa85>:2: RuntimeWarning: overflow encountered in sinh  return ((np.cosh(x))**m)*((np.sinh(x))**n)*(np.exp(-z*np.cosh(x)))<ipython-input-53-9b9d0956fa85>:2: RuntimeWarning: invalid value encountered in double_scalars  return ((np.cosh(x))**m)*((np.sinh(x))**n)*(np.exp(-z*np.cosh(x)))<ipython-input-76-9bee7a5d6456>:2: IntegrationWarning: The occurrence of roundoff error is detected, which prevents   the requested tolerance from being achieved.  The error may be   underestimated.  IntKI = quad(integrand3, 0, np.inf, args=(z,m,n))(nan, nan)那么,我做錯(cuò)了什么?
查看完整描述

1 回答

?
繁星淼淼

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊

錯(cuò)誤很明顯——你遇到了溢出,一切都崩潰了。這是由于您的功能很快就出現(xiàn)了分歧:


>>> [np.cosh(10**x) for x in range(5)]

__main__:1: RuntimeWarning: overflow encountered in cosh

[1.5430806348152437, 11013.232920103324, 1.3440585709080678e+43, inf, inf]

在 1000 時(shí),Python 已經(jīng)無(wú)法計(jì)算cosh(例如)。事實(shí)上,積分(1,1,1)到 100 就可以了。由于這是數(shù)值積分,因此需要計(jì)算界限處的值(無(wú)窮大也將轉(zhuǎn)換為界限,但您可以僅使用 1000 進(jìn)行測(cè)試)。正如您從警告中看到的,這意味著函數(shù)的每個(gè)部分都是單獨(dú)計(jì)算的,更不用說您將其求冪并對(duì)指數(shù)求冪。


這個(gè)庫(kù)不能滿足你的需求。您可以嘗試使用符號(hào)集成sympy,或者更專用的工具(例如 Mathematica)。


查看完整回答
反對(duì) 回復(fù) 2023-07-18
  • 1 回答
  • 0 關(guān)注
  • 206 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)