■対数の定義
a > 0、a ≠ 0、N > 0 において、
x = logaN ⇄ N = ax
この x を a を底とする N の対数、N を対数 x の真数と呼ぶ。
▼イメージ
2を3乗すると8になる。
■例題
問題1
loga81 = 4
問題2
logb5 = -1 / 2
問題3
log3243
問題4
log21/8
■サンプルコード
問題1・2はsympy.solve()を使用して解く。
なお、問題1・2をそれぞれ以下のような形式に変更する。
問題1
loga81 = 4
a4 = 81
a4 – 81 = 0
問題2
logb5 = -1 / 2
b(-1/2) = 5
b(-1/2) – 5 = 0
問題3・4については、math.log()を使用して解く
# -*- Coding:UTF-8 -*-
import sympy
import math
# 今回の問題の回答は実数のみとする
# (虚数は含まない)
# ▼問題1
# log(a)81 = 4
# 回答1
a = sympy.Symbol('a')
ques1 = sympy.solve(a**4 - 81, a)
print('問題1:' + str(ques1))
# ▼問題2
# log(b)5 = -1/2
# 回答2
b = sympy.Symbol('b')
ques2 = sympy.solve(b**(-1/2) - 5, b)
print('問題2:' + str(round(ques2[0], 2)))
# ▼問題3
# log(2)243
# 回答3
ques3 = math.log(243, 3)
print('問題3:' + str(round(ques3)))
# ▼問題4
# log(2)1/8
# 回答4
ques4 = math.log(1/8, 2)
print('問題4:' + str(ques4))
■実行結果
問題1:[-3, 3, -3*I, 3*I]
問題2:0.04
問題3:5
問題4:-3.0
※問題1の解は実数0より大きい実数のみのため[3]のみが正解
コメント
[…] 【Python】対数(log)の計算■対数の定義a > 0、a ≠ 0、N > 0 において、x = logaN ⇄ N = axこの x を a を底とする N の対数、N を対数 x の真数と呼ぶ。▼イメージ2…anotools.com2021.09.01 […]