用牛頓法求正數的開方值
**
用牛頓法求正數的開方值
**
牛頓迭代公式形式:
程式碼:
#用牛頓法經過迭代求任意正數a的開方值
from sympy import *
def f(x,a): #定義函式f,返回原方程
return (x**2)-(a)
def f1(x): #定義函式f1,返回函式導數
return 2*x
def Newton(x0,a):
for n in range(1,8): #設定迴圈次數和n的起始值
x1=x0-(f(x0,a)/(f1(x0)))
m=x1-x0
if abs(x1-x0)<10**-5:
break
else:
x0 = x1 #上一步的計算結果賦值給x0,進行下一次迭代。
print("迭代次數:",n)
print("迭代結果:","{0:.5f}".format(x1)) #結果保留五位小數
print("誤差:","{0:.5f}".format(abs(m)),'\n')
Newton(10,115) #呼叫Newton函式,迭代初始值為10,求115的開方值
結果:
迭代次數: 1
迭代結果: 10.75000
誤差: 0.75000
迭代次數: 2
迭代結果: 10.72384
誤差: 0.02616
迭代次數: 3
迭代結果: 10.72381
誤差: 0.00003
結論:
從結果來看用牛頓迭代法求一個正數的開方值只需迭代很少次數就可以得到一個精度很高的近似值,所以牛頓法的收斂速度很快。
相關文章
- 數值解和解析解/softmax迴歸/泰勒展開/牛頓法
- 求平方根 && 牛頓迭代法
- 最速下降法、牛頓法和修正(阻尼)牛頓法
- scheme 求平方根函式 sqrt 牛頓法實現Scheme函式
- 牛頓迭代法求根
- 最優化演算法【牛頓法、擬牛頓法、BFGS演算法】優化演算法
- 【機器學習之數學】02 梯度下降法、最速下降法、牛頓法、共軛方向法、擬牛頓法機器學習梯度
- 機器學習之牛頓法機器學習
- 機器學習-牛頓法詳解機器學習
- 求正整數
- matlab練習程式(高斯牛頓法最優化)Matlab優化
- 牛頓迭代法 - 求解非線性方程根的近似解
- 【小白學AI】XGBoost推導詳解與牛頓法AI
- 【小白學AI】XGBoost 推導詳解與牛頓法AI
- 用python3求一個正數的因式分解Python
- 求插值係數
- 機器學習中牛頓法凸最佳化的通俗解釋機器學習
- 一個數值儲存核取方塊的值
- 牛頓單點線割迭代法求解非線性方程
- 篩選法求質數
- 求 10 個整數中的最大值
- 【牛客網機試】和為S的連續正數序列
- 增補部落格 第二十二篇 python 牛頓迭代法Python
- 站在巨人肩膀上的牛頓:Kubernetes和SAP Kyma
- 回溯法求一個集合中和為定值的所有集合
- 數值型模板引數的應用
- .NET正則替換URL引數值
- 請求引數為物件,mybatis的sql寫法物件MyBatisSQL
- webapi 設定swagger上請求引數的預設值WebAPISwagger
- 在Java中,整數的絕對值不一定是正數Java
- 牛客題霸--求路徑
- 大白話5分鐘帶你走進人工智慧 - 第二十一節 牛頓法和L-BFGS求函式最優解人工智慧函式
- 波士頓諮詢:領導者的數字化價值之路(附下載)
- 求兩個正整數的最大公約數與最小公倍數--C#實現C#
- 在Java中,負數的絕對值竟然不一定是正數!!!Java
- 在導數為0時極值點仍然難求的情況下用梯度下降法逼近梯度
- 3516 求n個整數的最小值 迴圈結構
- 更相減損法(求最大公約數)