SSブログ

衝撃の結果に打ちのめされるネムネコ [ひとこと言わねば]

衝撃の結果に打ちのめされるネムネコ

 

 

いま、第2種完全楕円積分

  

を計算するJavaScriptのプログラムを作って、計算させてみた。

(1)の定積分を、台形公式とシンプソン法を使って数値的に計算してみたんだけれど、台形公式の方がシンプソン法よりも精度よく計算できるんだよね。

 

k=0.8、分割数n=10のとき、

台形公式は、

  E(0.8)=1.2763499431698992

CASIOさんの高精度計算サイトの計算結果は、

  E(0.8)=1.276349943169906423309

なんと、小数点以下13位まで合っているんだケロよ。

 

Daikei-koshiki-sugoi.png[0,π/2]を10分割しているから、

というかなり粗い分割での計算で、小数点以下13位まで正確に計算できるんだよ。

この結果は衝撃的だね。

 

嘘じゃないにゃ。嘘だと思うならば、次のスクリプトをnemuneko.htmlとかなんとかつけて保存し、それをダブルクリックしてみるにゃ。

すると、ブラウザーが起動し、E(0.8)=1.2763499431698992と出るにゃ。

 

 

<script type="text/JavaScript">

 

 

  var k = 0.8;

 

 

function f(x) {

   return Math.sqrt(1.0-k*k*Math.sin(x)*Math.sin(x));

}

 

 

function Daikei(a,b,n) {

 

   var h=(b-a)/n;

   var s=(f(a)+f(b))/2.;

   for (var i=1;i <n;i++) {

       s=s+f(a+i*h);

   };

 

  s = s*h;

 

  return s;

}

 

 

var a= 0. ;

var b = Math.PI/2;

var n = 10;

var E = Daikei(a,b,n);

 

alert('E('+k+')=' + E.toFixed(16));

 

</script>

 

 

 

被積分関数によってはシンプソン法よりも台形公式や中点公式の方が精度よく計算できる、ということは知っていたけれど、いや〜、こういうこともあるんだね。

驚きだにゃ。

 

シンプソン法よりもさらに高精度な計算ができる4次のルンゲ・クッタ法でも計算したんだけれど。

k=0.8h=π/20と同一の条件で計算したもの。

 

Runge-Kuttade.png

 

最後の数字が違っているのは、四捨五入しているためだと思う。

 




CASIOさんの高精度計算サイトで


と入力し計算したところ、


となって、台形公式の方が精度よく計算できている。

この計算は次のアドレスで行えるにゃ。
https://goo.gl/1DsWQF


nice!(3)  コメント(0) 
共通テーマ:音楽

nice! 3

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

図が更新されていないにゃ問題の答 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。