首頁 > web前端 > js教程 > JavaScript基於牛頓迭代法實現求浮點數的平方根實例分析

JavaScript基於牛頓迭代法實現求浮點數的平方根實例分析

黄舟
發布: 2017-10-03 05:58:56
原創
1922 人瀏覽過

這篇文章主要介紹了javascript基於牛頓迭代法實現求浮點數的平方根,簡單說明了牛頓迭代法的原理,並結合實例分析了javascript基於遞歸的數值運算相關操作技巧,需要的朋友可以參考下

本文實例講述了javascript基於牛頓迭代法實現求浮點數的平方根。分享給大家供大家參考,具體如下:

今天在網上看到一則利用牛頓迭代法求浮點數的平方根的方法,發現很好,比一些語言自帶的sqrt方法運行要快,在這裡備份一下,以待後用,這裡稍微做了些改動.

首先是牛頓迭代法原理:

比如我們要求a的平方根,首先隨便猜一個近似值x,然後不斷令x等於x和a/x的平均數,迭代幾次後x的值就已經相當精確了。

如我們要求的數學假設為a=7, var x=a;

( 7  + 7/7 ) / 2 = 3.64287514
       ( 3.64287514
       ( 3.64287514
7/3     ( 3.64287514

7/3  2 = ?

..

..


下面是利用JavaScript實作

#

var G={
 result:0
 ,sqrt:function(a){
  var x=a;
  for(var i=0;i<=Math.floor(a);i++)
  {
  x=(x+a/x)/2;
  if(x-this.result===0){ //用来减少循环次数
   break;
  }
  this.result=x;
  document.body.innerHTML+="this.result-->"+this.result+"-->X:"+x+"<br/>";
  }
 }
};
登入後複製
執行
G.sqrt(16)  : 結果為4
G.sqrt(2) : 結果為1.414

G.sqrt(100.2565)

### ###當然,網路上對牛頓迭代法的演算法好像還有其他實作,讀者可以根據需要選擇適合自己理解的方法.###

以上是JavaScript基於牛頓迭代法實現求浮點數的平方根實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板