您好,登錄后才能下訂單哦!
這篇文章主要介紹了javascript基于牛頓迭代法如何實(shí)現(xiàn)求浮點(diǎn)數(shù)的平方根的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇javascript基于牛頓迭代法如何實(shí)現(xiàn)求浮點(diǎn)數(shù)的平方根文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。
首先是牛頓迭代法原理:
比如我們要求a的平方根,首先隨便猜一個(gè)近似值x,然后不斷令x等于x和a/x的平均數(shù),迭代幾次后x的值就已經(jīng)相當(dāng)精確了。
如我們要求的數(shù)學(xué)假設(shè)為 a=7, var x=a;
( 7 + 7/7 ) / 2 = 3.64287514
( 3.64287514 + 7/3.64287514 ) / 2 = ?
下面是利用JavaScript實(shí)現(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){ //用來(lái)減少循環(huán)次數(shù) break; } this.result=x; document.body.innerHTML+="this.result-->"+this.result+"-->X:"+x+"<br/>"; } } };
運(yùn)行
G.sqrt(16)
: 結(jié)果為4G.sqrt(2)
: 結(jié)果為1.414G.sqrt(100.2565)
當(dāng)然,網(wǎng)上對(duì)牛頓迭代法的算法好像還有其他實(shí)現(xiàn),讀者可以根據(jù)需要選擇適合自己理解的方法.
關(guān)于“javascript基于牛頓迭代法如何實(shí)現(xiàn)求浮點(diǎn)數(shù)的平方根”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“javascript基于牛頓迭代法如何實(shí)現(xiàn)求浮點(diǎn)數(shù)的平方根”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。