Pythonで数学をやってみよう!- オイラーのγの近似値 2 - 数列の和を求める。
コードを書いて実行してみます。
調和数列の和
def sumharmonic(m):
sum = 0
for k in range(1,m+1):
sum += 1/k
return sum
と定義して、
sumharmonic(100)
としてやれば合計が出ます。
オイラーのγの近似値
lnというのはlog n ということで、
import math
def sumharmonic(m):
sum = 0
for k in range(1,m+1):
sum += 1/k
return sum - math.log(m)
sumからmath.log(m)を引き算します。logを使うためにmathをimportしてからコードを書きます。
ネイピア数(e)の近似値を求める
ネイピア数(自然対数の底e=2.71828...)を求めていくのですが、そもそも対数とは、
ネイピア数とは、
今回提示してあるコードです。公式をコードに。
import math
def myexp(n):
sum = 0
for i in range(n):
sum += 1 / math.factorial(i)
return sum
公式
スタートはn=0、そこから順に足していきます。何を足すかというと
“!“がつけると階乗という意味になるため、
Pythonでは関数factorial()を使って表現し、必要な算術式は
で、これを公式では連続的に足していく(シグマ)操作をしているので
for i in range(n):
sum += 1 / math.factorial(i)
for in 文を使って連続的に足して、変数sumに追加します。
それでは
myexp(10)
として実行します。
と答えが出てきます。
Σの計算はコードではfor in文で実装できます。その取り出した数字を公式の計算式に適応し、順次足していきます。