JavaScriptを使って浮動小数点数の平方根を求める方法を詳しく解説

小云云
リリース: 2018-02-01 09:21:03
オリジナル
2499 人が閲覧しました

この記事では、ニュートンの反復法に基づいて浮動小数点数の平方根を実現するための JavaScript を主に紹介し、ニュートンの反復法の原理を簡単に説明し、それを必要とする JavaScript の再帰数値演算の関連操作スキルを分析します。皆さんの参考になれば幸いです。

今日、浮動小数点数の平方根を求めるニュートン反復法を使用するメソッドをインターネットで見ました。これは、一部の言語に付属する sqrt メソッドよりも高速に実行できることがわかりました。後で使用するために、ここで少し変更します。

1 つ目は、ニュートンの反復法の原理です。

たとえば、 a の平方根を求める場合、まず近似値 x を推測し、その後、x を x と a/x の平均に等しくします。x の値はすでにかなり正確です。

たとえば、必要な数学的仮定は、a=7、var x=a;

( 7 + 7/7 ) / 2 = 3.64287514

( 3.64287514 + 7/3.64287514 ) / 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/>";
  }
 }
};
ログイン後にコピー

Run

G.sqrt(16) : 結果は 4

G.sqrt(2) です: 結果は 1.414 G.sqrt(16)  : 结果为4
G.sqrt(2) : 结果为1.414
G.sqrt(100.2565)G.sqrt(100.2565)

もちろん、インターネット上にはニュートンの反復アルゴリズムの他の実装もあるようです。読者は、自分の理解に応じて、適切な方法を選択できます。

関連する推奨事項:

PHP での不正確な浮動小数点数計算を解決する例を共有する

js 浮動小数点数の正確な計算

js 浮動小数点数の精度の問題を解決する方法

以上がJavaScriptを使って浮動小数点数の平方根を求める方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート