日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 小麥大叔
[導讀]前面剛轉(zhuǎn)了一篇文章提到了牛頓-拉夫遜(拉弗森)(Newton-Raphson method)方法,感覺這個數(shù)學方法很有必要相對深入寫一篇文章來總結分享印證一下自己的理解。

關注、星標 嵌入式客棧 ,精彩及時送達

[導讀] 前面剛轉(zhuǎn)了一篇文章提到了牛頓-拉夫遜(拉弗森)(Newton-Raphson method)方法,感覺這個數(shù)學方法很有必要相對深入寫一篇文章來總結分享印證一下自己的理解。這是寫本文的由來,如果發(fā)現(xiàn)文章中有錯誤之處,請留言交流討論。

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

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


牛頓

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

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

牛頓迭代如何迭代?

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

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


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

  • 為啥要近似求解?很多方程可能無法直接求取其解
  • 迭代法非常適合計算機編程實現(xiàn),實際上計算機編程對于牛頓迭代法廣為應用

來看看,數(shù)學上如何描述的?

其中 為函數(shù) 處的一階導數(shù),也就是該點的切線。

來簡單推一推上面公式的由來,直線函數(shù)方程為:

知道一個直線的一個坐標點 以及斜率 則該直線的方程就很容易可以得知:

那么該直線與 軸的交點,就是 也即等式 的解:

啥時候停止迭代呢?

  1. 計算出

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

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

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

如何編碼呢?

由于牛頓迭代法主要目的是解方程,當然也有可能用于某一個數(shù)學函數(shù)求極值,所以無法寫出通用的代碼,這里僅僅給出一個編代碼的思路。相信掌握了思路,對于各種實際應用應該能很快的寫出符合實際應用的代碼。

假定一函數(shù)為

其波形圖如下:

其一階導數(shù)為:

那么對于該函數(shù)的根:

從圖上大致可以知道有兩個根,如果直接解方程,則很難求出其根,可以編個代碼試試:

#include?
#include?
#include?

/*假定待求根函數(shù)如下*/
#define????F(x)????(2*(x)*(x)-10*cos(x)+(x)-80)

/*其一階導數(shù)為*/
#define???DF(x)????(4*(x)+10*sin(x)+1)

float?newton_rooting(float?x0,float?precision,float?min_deltax,int?max_iterations)
{
?????float?xn,xn1,fn,fn1,dfn;
?????float?deltax;
?????int?step?=?0;
?????xn??=?x0;
?????xn1?=?x0;
?????do{
???????xn??=?xn1;
???????fn??=?F(xn);
???????dfn?=?DF(xn);
???????/*判0*/
???????if(?fabs(dfn)?<1e-6?)
???????{
????????????if(?fabs(fn)>precision?)
????????????????return?NAN;
????????????else
????????????????return?fn;
???????}

???????xn1?=?xn?-?fn/dfn;
???????fn1?=?F(xn1);
???????deltax?=?fabs(xn1-xn);
???????
???????step++;
???????if(?step>max_iterations?)
???????{
???????????if(?fabs(fn1)???????????????return?xn;
???????????else
???????????????return?NAN;
???????}
?????}
?????while(?fabs(fn1)>precision?||?deltax>min_deltax?);

?????return?xn1;
}

void?main()
{
?????float?root_guess?=?23.0f;
?????float?precision?=?0.00001f;
?????float?min_deltax?=?0.001f;
?????float?root;
?????int?step?=?7;

?????root?=?newton_rooting(?root_guess,precision,min_deltax,step?);
?????printf("根為:?%f,函數(shù)值為:%f\n",?root,F(root));

?????root_guess?=?-23;
?????root?=?newton_rooting(?root_guess,precision,min_deltax,step?);
?????printf("根為:?%f,函數(shù)值為:%f\n",?root,F(root));
}

結果:

根為:?6.457232, 函數(shù)值為:0.000004
根為:?-6.894969,函數(shù)值為:-0.000008

函數(shù)值已經(jīng)很接近于0了,如果還需要更為精確的值,則可以選擇在此基礎上進一步求解,比如利用二分法逼近。

需要注意些啥?

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

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

5435866

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

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

有哪些應用?

  • 比如知道某系統(tǒng)的傳遞函數(shù),求解傳函的參數(shù),可以將上述方法推而廣之,求解多維變量方程組,求導就變成求偏導了
  • 又比如設計一電路測量某物質(zhì)的阻抗
  • ....

總結一下

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

END
往期精彩推薦,點擊即可閱讀




▲Linux驅(qū)動相關專輯 ?
手把手教信號處理專輯
片機相關專輯

免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關鍵。

關鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅(qū)動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關鍵字: LED 驅(qū)動電源 開關電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅(qū)動電源
關閉