python二分法查找函數(shù)底值
假設(shè)連續(xù)函數(shù)f(x)在區(qū)間(a,b)上有一個底值m,且在該底值下的函數(shù)輸出值為M,即f(m)=M,利用二分法查找該底值:(s為足夠小的數(shù))
令t=(a+b)/2,若|f(t)-M|<=s,則m=t,若|f(t)-M|>s,如果(f(t)-M)和(f(a)-M)同號,a=t,反之b=t,繼續(xù)二分法t=(a+b)/2...直到|f(t)-M|<=s,則m=t。
例如:一項(xiàng)一年期投資,每個季度初投入10000元,期滿時(shí)收入44163.225,求內(nèi)部收益率(已設(shè)定為0.04)。
收益函數(shù)為:
從(0,1)區(qū)間中查找該內(nèi)部收益率,用二分法令t=(0+1)/2=0.5,比較發(fā)現(xiàn)|f(t)-44163.225|>10**(-10),并且f(t)-44163.225和f(1)-44163.225同號,則繼續(xù)令t=(0+0.5)/2=0.25,,,直到查找出內(nèi)部收益率為0.03999999445689362,約等于0.04
def f(i): y = 10000 * (1 + i) ** 4 + 10000 * (1 + i) ** 3 + 10000*(1+i)**2+10000*(1+i)**1 return y def division(a,b,M,n): #a,b為自選值范圍,(f(a)-M)*(F(b)-M)<或=0 #M為f(x)輸出值,n為輸出值精度要求小數(shù)位數(shù) while True: t = (a + b) / 2 if abs(f(t) - M) <= 10 ** (-n): m = t break if (f(t) - M) / abs(f(t) - M) == (f(a) - M) / abs(f(a) - M): a = t else: b = t return m y=division(0,1,44163.225,10) print(y)
到此這篇關(guān)于python二分法查找函數(shù)底值的文章就介紹到這了,更多相關(guān)python函數(shù)底值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python優(yōu)雅實(shí)現(xiàn)二分查找的示例詳解
- 使用Python實(shí)現(xiàn)二分法查找的示例
- Python實(shí)現(xiàn)二分法查找及優(yōu)化的示例詳解
- Python?二分查找之bisect庫的使用詳解
- Python算法練習(xí)之二分查找算法的實(shí)現(xiàn)
- 詳解Python查找算法的實(shí)現(xiàn)(線性,二分,分塊,插值)
- Python語言實(shí)現(xiàn)二分法查找
- python二分法查找實(shí)例代碼
- python中二分查找法的實(shí)現(xiàn)方法
- python實(shí)現(xiàn)二分查找算法
- python二分查找搜索算法的多種實(shí)現(xiàn)方法
相關(guān)文章
一次性徹底講透Python中pd.concat與pd.merge
本文主要介紹了一次性徹底講透Python中pd.concat與pd.merge,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06python編程開發(fā)之類型轉(zhuǎn)換convert實(shí)例分析
這篇文章主要介紹了python編程開發(fā)之類型轉(zhuǎn)換convert用法,結(jié)合實(shí)例形式分析了Python中常見的數(shù)據(jù)類型及類型轉(zhuǎn)換convert的具體使用方法,需要的朋友可以參考下2015-11-11python測試開發(fā)django之使用supervisord?后臺啟動celery?服務(wù)(worker/beat)
Supervisor是用Python開發(fā)的一個client/server服務(wù),是Linux/Unix系統(tǒng)下的一個進(jìn)程管理工具,不支持Windows系統(tǒng),這篇文章主要介紹了python測試開發(fā)django之使用supervisord?后臺啟動celery?服務(wù)(worker/beat),需要的朋友可以參考下2022-07-07使用Python的音樂播放器GUI的實(shí)現(xiàn)
本文主要介紹了使用Python的音樂播放器GUI的實(shí)現(xiàn),可以讓您快速輕松地管理和收聽所有音樂文件,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12解決virtualenv -p python3 venv報(bào)錯的問題
這篇文章主要介紹了解決virtualenv -p python3 venv報(bào)錯的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02numpy.transpose()實(shí)現(xiàn)數(shù)組的轉(zhuǎn)置例子
今天小編就為大家分享一篇numpy.transpose()實(shí)現(xiàn)數(shù)組的轉(zhuǎn)置例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12python muggle_ocr庫用法及實(shí)例代碼
在本篇文章里小編給大家整理的是一篇關(guān)于python muggle_ocr庫用法及實(shí)例代碼內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。2021-07-07