Python တွင် exponential နှင့် logarithmic လုပ်ဆောင်ချက်များကို တွက်ချက်ပါ (exp၊ log၊ log10၊ log2)

စီးပွားရေးလုပ်ငန်း

သင်္ချာ၊ သင်္ချာလုပ်ဆောင်ချက်များအတွက် Python ၏ စံ module ကိုအသုံးပြု၍ exponential နှင့် logarithmic functions (natural logarithm၊ သာမန် logarithm နှင့် binary logarithm) ကို တွက်ချက်နိုင်သည်။

နမူနာကုဒ်နှင့်အတူ အောက်ပါတို့ကို ဤနေရာတွင် ရှင်းပြထားသည်။

  • သဘာဝ လောဂရစ်သမ် အခြေခံ (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() ကိုသုံးပါ။

x ၏ y-square ကို အောက်ပါအတိုင်း ရရှိသည်။

  • 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() သည် အငြင်းအခုံကို floating-point အမျိုးအစားသို့ ပြောင်းသည်။ အခြားတစ်ဖက်တွင်၊ Python ၏ built-in function pow() သည် အမျိုးအစားတစ်ခုစီအတွက် သတ်မှတ်ထားသော __pow()__ ကို အသုံးပြုသည်။

ဥပမာအားဖြင့်၊ pow() သည် ရှုပ်ထွေးသောအမျိုးအစားများကို arguments အဖြစ်သတ်မှတ်ရန်ခွင့်ပြုသော်လည်း math.pow() သည် ရှုပ်ထွေးသောအမျိုးအစားများကို float အမျိုးအစားအဖြစ်သို့ပြောင်းလဲ၍မရသဖြင့် error ဖြစ်ပေါ်စေပါသည်။

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

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

Python built-in function pow() သည် pow(x, y, z) ၏ အကြွင်း (ကျန်) ကို x ၏ y-power သို့ ပြန်ပေးသည့် တတိယအငြင်းပွားမှုကိုလည်း ခွင့်ပြုသည်။ ၎င်းသည် pow(x, y) %z နှင့် တူညီသော တွက်ချက်မှုဖြစ်ပြီး pow(x, y, z) သည် ပိုထိရောက်သည်။

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

လေးထောင့်အမြစ် (အမြစ်):math.sqrt()

နှစ်ထပ်ကိန်း (root) ကို ** သို့မဟုတ် math.sqrt() သုံးပြီး **0.5 ဟု သတ်မှတ်နိုင်သည်။

print(2**0.5)
# 1.4142135623730951

print(math.sqrt(2))
# 1.4142135623730951

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

math.pow(), math.sqrt() ကဲ့သို့ အငြင်းအခုံများကို လုပ်ဆောင်ရန်အတွက် Float-Point အမျိုးအစားများအဖြစ်သို့ ပြောင်းပေးသည်၊ ထို့ကြောင့် float အမျိုးအစားသို့ ပြောင်းလဲ၍မရသော အမျိုးအစားကို သတ်မှတ်ခြင်းသည် 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 module သည် ပိုမိုတိကျသောတန်ဖိုးကိုပေးဆောင်သည်ကို သတိပြုပါ။ အနုတ်လက္ခဏာတန်ဖိုးများကိုလည်း ကိုင်တွယ်နိုင်သည်။

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 ၏ logarithm ကို အခြေခံအဖြစ် y ဖြင့် ပြန်ပေးသည်။

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

ဒုတိယ အငြင်းအခုံကို ချန်လှပ်ထားလျှင် သဘာဝ လော့ဂရစ်သမ်ကို အောက်တွင် ပြထားသည်။

လော့ဂရစ်သမ်

သင်္ချာတွင်၊ လော့ဂရစ်သမ် (Napier နံပါတ် e ကို အခြေခံအဖြစ်) ပါရှိသော လော့ဂရစ်သမ်ကို လော့ဂ် သို့မဟုတ် ln ဖြင့် ကိုယ်စားပြု၍ math.log(x) ဖြင့် တွက်ချက်နိုင်သည်။

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

လော့ဂရစ်သမ် (အခြေခံ ၁၀)

သာမန် လော့ဂရစ်သမ် (အခြေ 10 ပါသော လော့ဂရစ်သမ်) ကို math.log(x၊ 10) ထက် ပိုမိုတိကျသော math.log10(x) ဖြင့် တွက်ချက်နိုင်ပါသည်။

print(math.log10(100000))
# 5.0

ဒွိလောဂရစ်သမ်

ဒွိလောဂရစ်သမ် (အခြေ 2 ပါသော လော့ဂရစ်သမ်) ကို math.log(x၊ 2) ထက် ပိုမိုတိကျသည့် math.log2(x) ဖြင့် တွက်ချက်နိုင်ပါသည်။

print(math.log2(1024))
# 10.0
Copied title and URL