គណនាអនុគមន៍អិចស្ប៉ូណង់ស្យែល និងលោការីតនៅក្នុង Python (exp, log, log10, log2)

អាជីវកម្ម

ដោយប្រើគណិតវិទ្យា ម៉ូឌុលស្តង់ដាររបស់ Python សម្រាប់អនុគមន៍គណិតវិទ្យា អ្នកអាចគណនាអនុគមន៍អិចស្ប៉ូណង់ស្យែល និងលោការីត (លោការីតធម្មជាតិ លោការីតធម្មតា និងលោការីតគោលពីរ)។

ខាងក្រោមនេះត្រូវបានពន្យល់នៅទីនេះ រួមជាមួយនឹងកូដគំរូ។

  • មូលដ្ឋាននៃលោការីតធម្មជាតិ (លេខ Napier):math.e
  • ថាមពល៖:**ប្រតិបត្តិករ,pow(),math.pow()
  • ឫសការ៉េ (ឫស):math.sqrt()
  • អនុគមន៍អិចស្ប៉ូណង់ស្យែល (អនុគមន៍អិចស្ប៉ូណង់ស្យែលធម្មជាតិ):math.exp()
  • មុខងារលោការីត:math.log(),math.log10(),math.log2()

មូលដ្ឋាននៃលោការីតធម្មជាតិ (លេខ Napier):math.e

មូលដ្ឋាននៃលោការីតធម្មជាតិ (លេខ Napier) ត្រូវបានផ្តល់ជាថេរនៅក្នុងម៉ូឌុលគណិតវិទ្យា ដែលតំណាងដោយ math.e.

import math

print(math.e)
# 2.718281828459045

ថាមពល៖ ** ប្រតិបត្តិករ, pow(), math.pow():**ប្រតិបត្តិករ,pow(),math.pow()

ដើម្បីគណនាថាមពល សូមប្រើប្រតិបត្តិករ ** មុខងារដែលភ្ជាប់មកជាមួយ pow() ឬ math.pow()។

y-square នៃ x ត្រូវបានទទួលដូចខាងក្រោម

  • x**y
  • pow(x, y)
  • math.pow(x, y)
print(2**4)
# 16

print(pow(2, 4))
# 16

print(math.pow(2, 4))
# 16.0

math.pow() បំប្លែងអាគុយម៉ង់ទៅជាប្រភេទចំណុចអណ្តែត។ ម្យ៉ាងវិញទៀត មុខងារដែលភ្ជាប់មកជាមួយ Python របស់ Python ប្រើ __pow()__ ដែលបានកំណត់សម្រាប់ប្រភេទនីមួយៗ។

ឧទាហរណ៍ pow() អនុញ្ញាតឱ្យប្រភេទស្មុគស្មាញត្រូវបានបញ្ជាក់ជាអាគុយម៉ង់ ប៉ុន្តែ math.pow() មិនអាចបំប្លែងប្រភេទស្មុគស្មាញទៅជាប្រភេទអណ្តែត ដែលបណ្តាលឱ្យមានកំហុស។

print(pow(1 + 1j, 2))
# 2j

# print(math.pow(1 + 1j, 2))
# TypeError: can't convert complex to float

មុខងារដែលភ្ជាប់មកជាមួយ Python pow() ក៏អនុញ្ញាតឱ្យមានអាគុយម៉ង់ទីបី pow(x, y, z) ដែលត្រឡប់នៅសល់ (នៅសល់) នៃ z ទៅ y-power នៃ x ។ វា​គឺ​ជា​ការ​គណនា​ដូច​គ្នា​នឹង pow(x, y) % z ប៉ុន្តែ pow(x, y, z) គឺ​មាន​ប្រសិទ្ធភាព​ជាង។

print(pow(2, 4, 5))
# 1

ឫសការ៉េ (ឫស):math.sqrt()

ឫសការ៉េ (root) អាចត្រូវបានកំណត់ទៅ **0.5 ដោយប្រើ ** ឬ math.sqrt() ។

print(2**0.5)
# 1.4142135623730951

print(math.sqrt(2))
# 1.4142135623730951

print(2**0.5 == math.sqrt(2))
# True

ដូចជា math.pow(), math.sqrt() បំប្លែងអាគុយម៉ង់ទៅជាប្រភេទចំណុចអណ្តែតសម្រាប់ដំណើរការ ដូច្នេះការបញ្ជាក់ប្រភេទដែលមិនអាចបំប្លែងទៅជាប្រភេទអណ្តែតនឹងនាំឱ្យមាន TypeError ។

print((-3 + 4j)**0.5)
# (1.0000000000000002+2j)

# print(math.sqrt(-3 + 4j))
# TypeError: can't convert complex to float

ដូចគ្នានេះផងដែរ math.sqrt() មិនអាចដំណើរការតម្លៃអវិជ្ជមាន ដែលបណ្តាលឱ្យមាន ValueError មួយ។

print((-1)**0.5)
# (6.123233995736766e-17+1j)

# print(math.sqrt(-1))
# ValueError: math domain error

ចំណាំថានៅពេលដោះស្រាយជាមួយចំនួនកុំផ្លិច ឧទាហរណ៍ដែលប្រើប្រតិបត្តិករ ** បង្ហាញកំហុស ប៉ុន្តែម៉ូឌុល cmath ផ្តល់តម្លៃត្រឹមត្រូវជាង។ តម្លៃអវិជ្ជមានក៏អាចត្រូវបានដោះស្រាយផងដែរ។

import cmath

print(cmath.sqrt(-3 + 4j))
# (1+2j)

print(cmath.sqrt(-1))
# 1j

អនុគមន៍អិចស្ប៉ូណង់ស្យែល (អនុគមន៍អិចស្ប៉ូណង់ស្យែលធម្មជាតិ):math.exp()

ដើម្បីគណនាថាមពលនៃមូលដ្ឋានលោការីតធម្មជាតិ (លេខ Napier) អ៊ី សូមប្រើ math.exp()។

math.exp(x) ត្រឡប់ x ការេនៃ e ។
math.exp(x) មិនស្មើនឹង “math.e**x” ហើយ math.exp(x) គឺត្រឹមត្រូវជាង។

print(math.exp(2))
# 7.38905609893065

print(math.exp(2) == math.e**2)
# False

មុខងារលោការីត:math.log(),math.log10(),math.log2()

ដើម្បីគណនាអនុគមន៍លោការីត សូមប្រើ math.log(), math.log10(), math.log2()។

math.log(x, y) ត្រឡប់លោការីត x ជាមួយ y ជាគោល។

print(math.log(25, 5))
# 2.0

ប្រសិនបើអាគុយម៉ង់ទីពីរត្រូវបានលុបចោល លោការីតធម្មជាតិត្រូវបានបង្ហាញខាងក្រោម។

លោការីត

នៅក្នុងគណិតវិទ្យា លោការីតធម្មជាតិ (លោការីតដែលមានលេខ Napier e ជាគោល) តំណាងដោយ log ឬ ln អាចត្រូវបានគណនាដោយ math.log(x) ។

print(math.log(math.e))
# 1.0

លោការីត (មូលដ្ឋាន ១០)

លោការីតធម្មតា (លោការីតជាមួយគោល ១០) អាចត្រូវបានគណនាជាមួយ math.log10(x) ដែលត្រឹមត្រូវជាង math.log(x, 10)។

print(math.log10(100000))
# 5.0

លោការីតគោលពីរ

លោការីតគោលពីរ (លោការីតជាមួយគោល ២) អាចត្រូវបានគណនាជាមួយ math.log2(x) ដែលត្រឹមត្រូវជាង math.log(x, 2)។

print(math.log2(1024))
# 10.0