Next: 2.3 課題7A (本日の出席証明)
Up: 2 テイラー展開の計算による円周率計算
Previous: 2.1 テイラー展開
自然対数の底 (Euler の数,
Napier の数とも言う) の計算で実践してみましょう。
は
の における値なので、テイラー展開
に を代入して
これを例えば 10 項まで足すと
と (実は小数点以下第7位まで正しい) の近似値が得られます。
さて、それでこの計算をどう実行するか。
和の計算は前回やりました。
復習: 和
の計算の定跡 |
s=0
for j=1 to n
s=s+( を計算する式)
next j
|
これを参考に、
一般項
が漸化式
で与えられることを利用すると、
次のコードが得られます。
を として計算 |
REM 自然対数の底をテイラー級数で計算
N=10
REM a0, s0
LET A=1
LET S=A
FOR J=1 TO N
LET A=A/J
LET S=S+A
NEXT J
PRINT S
END
|
問
色々な N に対する部分和を計算してみよう。
どうするのが良いか? (正解と言えるものはないかもしれないが、
工夫してみよう。)
表示する桁数の指定 |
例えば変数 S の値を小数点以下 10 位まで表示させるには、
PRINT USING という命令を利用して
PRINT USING "#.#########": S
(小数点 . の後に # が 10 個続いています。)
|
とすればOKです。
十進BASICを OPTION ARITHMETIC DECIMAL_HIGH として、
10進1000桁モードで利用すると、1000桁表示されてしまい、
逆に面倒です。こういう場合は、
小数点以下100位 (あるいは少し余裕を見て 110 位とか) まで
表示するのが良いでしょう。
そのためには、# を 100 個並べて
PRINT USING "#.#######(中略)#####": S
(小数点 . の後に # を 100 個続ける…)
|
としても良いですが、面倒ですね。少し手助けしておきます。
例えば文字列演算機能を利用して、次のようにしてみましょう。
FMT$="#."+REPEAT$("#",100)
PRINT USING FMT$: S
|
|
Next: 2.3 課題7A (本日の出席証明)
Up: 2 テイラー展開の計算による円周率計算
Previous: 2.1 テイラー展開
Masashi Katsurada
平成22年6月9日