色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python實現所有算法:拉夫遜方法

云深之無跡 ? 來源:云深之無跡 ? 作者:云深之無跡 ? 2022-07-10 09:42 ? 次閱讀

emmmmm,好長時間沒有用matplotlib,都不會畫圖了。先繪制一個x**3-1的函數,然后考慮在a,b之間找他的根。

b4bc35b0-fecf-11ec-ba43-dac502259ad0.png

-10,10

b4f53ec8-fecf-11ec-ba43-dac502259ad0.png

-5,5

b52eb87e-fecf-11ec-ba43-dac502259ad0.png

那么這個函數被起名為intersection

連續函數與x相交時就是根,是不是很形象。

def intersection(function: Callable[[float], float], x0: float, x1: float) -> float:

因為我們知道,這個函數應該是我們給出要求解的區間和函數給出一個根。那么這里function的Callable就是可以當匿名函數傳遞。

b5709dd4-fecf-11ec-ba43-dac502259ad0.png

為了函數的靈活性,這里使用float

b5966d84-fecf-11ec-ba43-dac502259ad0.png

主函數,因為我們函數其實不知道具體的函數的循環次數,那么就可以使用while的循環。

一開始要判斷參數的情況,如果都相等,你這算啥???以及都帶進去,再算一下,雙保險,雙重撲街。

b5c434b2-fecf-11ec-ba43-dac502259ad0.png

接下來就是這個公式,我是個罪人,用了一張A4紙就寫一個這

b5ff2d9c-fecf-11ec-ba43-dac502259ad0.png

計算的X看看符合要求嗎?不符合就繼續將值域縮小。直到很小。

這個不是二分法,但是差不多的意思,不過這個是牛頓法,也叫牛頓-拉夫遜(拉弗森)方法,就我的題目。

這篇文章的下面就講講這個東西:

它是牛頓在17世紀提出的一種在實數域和復數域上近似求解方程的方法。

多數方程不存在求根公式,因此求精確根非常困難,甚至不可解,從而尋找方程的近似根就顯得特別重要。方法使用函數 f(x) 的泰勒級數的前面幾項來尋找方程 f(x)=0 的根。牛頓迭代法是求方程根的重要方法之一,其最大優點是在方程 f(x)=0 的單根附近具有平方收斂,而且該法還可以用來求方程的重根、復根,此時線性收斂,但是可通過一些方法變成超線性收斂。

b62c82a6-fecf-11ec-ba43-dac502259ad0.png

牛!

迭代法也稱輾轉法,是一種不斷用變量的舊值遞推新值的過程,跟迭代法相對應的是直接法(或者稱為一次解法),即一次性解決問題。迭代算法是用計算機解決問題的一種基本方法。它利用計算機運算速度快、適合做重復性操作的特點,讓計算機對一組指令(或一定步驟)重復執行,在每次執行這組指令(或這些步驟)時,都從變量的原值推出它的一個新值。

利用迭代算法解決問題,需要做好以下三個方面的工作:

一、確定迭代變量

在可以用迭代算法解決的問題中,至少存在一個可直接或間接地不斷由舊值遞推出新值的變量,這個變量就是迭代變量。

二、建立迭代關系式

所謂迭代關系式,指如何從變量的前一個值推出其下一個值的公式(或關系)。迭代關系式的建立是解決迭代問題的關鍵,通常可以使用遞推或倒推的方法來完成。

三、對迭代過程進行控制

在什么時候結束迭代過程?這是編寫迭代程序必須考慮的問題。不能讓迭代過程無休止地執行下去。迭代過程的控制通常可分為兩種情況:一種是所需的迭代次數是個確定的值,可以計算出來;另一種是所需的迭代次數無法確定。對于前一種情況,可以構建一個固定次數的循環來實現對迭代過程的控制;對于后一種情況,需要進一步分析得出可用來結束迭代過程的條件。

b682300c-fecf-11ec-ba43-dac502259ad0.png

然后,自己的函數也可以這樣定義

intersection(f, 3, 3.5)

b6aa3642-fecf-11ec-ba43-dac502259ad0.png

精度ok

再說說數值求法:

大多數的數值求根算法都使用迭代法,生成一個以方程的根為極限的收斂數列。它們需要一個或多個根作為迭代的初期值,之后每次迭代都生成一個逐步逼近根的值。

由于迭代法必須在有限步內終止于某個點,這些方法都只能提供一個根的近似值,而不能提供一個精確解。許多方法是通過代入上一個迭代值來計算一個輔助方程,從而得出下一個迭代值的。此處所指的輔助方程是指為了使原方程的根是一個定點并使迭代值能更快地收斂到這些定點而設計的一個方程,因此迭代值的極限是這個輔助方程的一個定點。

求根算法的性能是數值分析的研究范疇。一種算法的效率可能大幅度取決于已知點的性質。

例如,一部分算法都使用輸入函數的導數(此要求函數不但連續,而且可導),而其他算法則能用于任何一個連續函數。在一般情況下,數值算法不能保證找到一個函數的所有根,因此算法未能找到根并不能證明方程無根。然而,對于多項式,存在特定的使用代數學性質以定位根的所在區間(或復根所在的圓盤)的算法,這個區間(或圓盤)足夠小以能保證數值算法(例如牛頓法)能收斂到唯一被定位的根。

審核編輯 :李倩
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4327

    瀏覽量

    62573
  • 方程
    +關注

    關注

    0

    文章

    33

    瀏覽量

    16920
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28360

原文標題:Python實現所有算法-牛頓-拉夫遜(拉弗森)方法

文章出處:【微信號:TT1827652464,微信公眾號:云深之無跡】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    實現狄克準則

    求用LabView實現狄克準則算法
    發表于 03-24 14:13

    Python實現k-近鄰算法

    算法。5、測試算法:計算錯誤率。6、使用算法:首先需要輸入樣本數據和結構化的輸出結果,然后運行k-近鄰算法判定輸入數據分別屬于哪個分類,最后應用對計算出的分類執行后續的處理。關于k-近
    發表于 10-10 10:32

    利用python實現KNN算法

    K近鄰python實現
    發表于 10-25 17:24

    Python的Apriori算法和FP-Growth算法是什么

    [源碼和文檔分享]基于Python實現的Apriori算法和FP-Growth算法的頻繁項集挖掘的研究與實現
    發表于 06-04 12:49

    KNN分類算法python代碼實現

    kNN分類算法Python實現
    發表于 06-05 12:02

    基于Matpower的電力系統潮流計算設計原理是什么

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔基于Matlab的8機28節點電力系統潮流計算設計前言一、牛頓-拉夫算法潮流計算的基本原理1.牛頓-拉夫
    發表于 06-30 07:44

    基于Matpower的電力系統潮流計算原理及仿真設計

    基于Matpower的電力系統潮流計算設計原理第一部分 前言第二部分 牛頓-拉夫算法潮流計算的基本原理1.牛頓-拉夫
    發表于 06-30 06:36

    Python實現k-近鄰算法

    算法。5、測試算法:計算錯誤率。6、使用算法:首先需要輸入樣本數據和結構化的輸出結果,然后運行k-近鄰算法判定輸入數據分別屬于哪個分類,最后應用對計算出的分類執行后續的處理。關于k-近
    發表于 01-04 14:03

    BP神經網絡算法 python實現

    直接上代碼是最有效的學習方式。這篇教程通過由一段簡短的 python 代碼實現的非常簡單的實例來講解 BP 反向傳播算法
    發表于 12-29 14:06 ?2.2w次閱讀
    BP神經網絡<b class='flag-5'>算法</b> <b class='flag-5'>python</b><b class='flag-5'>實現</b>

    蟻群算法python編程實現

    本文主要介紹了Python編程實現蟻群算法詳解,涉及螞蟻算法的簡介,主要原理及公式,以及Python中的
    發表于 02-02 10:36 ?7464次閱讀
    蟻群<b class='flag-5'>算法</b><b class='flag-5'>python</b>編程<b class='flag-5'>實現</b>

    簡單潮流計算的牛頓拉夫程序

    本文檔內容介紹了基于簡單潮流計算的牛頓拉夫程序,供參考
    發表于 03-05 15:12 ?9次下載

    使用Python實現所有算法

    typing 是Python3.5中開始新增的專用于類型注解(type hints)的模塊,為Python程序提供靜態類型檢查。
    的頭像 發表于 07-06 16:39 ?979次閱讀
    使用<b class='flag-5'>Python</b><b class='flag-5'>實現</b><b class='flag-5'>所有</b><b class='flag-5'>算法</b>

    Python實現所有算法-基本牛頓法

    -牛頓-拉夫(拉弗森)方法 Python實現所有算法
    的頭像 發表于 07-13 10:40 ?1641次閱讀

    [源代碼]Python算法詳解

    [源代碼]Python算法詳解[源代碼]Python算法詳解
    發表于 06-06 17:50 ?0次下載

    基于Python實現隨機森林算法

    機器學習算法是數據挖掘、數據能力分析和數學建模必不可少的一部分,而隨機森林算法和決策樹算法是其中較為常用的兩種算法,本文將會對隨機森林算法
    的頭像 發表于 09-21 11:17 ?1200次閱讀
    基于<b class='flag-5'>Python</b><b class='flag-5'>實現</b>隨機森林<b class='flag-5'>算法</b>
    主站蜘蛛池模板: 日本一卡二卡三卡四卡无卡免费播放 | https黄视| 99久久伊人一区二区yy5099| 992交通广播| 糙汉顶弄抽插HHHH| 国产精品单位女同事在线| 国产乱码伦人偷精品视频| 黃色带三级a级| 久久中文字幕人妻熟AV女蜜柚M| 久久天天婷婷五月俺也去| 免费毛片在线播放| 日本美女毛茸茸| 午夜精品国产自在现线拍| 午夜勾魂曲| 伊人久久亚洲精品一区| 97在线看视频福利免费| 刺激性视频黄页| 国语自产一区视频| 免费高清在线影片一区| 日本一卡精品视频免费| 亚州天堂在线视频av| 在线看片成人免费视频| beeg日本老妇人| 国产香蕉视频| 邻居的阿2中文字版电影| 日日噜噜噜夜夜爽爽狠狠 | 性夜夜春夜夜爽AA片A| 伊人亚洲AV久久无码精品| 北条麻妃夫の友人196| 国产日韩欧美另类| 免费精品美女久久久久久久久| 色综合久久88色综合天天提莫| 亚洲日韩乱码人人爽人人澡人| av影音先锋天堂网| 国产亚洲福利在线视频| 男女全黄h全肉细节文| 午夜一级毛片看看| 99re6久久热在线播放| 国产色青青视频在线观看| 暖暖 免费 日本 高清 在线1| 午夜福利体检|