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

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

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

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

牛頓-拉夫遜迭代法原理及其實(shí)現(xiàn)

FPGA之家 ? 來(lái)源:嵌入式客棧 ? 2023-04-17 09:04 ? 次閱讀

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

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

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

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

牛頓迭代如何迭代?

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

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


5ce5016a-dcb3-11ed-bfe3-dac502259ad0.gif

由前面描述知道,牛頓迭代法是用來(lái)近似求解方程的,這里有兩個(gè)點(diǎn)需要說(shuō)明:

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

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

poYBAGQ8m0KAEZdCAAEU5ezeya8538.jpg

啥時(shí)候停止迭代呢?

poYBAGQ8m1aAb75xAAEZTVA4qHM824.jpg

如何編碼呢?

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

假定一函數(shù)為

poYBAGQ8m2aAIPehAAAUGDgmIoM702.jpg

其波形圖如下:

5d159f14-dcb3-11ed-bfe3-dac502259ad0.png

pYYBAGQ8m3mAHD7zAAA-OqvFRzg419.jpg

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

#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ǔ)上進(jìn)一步求解,比如利用二分法逼近。

需要注意些啥?

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

5d301ca4-dcb3-11ed-bfe3-dac502259ad0.png

poYBAGQ8m5KAeYV_AABuBKWqcT0512.jpg

5d494008-dcb3-11ed-bfe3-dac502259ad0.png

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

5d69f9d8-dcb3-11ed-bfe3-dac502259ad0.png

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

有哪些應(yīng)用?

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

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

....

總結(jié)一下

牛頓迭代法在解決實(shí)際問(wèn)題時(shí),利用迭代求方程近似根的數(shù)學(xué)原理,在工程中有著很好的實(shí)用價(jià)值。比如求一個(gè)趨勢(shì)的極值,傳遞函數(shù)參數(shù)辨識(shí)等都有廣泛的實(shí)際應(yīng)用。





審核編輯:劉清

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

    關(guān)注

    19

    文章

    7575

    瀏覽量

    89123

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

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    matlab牛頓迭代法全解

    理論本質(zhì)上是立足于對(duì)世界的這種認(rèn)識(shí):很多物理規(guī)律在微觀上是線性的。近幾百年來(lái),這種局部線性化方法取得了輝煌成功,大到行星軌道計(jì)算,小到機(jī)械部件設(shè)計(jì)。牛頓迭代法正是將局部線性化的方法用于求解方程。一、牛頓
    發(fā)表于 03-08 16:22

    問(wèn)題:matlab實(shí)現(xiàn)牛頓迭代法求解非線性方程

    "matlab實(shí)現(xiàn)牛頓迭代法求解非線性方程"。通過(guò)試著運(yùn)行作者的matlab code,產(chǎn)生了如下一些疑問(wèn),請(qǐng)各位老師幫忙解答,不勝感謝。clearclcsyms x1 x2 x3
    發(fā)表于 07-05 02:53

    基于牛頓迭代法的FPGA定點(diǎn)小數(shù)計(jì)算

    倒數(shù)運(yùn)算分為這兩個(gè)步驟則需要更多的時(shí)間開(kāi)銷(xiāo)和空間開(kāi)銷(xiāo)。而采用常規(guī)的浮點(diǎn)運(yùn)算單元(FPU)來(lái)求解的話,同樣需要很長(zhǎng)的計(jì)算時(shí)間。本文介紹一種基于牛頓迭代法(又稱(chēng)Newton-Raphson算法)的平方根
    發(fā)表于 07-18 07:33

    參數(shù)尋優(yōu)的迭代法的基本原理是什么?伺服控制系統(tǒng)常用參數(shù)尋優(yōu)算法是什么?

    參數(shù)尋優(yōu)的迭代法的基本原理是什么?伺服控制系統(tǒng)常用參數(shù)尋優(yōu)算法是什么?
    發(fā)表于 10-13 06:38

    迭代法迭代陣譜半徑新上界

    引用雙嚴(yán)格對(duì)角占優(yōu)的概念,針對(duì)線性方程組bAx=在求數(shù)值解時(shí)常用的迭代方法,給出了Jacobi和Gauss-Seidel迭代法迭代陣譜半徑的新上界,該新上界優(yōu)于嚴(yán)格對(duì)角占優(yōu)矩陣條件下得到
    發(fā)表于 11-18 00:07 ?6次下載

    物理光學(xué)迭代法計(jì)算任意形狀開(kāi)口腔體RCS

    物理光學(xué)迭代法計(jì)算任意形狀開(kāi)口腔體RCS:本文首先介紹了物理光學(xué)迭代法(IPO)的基本原理,并用此方法計(jì)算了簡(jiǎn)單無(wú)遮擋開(kāi)口腔體的RCS。在此基礎(chǔ)上,引進(jìn)遮擋判斷原則,計(jì)算了
    發(fā)表于 10-23 12:05 ?16次下載

    迭代法求指紋圖像中的閥值

    摘要:給出使用直方圖方法求閥值的例子;結(jié)合直方圖方法提出用于計(jì)算最優(yōu)閥值的迭代法,該方法是基于256級(jí)的指紋灰度圖像計(jì)算;最后給出迭代法中初值的選擇
    發(fā)表于 03-24 12:47 ?1191次閱讀
    用<b class='flag-5'>迭代法</b>求指紋圖像中的閥值

    在GPU上實(shí)現(xiàn)Jacobi迭代法的分析與設(shè)計(jì)

    隨著GPU技術(shù)的快速發(fā)展,GPU的浮點(diǎn)運(yùn)算能力飛速提升。將GPU浮點(diǎn)處理能力用于非圖形計(jì)算領(lǐng)域正成為高性能計(jì)算領(lǐng)域的熱點(diǎn)研究問(wèn)題。Jacobi迭代法是科學(xué)計(jì)算中常用的計(jì)算方法。在分析
    發(fā)表于 06-06 16:44 ?21次下載
    在GPU上<b class='flag-5'>實(shí)現(xiàn)</b>Jacobi<b class='flag-5'>迭代法</b>的分析與設(shè)計(jì)

    高斯-牛頓迭代法簡(jiǎn)介

    高斯牛頓迭代法簡(jiǎn)介,包括高斯牛頓迭代法推演及及結(jié)論
    發(fā)表于 01-08 16:21 ?0次下載

    簡(jiǎn)單潮流計(jì)算的牛頓拉夫程序

    本文檔內(nèi)容介紹了基于簡(jiǎn)單潮流計(jì)算的牛頓拉夫程序,供參考
    發(fā)表于 03-05 15:12 ?9次下載

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

    Isaac Newton(1642年12月25日– 1727年3月20日)是一位英國(guó)數(shù)學(xué)家,物理學(xué)家,天文學(xué)家,神學(xué)家和作家,被公認(rèn)為有史以來(lái)最有影響力的科學(xué)家之一,并且是科學(xué)革命的關(guān)鍵人物。
    的頭像 發(fā)表于 10-13 10:00 ?1.2w次閱讀

    牛頓迭代如何迭代

    牛頓迭代法是原理是根據(jù)一個(gè)初始點(diǎn)在該點(diǎn)做切線,切線與X軸相交得出下一個(gè)迭代點(diǎn)的坐標(biāo),再在處做切線,依次類(lèi)推,直到求得滿足精度的近似解為止。
    的頭像 發(fā)表于 03-09 10:52 ?2866次閱讀

    Python實(shí)現(xiàn)所有算法:拉夫方法

    多數(shù)方程不存在求根公式,因此求精確根非常困難,甚至不可解,從而尋找方程的近似根就顯得特別重要。方法使用函數(shù) f(x) 的泰勒級(jí)數(shù)的前面幾項(xiàng)來(lái)尋找方程 f(x)=0 的根。牛頓迭代法是求方程根的重要
    的頭像 發(fā)表于 07-10 09:42 ?948次閱讀

    Python實(shí)現(xiàn)所有算法-基本牛頓

    -牛頓-拉夫(拉弗森)方法 Python實(shí)現(xiàn)所有算法-雅可比方法(Jacobian) Python實(shí)現(xiàn)所有算法-矩陣的LU分解 Pytho
    的頭像 發(fā)表于 07-13 10:40 ?1717次閱讀

    python牛頓迭代法

    牛頓迭代法是一種數(shù)值計(jì)算方法,用于求解方程的數(shù)值近似解。它是以英國(guó)科學(xué)家艾薩克·牛頓的名字命名的,最初由牛頓在17世紀(jì)末提出。牛頓
    的頭像 發(fā)表于 11-21 15:06 ?1205次閱讀
    主站蜘蛛池模板: 无套暴躁白丝秘书 | 久久久无码精品亚洲日韩按摩 | 出租屋自拍贵在真实15P | 龙岩综合频道 | 伊人久久精品AV一区二区 | 艳妇臀荡乳欲伦岳TXT下载 | 精品日韩欧美一区二区三区 | 国产成人免费全部网站 | 中文字幕久久久 | 日本久久中文字幕精品 | 精品视频免费在线观看 | 久久99热在线观看7 久久99热狠狠色一区二区 | 国产亚洲美女在线视频视频 | 中国农村妇女真实BBWBBWBBW | 色欲AV久久综合人妻蜜桃 | 久久精品伊人 | 99久久亚洲精品影院 | 动漫美女被到爽了流漫画 | 亚洲免费一区 | 国产精品av | 亚洲AV无码乱码在线观看浪潮 | 欧美激情一区二区三区四区 | 蜜桃无码AV视频在线观看 | 亚洲宅男天堂a在线 | 506070老熟肥妇bbwxx视频 4虎最新网址 | 高清无码色大片中文 | qvod 电影| 久久人人玩人妻潮喷内射人人 | 免费黄色网址在线观看 | 91久久精品一区二区三区 | 国产亚洲精品久久久久久鸭绿欲 | 美国VICTORY DAY在线 | 超碰97 总站 中文字幕 | 伊人久久大香线蕉综合电影 | 色综合久久中文色婷婷 | 久久午夜一区二区 | 歪歪漫画羞羞漫画国产 | 国产亚洲精品久久精品69 | 4455永久在线毛片观看 | 国产精品久久久精品日日 | 国产在线观看成人 |