日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

牛顿-拉夫逊法 原理讲解以及python算例实现

發(fā)布時間:2024/9/30 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 牛顿-拉夫逊法 原理讲解以及python算例实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 一、基本原理
  • 二、原理深入講解
    • 1 、切線是曲線的線性逼近
    • 2、 牛頓-拉夫遜法
    • 3 、牛頓-拉夫遜法是否總是收斂(總是可以求得足夠近似的根)?
  • 三、pythons實例
  • 總結


一、基本原理

????對于一個方程 f ( x ) = 0 ,我們將函數(shù) f ( x )單獨考慮。
????若函數(shù) f ( x ) (n+1)階可導,則我們在初始值 x = x 0 處進行泰勒展開,可得:

????令 x ? x 0= Δ x ,然后將上述泰勒公式一階展開,忽略余項可得:

???令其等于 f ( x ) = 0,可得:

???從而求出:

二、原理深入講解

1 、切線是曲線的線性逼近

???要講牛頓迭代法之前我們先說一個關鍵問題:切線是曲線的線性逼近。
???這個是什么意思呢?我們來看一看,下面是 f(x)=x^2 的圖像:

???我們隨便選一點f(x) 上的一點(a,f(a))作它的切線:

???我們在A點處放大圖像:

???上圖中,紅色的線是f(x),黑色的是A點處的切線,可以看出放大之后切線和f(x)非常接近了。很明顯,如果我們進一步放大圖像,A點切線就越接近f(x)。

???因為切線是一條直線(也就是線性的),所以我們可以說,A點的切線是f(x)的線性逼近。離A點距離越近,這種逼近的效果也就越好,也就是說,切線與曲線之間的誤差越小。所以我們可以說在A點附近,“切線約等于 f(x) ”。

2、 牛頓-拉夫遜法

???牛頓-拉夫遜法提出來的思路就是利用切線是曲線的線性逼近這個思想。
???牛頓、拉夫遜們想啊,切線多簡單啊,研究起來多容易啊,既然切線可以近似于曲線,我直接研究切線的根不就成了。
然后他們觀察到這么一個事實:

???隨便找一個曲線上的A點(為什么隨便找,根據(jù)切線是切點附近的曲線的近似,應該在根點附近找,但是很顯然我們現(xiàn)在還不知道根點在哪里),做一個切線,切線的根(就是和x軸的交點)與曲線的根,還有一定的距離。牛頓、-拉夫遜們想,沒關系,我們從這個切線的根出發(fā),做一根垂線,和曲線相交于B點,繼續(xù)重復剛才的工作:

???之前說過,B點比之前A點更接近曲線的根點,牛頓、拉弗森們很興奮,繼續(xù)重復剛才的工作:

???第四次就已經(jīng)很接近曲線的根了

???經(jīng)過多次迭代后會越來越接近曲線的根(下圖進行了50次迭代,哪怕經(jīng)過無數(shù)次迭代也只會更接近曲線的根,用數(shù)學術語來說就是,迭代收斂了):

3 、牛頓-拉夫遜法是否總是收斂(總是可以求得足夠近似的根)?

我們來看看收斂的充分條件:

f(x)
二階可導,那么在待求的零點
x
周圍存在一個區(qū)域,只要起始點
x_0
位于這個鄰近區(qū)域內,那么牛頓-拉弗森方法必定收斂。

???也就是說,在這個區(qū)域內,用切線代替曲線這個直覺是合理的。但是,因為我們不知道根點到底在哪里,所以起始點 x_0 選擇就不一定在這個區(qū)域內,那么這個直覺就不可靠了。
駐點

???起始點不幸選擇了駐點,從幾何上看切線根本沒有根。
從代數(shù)上看,x{n+1}=xn-f(xn)/f’(xn)沒有意義。
越來越遠離的不收斂

循環(huán)震蕩的不收斂

不能完整求出所有的根

三、pythons實例

???牛拉法主要流程

???以 x 2 ? 4 x - 4 = 0 為例,設計 Python 程序:

import numpy as np import pandas as pd import matplotlib.pyplot as pltdef fun(x):y = x ** 2 - 4 * x - 1return ydef fun_diff(x):y = 2 * x - 4return ydef Netwon(x0, func, dfunc):# 迭代條件e = 1e-5x = np.zeros(2)x[0] = x0x[1] = x0 - func(x[0]) / dfunc(x[0])while abs(func(x[0])) > e:#在0附近x[0] = x[1]x[1] = x[0] - func(x[0]) / dfunc(x[0])return x[1]if __name__ == '__main__':x=np.arange(-5,5,0.1)y=fun(x)x1=Netwon(0, fun, fun_diff) #牛拉法求得的點plt.plot(x,y)plt.xlim(-5, 5)plt.ylim(-10, 50)plt.scatter(x1,fun(x1),color='red')plt.show()

總結

應用牛頓-拉夫遜方法,要注意以下問題:
函數(shù)在整個定義域內最好是二階可導的
起始點對求根計算影響重大,可以增加一些別的判斷手段進行試錯


作者:電氣-余登武

總結

以上是生活随笔為你收集整理的牛顿-拉夫逊法 原理讲解以及python算例实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲中文字幕97久久精品少妇 | 欧美日韩不卡视频 | 日韩不卡免费视频 | 国产亚洲一区二区在线 | 成人免费av在线 | 久久久久夜 | 成人在线一区二区 | 羞羞动漫免费观看 | a免费毛片 | 波多野结衣电车痴汉 | 欧亚av在线| 久久精品视频8 | 韩国三级bd高清中字2021 | 91操人| 色婷婷97| 欧美成人vr18sexvr | www.一区二区三区 | 久久影院午夜理论片无码 | 无码成人一区二区 | 无码精品一区二区三区在线 | 午夜影院免费体验区 | 欧美亚洲综合在线 | 国产农村妇女毛片精品久久麻豆 | 亚洲一区二区三区四区 | 成人综合婷婷国产精品久久 | 在线观看色 | 国产美女一区 | av在线二区| 四虎国产成人精品免费一女五男 | 丁香视频在线观看 | 色眯眯视频 | 日韩精品一区二区三区在线视频 | 超碰在97 | 天天干,夜夜操 | 91在线精品观看 | 春色校园激情 | 国产欧美久久久精品免费 | 国产一国产精品一级毛片 | 农村妇女毛片精品久久久 | 亚洲第一页在线 | 国产在线播放一区 | 国产又黄又粗 | 综合九九 | 日本亲近相奷中文字幕 | 野花中文免费观看6 | 超碰97国产 | 一区二区毛片 | caopor在线 | 国产精彩视频在线 | 天堂8在线天堂资源bt | 日本免费一区二区视频 | 日韩精品一区二区三区在线观看 | 影音先锋黄色网址 | 青青草原伊人网 | 久久99精品久久久久子伦 | 丰满人妻一区二区三区免费视频棣 | 色欲AV无码精品一区二区久久 | 亚洲专区在线视频 | 神马午夜嘿嘿 | 在线一区观看 | 国产一级黄色大片 | 在线播放av网址 | 国产精品久久午夜夜伦鲁鲁 | 免费激情网址 | av成人在线电影 | 欧洲美一区二区三区亚洲 | 57pao国产精品一区 | 搞逼综合网| 国产日产欧洲无码视频 | 四虎永久在线精品 | 女人十八毛片嫩草av | 高清国产一区二区三区四区五区 | 蜜桃av一区二区三区 | 制服丝袜先锋 | 欧美老女人性生活视频 | 免费在线成人av | 亚洲成人77777 | 91久久精品www人人做人人爽 | 婷婷在线影院 | 欧美日韩在线观看一区 | 91丝袜国产在线观看 | 国产精品扒开做爽爽爽的视频 | 成人美女毛片 | 国产福利网站 | 99国产超薄肉色丝袜交足 | 大地资源中文第三页 | 久久国产露脸精品国产 | 特及毛片 | 伊人影院久久 | 桃色视屏| 亚洲涩涩 | 国产在线观看 | 欧美中文字幕一区二区三区 | 国产在视频线精品视频 | 中国一级特黄录像播放 | 日韩一区二区影视 | 欧美精品一区二区三 | 男人av影院 | 国产一区二区精品 |