0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

牛頓拉夫遜迭代法的原理解析

lPCU_elecfans ? 來源:百度知道 ? 作者:百度知道 ? 2020-10-13 10:00 ? 次閱讀

什么是牛頓-拉夫遜方法?

牛頓其人:Isaac Newton(1642年12月25日– 1727年3月20日)是一位英國數(shù)學(xué)家,物理學(xué)家,天文學(xué)家,神學(xué)家和作家,被公認為有史以來最有影響力的科學(xué)家之一,并且是科學(xué)革命的關(guān)鍵人物。他的書《自然哲學(xué)的數(shù)學(xué)原理》于1687年首次出版,奠定了古典力學(xué)的基礎(chǔ)。牛頓還為光學(xué)做出了開創(chuàng)性的貢獻,并與戈特弗里德·威廉·萊布尼茲(Gottfried Wilhelm Leibniz)發(fā)展了無窮微積分的學(xué)科。

牛頓

拉弗森Joseph Raphson 生卒不詳,其最著名的著作是1690年出版的《通用分析方程》。它包含一種方法,現(xiàn)在稱其為牛頓-拉夫森方法,用于近似方程式的求根。艾薩克·牛頓(Isaac Newton)在1671年寫的《通量法》中開發(fā)了一個非常相似的公式,但是這項工作要到1736年才出版,這是拉夫森分析之后近50年。但是,該方法的Raphson版本比Newton方法更簡單,因此通常被認為是更好的方法。

所以,牛頓迭代法(簡寫)就是一種近似求解實數(shù)域與復(fù)數(shù)域求解方程的數(shù)學(xué)方法。那么這個方法是具體是什么原理呢?

牛頓迭代如何迭代?

直接看數(shù)學(xué)公式描述如何迭代不直觀,先來看動圖就很容易理解牛頓迭代法為什么叫迭代法以及怎樣迭代的:

牛頓迭代法是原理是根據(jù)一個初始點在該點做切線,切線與X軸相交得出下一個迭代點的坐標(biāo),再在處做切線,依次類推,直到求得滿足精度的近似解為止。

由前面描述知道,牛頓迭代法是用來近似求解方程的,這里有兩個點需要說明:

為啥要近似求解?很多方程可能無法直接求取其解

迭代法非常適合計算機編程實現(xiàn),實際上計算機編程對于牛頓迭代法廣為應(yīng)用

來看看,數(shù)學(xué)上如何描述的? 其中為函數(shù)在處的一階導(dǎo)數(shù),也就是該點的切線。 來簡單推一推上面公式的由來,直線函數(shù)方程為: 知道一個直線的一個坐標(biāo)點以及斜率則該直線的方程就很容易可以得知:那么該直線與軸的交點,就是也即等式的解:

啥時候停止迭代呢?

計算出

給出一個初始假定根值,利用上面迭代式子進行迭代

計算絕對相對迭代近似誤差

將絕對相對近似誤差與預(yù)定的相對誤差容限進行比較。如果,則迭代步驟2,否則停止算法。另外,檢查迭代次數(shù)是否已超過允許的最大迭代次數(shù)。如果是這樣,則需要終止算法并退出。另一個終止條件是:

如何編碼呢?

由于牛頓迭代法主要目的是解方程,當(dāng)然也有可能用于某一個數(shù)學(xué)函數(shù)求極值,所以無法寫出通用的代碼,這里僅僅給出一個編代碼的思路。相信掌握了思路,對于各種實際應(yīng)用應(yīng)該能很快的寫出符合實際應(yīng)用的代碼。 假定一函數(shù)為 其波形圖如下:

其一階導(dǎo)數(shù)為: 那么對于該函數(shù)的根: 從圖上大致可以知道有兩個根,如果直接解方程,則很難求出其根,可以編個代碼試試:

#include #include #include /*假定待求根函數(shù)如下*/ #defineF(x)(2*(x)*(x)-10*cos(x)+(x)-80) /*其一階導(dǎo)數(shù)為*/ #defineDF(x)(4*(x)+10*sin(x)+1) floatnewton_rooting(floatx0,floatprecision,floatmin_deltax,intmax_iterations) { floatxn,xn1,fn,fn1,dfn; floatdeltax; intstep=0; xn=x0; xn1=x0; do{ xn=xn1; fn=F(xn); dfn=DF(xn); /*判0*/ if(fabs(dfn)<1e-6?) ???????{ ????????????if(?fabs(fn)>precision) returnNAN; else returnfn; } xn1=xn-fn/dfn; fn1=F(xn1); deltax=fabs(xn1-xn); step++; if(step>max_iterations) { if(fabs(fn1)precision||deltax>min_deltax); returnxn1; } voidmain() { floatroot_guess=23.0f; floatprecision=0.00001f; floatmin_deltax=0.001f; floatroot; intstep=7; root=newton_rooting(root_guess,precision,min_deltax,step); printf("根為:%f,函數(shù)值為:%f ",root,F(root)); root_guess=-23; root=newton_rooting(root_guess,precision,min_deltax,step); printf("根為:%f,函數(shù)值為:%f ",root,F(root)); } 結(jié)果:根為:6.457232, 函數(shù)值為:0.000004 根為:-6.894969,函數(shù)值為:-0.000008 函數(shù)值已經(jīng)很接近于0了,如果還需要更為精確的值,則可以選擇在此基礎(chǔ)上進一步求解,比如利用二分法逼近。

需要注意些啥?

求斜率可能為0,如為0時,則可能找到了函數(shù)的極值,比如:

如果選擇的初始猜測根的接近方程f(x)=0中函數(shù)f(x)的拐點 ,Newton-Raphson方法可能開始偏離根。然后,它可能會又收斂回到根。例如:

5435866

如果選擇的初值不合適,可能會跳掉一些根,比如:

所以實際應(yīng)用時,需要知道自己待求解模型的大致情況,在合理的加以調(diào)整。

有哪些應(yīng)用?

比如知道某系統(tǒng)的傳遞函數(shù),求解傳函的參數(shù),可以將上述方法推而廣之,求解多維變量方程組,求導(dǎo)就變成求偏導(dǎo)了

又比如設(shè)計一電路測量某物質(zhì)的阻抗

總結(jié)一下

牛頓迭代法在解決實際問題時,利用迭代求方程近似根的數(shù)學(xué)原理,在工程中有著很好的實用價值。比如求一個趨勢的極值,傳遞函數(shù)參數(shù)辨識等都有廣泛的實際應(yīng)用。本文拋磚引玉,有可能文章也有很多錯誤疏漏的地方,如有不同看法或者發(fā)現(xiàn)錯誤,歡迎留言交流指正。

責(zé)任編輯人:CC

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 迭代法
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    6252

原文標(biāo)題:數(shù)學(xué)之美:牛頓-拉夫遜迭代法原理及其實現(xiàn)

文章出處:【微信號:elecfans,微信公眾號:電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    GRAEFF(格拉夫)順利通過UKCA(英標(biāo)體系)認證

    ? 格拉夫(嘉興)儀器儀表有限公司的G系列傳感器,通過英國LRQA認證專家進行UKCA(英標(biāo)體系)的各項嚴格審核,GRAEFF (格拉夫)中國順利通過UKCA(英標(biāo)體系)認證。 UKCA認證是英國
    的頭像 發(fā)表于 07-15 17:32 ?831次閱讀

    自然語言列舉描述各自的特點

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領(lǐng)域的一個重要分支,它涉及到計算機與人類語言之間的交互。自然語言處理技術(shù)使得計算機能夠理解、生成和處理
    的頭像 發(fā)表于 07-03 14:13 ?923次閱讀

    【《計算》閱讀體驗】+徜徉于歷史人物事件中-跑跑計算實例感嘆于前人的智慧

    體驗到古人的智慧。 這里就來分享一個計算平方根數(shù)的書中的例子,我們來寫成代碼測試下。 書中提到的美索不達米亞人計算正數(shù)的平方根的遞歸方法,實際就是現(xiàn)在我們常用的牛頓迭代法,可見古人的智慧,雖然這個時候古人
    發(fā)表于 06-28 13:17

    航盛電子榮獲2024湯湖汽車創(chuàng)新大會優(yōu)質(zhì)創(chuàng)新企業(yè)獎!

    2024年5月23日,由鳳凰網(wǎng)汽車主辦的“2024湯湖汽車創(chuàng)新大會”在武漢舉辦。
    的頭像 發(fā)表于 05-24 15:56 ?668次閱讀
    航盛電子榮獲2024湯<b class='flag-5'>遜</b>湖汽車創(chuàng)新大會優(yōu)質(zhì)創(chuàng)新企業(yè)獎!

    巖土工程監(jiān)測儀器之一:振弦采集儀的工作原理解析

    巖土工程監(jiān)測儀器之一:振弦采集儀的工作原理解析 振弦采集儀是巖土工程監(jiān)測中常用的一種儀器,廣泛應(yīng)用于地基、土體、山體等的振動監(jiān)測。其工作原理基于振弦的共振現(xiàn)象,通過測量振弦的共振頻率來判斷監(jiān)測對象
    的頭像 發(fā)表于 05-14 13:55 ?352次閱讀
    巖土工程監(jiān)測儀器之一:振弦采集儀的工作原<b class='flag-5'>理解析</b>

    HFSS不能使用迭代求解

    新手小白提問,如圖,設(shè)置的是迭代求解,運行時轉(zhuǎn)為直接求解導(dǎo)致內(nèi)存不夠,請大神解答為什么不能用迭代求解啊
    發(fā)表于 03-27 14:24

    電磁屏蔽技術(shù)的原理解析

    電磁屏蔽技術(shù)的原理解析 電磁屏蔽技術(shù)是一種利用特定材料或構(gòu)造來阻擋、吸收或反射外界電磁波的技術(shù)。它在電子設(shè)備、通信系統(tǒng)以及電磁環(huán)境的凈化等方面具有重要應(yīng)用,可以有效地防止電磁干擾,保護設(shè)備和人員
    的頭像 發(fā)表于 03-06 14:58 ?1777次閱讀

    網(wǎng)孔電流適用于什么樣的電路

    網(wǎng)孔電流(Mesh Current Analysis)是一種用來解析電路中的電流分布的分析方法。它基于歐姆定律和基爾霍夫電流定律,適用于求解具有多個回路的電路。 在復(fù)雜的電路中,往往存在多個回路
    的頭像 發(fā)表于 03-01 11:04 ?2731次閱讀

    同步置數(shù)和異步清零的優(yōu)缺點 異步計數(shù)器的級聯(lián)方法總結(jié)

    。其中,同步置數(shù)是最常見的實現(xiàn)方法之一。該方法的特點如下: 優(yōu)點: 簡單直觀:同步置數(shù)的設(shè)計相對簡單,容易理解和實現(xiàn)。 穩(wěn)定可靠:由于所有的狀態(tài)轉(zhuǎn)移是在時鐘信號的同步控制下進行的,計數(shù)器的輸出結(jié)果相對穩(wěn)定可
    的頭像 發(fā)表于 02-22 14:20 ?7084次閱讀

    節(jié)點電壓怎么列方程 節(jié)點電壓流入為正還是負

    節(jié)點電壓(Node Voltage Method)是一種用于解析電路中各節(jié)點電壓的分析方法,也是電路分析中的一項重要技術(shù)。本文將詳細介紹節(jié)點電壓的基本原理和應(yīng)用。 一、節(jié)點電壓
    的頭像 發(fā)表于 01-30 11:20 ?5470次閱讀

    羅氏線圈積分器的原理解析及應(yīng)用領(lǐng)域詳解

    羅氏線圈積分器的原理解析及應(yīng)用領(lǐng)域詳解? 羅氏線圈積分器是一種電子元件,用于對電信號進行積分處理。它由一個電感線圈和一個電容器組成,通過合理的連接和放電時間設(shè)置,可以實現(xiàn)對輸入信號的積分功能。本文將
    的頭像 發(fā)表于 01-08 14:07 ?2940次閱讀

    威爾電流源輸出電阻的計算

    威爾電流源是一種用于實現(xiàn)電流源的電路配置,它廣泛應(yīng)用于各種電子設(shè)備中,例如放大器、傳感器、儀器等。在設(shè)計電路時,了解威爾電流源的輸出電阻是非常重要的,因為它直接影響到電路的性能和穩(wěn)定性。 威爾
    的頭像 發(fā)表于 12-08 10:24 ?2426次閱讀

    如何加速HBM仿真迭代優(yōu)化?

    如何加速HBM仿真迭代優(yōu)化?
    的頭像 發(fā)表于 11-29 16:13 ?670次閱讀
    如何加速HBM仿真<b class='flag-5'>迭代</b>優(yōu)化?

    RC充放電電路原理解析及LTspice仿真

    RC充放電電路是一種非常常見的電路。本文主要針對其原理和實例仿真進行解析。
    的頭像 發(fā)表于 11-22 15:18 ?8966次閱讀
    RC充放電電路原<b class='flag-5'>理解析</b>及LTspice仿真

    python牛頓迭代法

    牛頓迭代法是一種數(shù)值計算方法,用于求解方程的數(shù)值近似解。它是以英國科學(xué)家艾薩克·牛頓的名字命名的,最初由牛頓在17世紀(jì)末提出。牛頓
    的頭像 發(fā)表于 11-21 15:06 ?924次閱讀