- ベストアンサー
無限大-無限大の計算の仕方
- ExcelやVBAを使って無限大-無限大の計算を行う方法について教えてください
- Excelでは有効数字を15桁以上にすることができないため、計算がうまくできません。正確には1/3=0.33333に収束するはずです
- Matlabなどの他のプログラムソフトウェアを使わずに、無限大-無限大の計算を行うために計算の順番を工夫する方法を教えてください
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
cosh,sinh,cothの定義は、当然ご存知だと思うのですが、これらはe^xのよって定義されます。またコンピューターの中では、e^xは基本的に、マクローリン級数、 e^x=1+x+1/2!・x^2++1/3!・x^3++1/4!・x^4++1/5!・x^5+・・・ (1) で計算されます。 またExcelに限らずコンピューターの中では、有効数字は15~16桁です。これはCPUのレジスターが、最大で20くらいの桁数しか持ってないからです。なので必要精度が15~16桁を越えれば、必然的に桁落ちが起きます。 そういう目で(1)を見て下さい。例えば、x=10^(-6)なら、(1)の2項目のxまでなら何とかなりますが、3項目はx^2なので10^(-12)となり、それに1/2!=1/2までかかってるので、もう桁落ちし兼ねません。4項目以降は確実に0と、CPUに解釈されます。そうすると結果の精度は、6桁程度と覚悟すべきです。15桁のフル桁は実現されません。 (1)のような無限級数のxは、0に近いほど(絶対値が小さいほど)数値的に正しい結果を与えそうですが、有限桁数しか持たない機械的なコンピューターには、こういう事情もあります 確認のため、実際にExcel2010でやってみました。結果は、x=10^(-3)辺りが良い所です。それ以上に小さいxについては、#1さんの方法が、実用的と思います。 http://ja.wikipedia.org/wiki/%E5%8F%8C%E6%9B%B2%E7%B7%9A%E9%96%A2%E6%95%B0
その他の回答 (1)
- f272
- ベストアンサー率46% (8626/18446)
cothxを展開してやればどうかな? A1をx,B1を(coth x /x) - (1/ x^2)とすれば B1=1/3-A1^2/45+2*A1^4/945-2*A1^6/9450+2*A1^8/93555-A1^10/462021