javascript基于牛頓迭代法實現(xiàn)求浮點數(shù)的平方根【遞歸原理】
本文實例講述了javascript基于牛頓迭代法實現(xiàn)求浮點數(shù)的平方根。分享給大家供大家參考,具體如下:
今天在網(wǎng)上看到一則利用牛頓迭代法求浮點數(shù)的平方根的方法,發(fā)現(xiàn)很好,比一些語言自帶的sqrt方法運行要快,在這里備份一下,以待后用,這里稍微做了些改動.
首先是牛頓迭代法原理:
比如我們要求a的平方根,首先隨便猜一個近似值x,然后不斷令x等于x和a/x的平均數(shù),迭代幾次后x的值就已經相當精確了。
如我們要求的數(shù)學假設為 a=7, var x=a;
( 7 + 7/7 ) / 2 = 3.64287514
( 3.64287514 + 7/3.64287514 ) / 2 = ?
..
..
下面是利用JavaScript實現(xiàn)
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){ //用來減少循環(huán)次數(shù) 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)
當然,網(wǎng)上對牛頓迭代法的算法好像還有其他實現(xiàn),讀者可以根據(jù)需要選擇適合自己理解的方法.
PS:這里再為大家推薦幾款計算工具供大家進一步參考借鑒:
在線一元函數(shù)(方程)求解計算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi
科學計算器在線使用_高級計算器在線計算:
http://tools.jb51.net/jisuanqi/jsqkexue
在線計算器_標準計算器:
http://tools.jb51.net/jisuanqi/jsq
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數(shù)學運算用法總結》、《JavaScript數(shù)據(jù)結構與算法技巧總結》、《JavaScript數(shù)組操作技巧總結》、《JavaScript事件相關操作與技巧大全》、《JavaScript操作DOM技巧總結》及《JavaScript字符與字符串操作技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
- JavaScript實現(xiàn)算術平方根算法-代碼超簡單
- 在JavaScript中使用開平方根的sqrt()方法
- js浮點數(shù)保留兩位小數(shù)點示例代碼(四舍五入)
- js判斷輸入是否為正整數(shù)、浮點數(shù)等數(shù)字的函數(shù)代碼
- js浮點數(shù)精確計算(加、減、乘、除)
- javascript將浮點數(shù)轉換成整數(shù)的三個方法
- 深入理解JavaScript中的浮點數(shù)
- javaScript實現(xiàn)浮點數(shù)轉十六進制字符
- Javascript中浮點數(shù)相乘的一個解決方法
- JavaScript浮點數(shù)及運算精度調整詳解
- JavaScript檢查數(shù)字是否為整數(shù)或浮點數(shù)的方法
相關文章
ant-design-pro?的EditableProTable表格驗證調用的實現(xiàn)代碼
這篇文章主要介紹了ant-design-pro?的EditableProTable表格驗證調用,這里的需求是點擊外部的保存要對整個表單進行驗證,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-06-06layui在form表單頁面通過Validform加入簡單驗證的方法
今天小編就為大家分享一篇layui在form表單頁面通過Validform加入簡單驗證的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09JS實現(xiàn)動態(tài)表格的添加,修改,刪除功能(推薦)
這篇文章主要介紹了JS實現(xiàn)動態(tài)表格的添加,修改,刪除功能(推薦)的相關知識,非常不錯,具有參考借鑒價值,感興趣的朋友一起學習吧2016-06-06JavaScript中.min.js和.js文件的區(qū)別講解
今天小編就為大家分享一篇關于JavaScript中.min.js和.js文件的區(qū)別講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02JavaScript實現(xiàn)圖片懶加載(Lazyload)
這篇文章主要介紹了JavaScript實現(xiàn)圖片懶加載(Lazyload)的相關資料,需要的朋友可以參考下2016-11-11