[洛穀日報第53期]淺談一些求近似值的方法

2020-12-11 洛谷科技

0 前置知識&&寫在前面

學習牛頓迭代法需要能熟練地掌握求導QwQ

學習泰勒公式需要能熟練地掌握求導並對無窮級數有一定了解QwQ

要想看懂牛頓迭代法的二次收斂證明需要一定的高數基礎QwQ(看不懂也無所謂,會用就行)

學習泰勒公式需要能熟練地掌握求導並對無窮級數有一定了解QwQ

一點都不會怎麼辦?沒有問題,會用就行NOIP不考QwQ

求零點、不動點、函數近似值、極值、最值……基本可以認為是一類問題,所以本文以討論如何** 求零點的近似值為主**

因為筆者太弱所以沒有遺傳算法、模擬退火之類的玄學算法

筆者是∑狂魔,要是有式子不理解請展開QwQ

對於低於5次的多項式方程,我們有通用的公式解法求零點的精確值對於一些特殊高次多項式方程(例如可以因式分解的或者滿足一些特定形式的方程)的和一些特殊的超越方程,我們也有方法求零點的精確值但是其餘的情況呢?目前來說我們只能求近似值QwQ(而且在實際應用中,精確值往往也會被轉換成近似值)1 二分法 (int\long long\etc.)這個方法可以說相當常見了(括號裡是此法經常被應用於的數據類型)QwQ對於在區間[l,r]內單調、連續且有f(l)*f(r)<0成立的f(x),做如下操作:計算mid=(l+r)/2若f(l)*f(mid)<0,則令r=mid,否則令l=mid如果達到預定精度,跳轉到4,否則跳轉到1結束循環次數:附程序:

2 0.618法\優選法 (float\double\long double)可能有的讀者沒聽說過,不過這個方法其實還是很常用的QwQ這個方法更常用於求單峰函數最值,所以這裡以求單峰函數最值為例講解先證明一下它的優越性(過程摘自人教版高中數學選修4-7 優選法與試驗設計初步)(沒錯真的有這本選修QwQ)

一句話概括就是在縮小區間後可以只計算一個試點坐標,從而保證最優操作流程如下(和二分法類似)

附程序:

讀者們可以在洛谷P3382(https://www.luogu.org/problemnew/show/P3382)中測試一下(~o ̄3 ̄)~(雖然是三分法模板但也可以用優選法\二分法做哦)關於這個還有一個類似方法:斐波那契法。有興趣的讀者可以查閱相關資料才不是筆者不想寫_(:3」∠)_3 泰勒公式先講這個是為了為下文牛頓迭代法二次收斂的證明做鋪墊,不想看證明的可以略過QwQ(不過還是推薦了解一下,挺有趣的)這裡假定函數f(x)在x_0處有任意階導數我們可以很容易地求出多項式和類指數函數的近似值,但是像三角函數、對數函數這樣的我們又該如何求近似值呢對了,就是用泰勒公式QwQ泰勒公式的想法很簡單,就是構造一個多項式函數,使得它與函數在處的原函數值和各階導數均相等,即

因為

於是我們就得到了(解n元一次方程組,很簡單的)

當n→∞時,我們可以認為f(x)=g(x)而當n有一個確定的值時,f(x)就可以寫成g(x)+R_n(x)了其中R_n(x)是餘項,它有好幾種不同的寫法,這裡選用拉格朗日餘項。因為它不僅在下文中牛頓迭代法的二次收斂證明中出現了,而且形式和前面的幾項非常相近

其中ξ_L在x和x_0之間要是了解過拉格朗日中值定理的讀者應該很快就能領會當n→∞時,有(泰勒級數)

特別地,當x_0=0時,有(麥克勞林級數)

另外注意應用麥克勞林級數並且x在某個範圍之外時,得到的結果可能是發散的(就是,這個不展開講,有興趣的讀者可以去學習無窮級數相關知識)附上Wikipedia的動圖

對證明感興趣的讀者可以自行查閱相關資料不能理解無所謂反正NOIP不考,下面給出幾個常見的泰勒級數

程序略QwQ4 牛頓迭代法先說說這個方法的過程

稍加計算便得到了

既然是迭代,那麼自然就有

其中x_n代表第n次迭代附上Wikipedia的動圖(https://en.wikipedia.org/wiki/Newton's_method)

二次收斂證明(Wikipedia上的,筆者翻譯QwQ)(還是那句話:看不懂無所謂,會用就行QwQ):

程序:

當然,上述各方法的應用範圍遠不止於此,有興趣的讀者可以自行查閱相關資料QwQ5 贈品5.1 cos(x)=x的解析解對於PhOer來說,cos(x)=x這個方程應該是相當熟悉了QwQ筆者在這裡放上解析解(近似值x=0.739),詳情見參考文獻[2](文獻裡講的是t sin( x)=x-m的解法,不過筆者太弱了,實在是看不懂QwQ)

5.2 快速求1/sqrt{x}關於這個有一個相當有名的故事為了節約篇幅,筆者把文章放在這裡了(https://www.luogu.org/paste/04z8pvrb)6 後記這篇文章偏數學一些,如果不能理解的話請多讀幾遍QwQ其實可寫的還有很多,限於篇幅就到此為止了(現在在後臺打個字都要卡兩秒QwQ)因為筆者是個蒟蒻,所以如果有錯誤,煩請各位dalao不吝賜教7 主要參考資料[1] 人教版高中數學選修4-7 優選法與試驗設計初步[2] Siewert C E, Burniston E E. An exact analytical solution of Kepler's equation[J]. Celestial Mechanics, 1972, 6(3):294-304.[3] Newton's method - Wikipedia(https://en.wikipedia.org/wiki/Newton's_method)[4] Taylor's theorem - Wikipedia(https://en.wikipedia.org/wiki/Taylor%27s_theorem)[5] 一個Sqrt函數引發的血案()(這個是筆者能找到的最早的一篇了QwQ)本文發布於洛穀日報,特約作者:khong原文地址:https://khong-biet.blog.luogu.org/methods-of-GetApproxNumber

相關焦點

  • [洛穀日報第35期]淺談自適應Simpson法
    有的讀者可能會有疑問:不是要講自適應Simpson法嗎,怎麼變成求面積了?n 段,每一段用一些規則的幾何圖形去近似,然後把每一段的面積加起來,這樣我們就得到近似值了可以看出,上述過程的關鍵就是選擇什麼樣的幾何圖形去近似當然,用不同的幾何圖形近似,效果是不同的1.1 用矩形去近似當然,我們可以看出這種近似方法太粗糙了
  • [洛穀日報第46期]線段樹的擴展之淺談zkw線段樹
    0 閱讀本文前請先閱讀【洛穀日報#4】淺談線段樹(https://pks-loving.blog.luogu.org/senior-data-structure-qian-tan-xian-duan-shu-segment-tree)本文主要是上面文章的延伸,所以上文有講的東西本文就不詳細講了QwQ筆者的測試代碼可能寫醜了
  • [洛穀日報第38期]淺談如何在 Codeforces 下分
    本文中筆者將結合一些具體例子,講述一些在 Codeforces 中下分的必要條件和技巧。0.刷負的選手需要注意的一點就是可能有一些選手會1題AC並且Hack Failed足夠多次來獲得<0的成績,甚至可能通過足夠高超的技巧使得A掉的那題也fst掉。比賽過程中,刷負的選手需要時刻注意榜,如果發現有選手的分為負,則需要儘可能地多Hack Failed,以得到比該選手更低的分數。
  • [洛穀日報第79期]二進位與位運算
    其他進位也可以用類似的方法進行轉換,例題P1143 進位轉換(https://www.luogu.org/problemnew/show/P1143)原碼、反碼和補碼原碼,指一個二進位數左邊加上符號位後所得到的碼,且當二進位數大於
  • [洛穀日報第44期]強勢圖解AC自動機
    我們利用部分已經求出fail指針的結點推導出當前結點的fail指針。完整代碼洛谷AC自動機模板題簡單版(https://www.luogu.org/problemnew/show/P3808)練習洛谷模板題x2完結撒花本文發布於洛穀日報,特約作者:水手hwy原文地址:https://www.luogu.org/blog/42196/qiang-shi-tu-xie-ac-zi-dong-ji
  • [洛穀日報第4期]淺談線段樹——Segment Tree
    我實在是不想再碼一遍了qwq最後貼~~高清無碼的~~標程:(還有,輸入大數據一定不要用不加優化的cin/cout啊)本文發布於洛穀日報
  • [洛穀日報第22期]可以代替線段樹的樹狀數組?
    以下內容有些難理解,先放一張圖:我們回想一下,當初剛學樹狀數組時為什麼很多人總會說樹狀數組不能用來求最值。那是因為樹狀數組可以看作是一種前綴和,求和時可以用ans=ans[r]-ans[l-1]的性質,但是求最值無法滿足這種減法的性質。
  • [洛穀日報第45期]談談關於初賽的那些事
    下面主要提一下數學知識和CCF讚歌相關的,相信大家在其他的洛穀日報裡能夠看到許多圖論與數據結構相關的內容,而硬體知識與計算機發展史也應該已經有所了解。P.S.原碼和反碼0的表示方法有兩種。這也就是為什麼要引進補碼的原因。
  • [洛穀日報第59期]我有獨特的騙分技巧
    -1 寫在前言之前可能這篇文章初看標題會有一些dalao認為我寫的東西很低級(雖然的確挺低級)但是,我認為也值得浪費您一點時間看一看相信多多少少也會有一些收穫(如果沒有,我深表歉意做過 CF 愚人節題目的 2k 多人應該都知道,愚人節題目 CF409F 的標題就是 000001 ,指的就是 OEIS 裡的 A000001 ,題目是要求輸出該數列的第 n 項。(可見對於這些網站掌握程度的重要性)其它是連結啦,出處啦之類的,大家有興趣可以自己看看,我不多講了。有什麼用?當然是可以打表了!
  • [洛穀日報第29期]OI中可以用到的Linux基礎教程
    Linux基礎教程●前置系統:任意Linux(不用NOI Linux也沒問題,我用的是deepin),如果沒有裝,而且你用的是win10,請看往期的洛穀日報:練習Linux?④調試的方法與dev-c++類似,上方有個「調試」菜單,這裡不再講,後面會講終端中使用gdb調試。(3)NOI Linux不自帶的Geany、Code::Blocks等:因為不自帶,考試用不了,所以我也不做使用講解。
  • [洛穀日報第19期]Codeforces遊玩攻略
    當然還有高Rating啦本文發布於洛穀日報,特約作者:ezoixx130原文地址:https://www.luogu.org/blog/ezoixx130/codeforces-tutorial
  • 青島版五年級上冊數學3.6《求商近似值》微課知識點精講+練習
    教材第33頁,求商的近似數。n       教學提示商的近似數是學習了小數除以整數,一個數除以小數之後的內容。因為在小數除法中經常會出現除不盡,或者商的小數位數較多的情況,但在實際生活或工作中,並不總是需要求出很多位小數的商,這就需要求商的近似數了。
  • 三個步驟,助你抓住高中數學「二分法求方程根近似值」問題的本質
    本文將講述高中階段要求掌握的二分法求方程式根的近似值的方法與技巧。1. 基本問題說明二分法,又稱分半法,是一種方程式根的近似值求法。對於區間[a, b]上連續不斷且f(a)·f(b)<0的函數y=f(x),通過不斷地把函數f(x)的零點所在的區間一分為二,使區間的兩個端點逐步逼近零點,進而得到零點近似值的方法叫做二分法(bisection,如圖)。
  • 多種方法算算√107的近似值
    本文主要內容:介紹線性穿插、微分、極限及泰勒展開等方法,計算√107的近似值。01線性穿插法計算近似值設√107=x,並找與之最近的兩個完全平方數,有:√100=10,03極限法計算近似值原理為當x趨近無窮小時,有(1±x)^a≈1±ax,其中a為不為1的常數。
  • [洛穀日報第21期]你不知道的CPP11新語法
    因而會引發一些意想不到的錯誤。例如:ib的確是一個常量——它的值在程序的執行期間不會被修改,但是它並不是常量表達式——每次執行程序時都為同一個值,且程序執行期間無法被修改。即使是這樣也不行:當然,也不能用auto來定義數組auto和引用一起會產生一些奇怪的問題:為什麼?因為引用即別名。正如我們熟知的,使用引用其實是使用引用的對象,特別當引用被用作初始值的時候,真正參與初始化的其實是引用對象的值。
  • 四種方法計算√107的近似值
    ※.線性穿插法計算近似值設√107=x,並找與之最近的兩個完全平方數,有:√100=10,√107=x,√121=11,用線性穿插得:(107-100)/(121-107)=(x-10)/(11-x)7(11-x)=14(x-10)21x=217x=
  • 關於「一個數的近似值的取值範圍」思考
    人教版四年級下冊第四單元學習了求一個小數的近似數,有同學提出:一個兩位小數,它的近似數是0.6,這個兩位小數包括0.60嗎?針對這個問題,我諮詢了省名師班的同學,其中有小學數學老師、初高中數學老師、大學教授、師範學院博土,答案都是不一樣的。近幾天我也查找了一些資料,有一些個人的理解: 一、近似數的意義。
  • 黑河教育2020年第09期
    黑河教育2020年第09期在線閱讀下載本刊主辦:黑河日報社出版周期:月刊出版地:黑龍江省黑河市語種:中文  ISSN:1002-1647本期目錄全部往期雜誌>>黑河市舉辦首屆初中英語學講課堂實踐感悟劉偉利以興趣開啟初中歷史學習的大門王鋒濤高中化學教學中應用過程性評價的實踐研究徐世晗精心選取教學資源 為發展學生核心素養服務馬書彬 武榮探究培養小學語文核心素養的方式方法關曄如何培養小學生的語文朗讀能力徐榮國淺談如何提高農村小學生語文閱讀能力王紅軍
  • 赤戟網文推書單第53期
    吳宣儀赤戟的網文推書單-第53期每期發書三本,詳細點評,每周一到兩更。小說是星界紋章的同人,帶有一些銀河英雄傳說的設定,是一本設定上還算有趣的星際類作品,講述作為普通人的少年在其邪惡父親的運作下被「賣」去了夏蘭帝國,成為了一個即將斷絕的根源氏族的繼承人,從此展開了波瀾壯闊的一生。小說開篇稍顯生澀,但隨後漸入佳境,人物和劇情帶著強烈日漫風的戲劇化色彩,偏輕鬆惡搞。
  • 離奇的求π方法
    竟然有這麼多不知道的求π方法!您知道嗎?我們計算π,除了用幾何法、數列法、連分數法和現代計算機計算,還有一種不用繁雜計算的稀奇方法——實驗法。精確性是經典數學的一大特點,各種精確的計算公式和無懈可擊的定理正是這種特點的表現之一。但現實生活中的許多問題,要找到描述它們的精確的數學公式卻是十分困難的,甚至難以辦得到。對於某些具有偶然性的事件更加如此。