ਪਾਈਥਨ ਵਿੱਚ ਘਾਤ ਅੰਕੀ ਅਤੇ ਲਘੂਗਣਕ ਫੰਕਸ਼ਨਾਂ ਦੀ ਗਣਨਾ ਕਰੋ (exp, log, log10, log2)

ਕਾਰੋਬਾਰ

ਗਣਿਤ, ਗਣਿਤਕ ਫੰਕਸ਼ਨਾਂ ਲਈ ਪਾਈਥਨ ਦੇ ਮਿਆਰੀ ਮੋਡੀਊਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਤੁਸੀਂ ਘਾਤ ਅੰਕੀ ਅਤੇ ਲਘੂਗਣਕ ਫੰਕਸ਼ਨਾਂ (ਕੁਦਰਤੀ ਲਘੂਗਣਕ, ਆਮ ਲਘੂਗਣਕ, ਅਤੇ ਬਾਈਨਰੀ ਲਘੂਗਣਕ) ਦੀ ਗਣਨਾ ਕਰ ਸਕਦੇ ਹੋ।

ਇੱਥੇ ਨਮੂਨਾ ਕੋਡ ਦੇ ਨਾਲ ਹੇਠਾਂ ਵਿਆਖਿਆ ਕੀਤੀ ਗਈ ਹੈ।

  • ਕੁਦਰਤੀ ਲਘੂਗਣਕ ਦਾ ਆਧਾਰ (ਨੇਪੀਅਰ ਨੰਬਰ):math.e
  • ਤਾਕਤ::**ਆਪਰੇਟਰ,pow(),math.pow()
  • ਵਰਗ ਰੂਟ (ਜੜ੍ਹ):math.sqrt()
  • ਘਾਤ ਅੰਕੀ ਫੰਕਸ਼ਨ (ਕੁਦਰਤੀ ਘਾਤਕ ਫੰਕਸ਼ਨ):math.exp()
  • ਇੱਕ ਲਘੂਗਣਕ ਫੰਕਸ਼ਨ:math.log(),math.log10(),math.log2()

ਕੁਦਰਤੀ ਲਘੂਗਣਕ ਦਾ ਆਧਾਰ (ਨੇਪੀਅਰ ਨੰਬਰ):math.e

ਕੁਦਰਤੀ ਲਘੂਗਣਕ (ਨੈਪੀਅਰ ਨੰਬਰ) ਦਾ ਅਧਾਰ ਗਣਿਤ ਮੋਡੀਊਲ ਵਿੱਚ ਇੱਕ ਸਥਿਰਾਂਕ ਵਜੋਂ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜਿਸਨੂੰ ਗਣਿਤ ਦੁਆਰਾ ਦਰਸਾਇਆ ਜਾਂਦਾ ਹੈ।

import math

print(math.e)
# 2.718281828459045

ਪਾਵਰ: ** ਆਪਰੇਟਰ, pow(), math.pow():**ਆਪਰੇਟਰ,pow(),math.pow()

ਸ਼ਕਤੀਆਂ ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ, ਜਾਂ ਤਾਂ ** ਆਪਰੇਟਰ, ਬਿਲਟ-ਇਨ ਫੰਕਸ਼ਨ pow(), ਜਾਂ math.pow() ਦੀ ਵਰਤੋਂ ਕਰੋ।

x ਦਾ y-ਵਰਗ ਇਸ ਤਰ੍ਹਾਂ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ

  • 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() ਆਰਗੂਮੈਂਟ ਨੂੰ ਫਲੋਟਿੰਗ-ਪੁਆਇੰਟ ਕਿਸਮ ਵਿੱਚ ਬਦਲਦਾ ਹੈ। ਦੂਜੇ ਪਾਸੇ, ਪਾਈਥਨ ਦਾ ਬਿਲਟ-ਇਨ ਫੰਕਸ਼ਨ pow() ਹਰ ਕਿਸਮ ਲਈ ਪਰਿਭਾਸ਼ਿਤ __pow()__ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।

ਉਦਾਹਰਨ ਲਈ, pow() ਗੁੰਝਲਦਾਰ ਕਿਸਮਾਂ ਨੂੰ ਆਰਗੂਮੈਂਟ ਦੇ ਤੌਰ ‘ਤੇ ਨਿਰਧਾਰਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਪਰ math.pow() ਗੁੰਝਲਦਾਰ ਕਿਸਮਾਂ ਨੂੰ ਫਲੋਟ ਕਿਸਮਾਂ ਵਿੱਚ ਨਹੀਂ ਬਦਲ ਸਕਦਾ, ਨਤੀਜੇ ਵਜੋਂ ਇੱਕ ਗਲਤੀ ਹੁੰਦੀ ਹੈ।

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

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

ਪਾਈਥਨ ਬਿਲਟ-ਇਨ ਫੰਕਸ਼ਨ pow() ਇੱਕ ਤੀਜੀ ਆਰਗੂਮੈਂਟ, pow(x, y, z) ਦੀ ਵੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜੋ z ਦੇ ਬਾਕੀ (ਬਾਕੀ) ਨੂੰ x ਦੀ y-ਪਾਵਰ ਵਿੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਇਹ pow(x, y) % z ਵਾਂਗ ਹੀ ਗਣਨਾ ਹੈ, ਪਰ pow(x, y, z) ਵਧੇਰੇ ਕੁਸ਼ਲ ਹੈ।

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

ਵਰਗ ਰੂਟ (ਜੜ੍ਹ):math.sqrt()

ਵਰਗ ਮੂਲ (ਰੂਟ) ਨੂੰ ** ਜਾਂ 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() ਦੀ ਤਰ੍ਹਾਂ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਆਰਗੂਮੈਂਟਾਂ ਨੂੰ ਫਲੋਟਿੰਗ-ਪੁਆਇੰਟ ਕਿਸਮਾਂ ਵਿੱਚ ਬਦਲਦਾ ਹੈ, ਇਸਲਈ ਇੱਕ ਕਿਸਮ ਨਿਰਧਾਰਤ ਕਰਨ ਨਾਲ ਜਿਸਨੂੰ ਫਲੋਟ ਕਿਸਮ ਵਿੱਚ ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ, ਇੱਕ 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()

ਕੁਦਰਤੀ ਲਘੂਗਣਕ (ਨੈਪੀਅਰ ਨੰਬਰ) e ਦੇ ਅਧਾਰ ਦੀ ਸ਼ਕਤੀ ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ, math.exp() ਦੀ ਵਰਤੋਂ ਕਰੋ।

math.exp(x) e ਦਾ x ਵਰਗ ਵਾਪਸ ਕਰਦਾ ਹੈ।
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) ਬੇਸ ਵਜੋਂ y ਦੇ ਨਾਲ x ਦਾ ਲਘੂਗਣਕ ਵਾਪਸ ਕਰਦਾ ਹੈ।

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

ਜੇਕਰ ਦੂਜੀ ਆਰਗੂਮੈਂਟ ਨੂੰ ਛੱਡ ਦਿੱਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਕੁਦਰਤੀ ਲਘੂਗਣਕ ਹੇਠਾਂ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।

ਲਘੂਗਣਕ

ਗਣਿਤ ਵਿੱਚ, ਲੌਗ ਜਾਂ ln ਦੁਆਰਾ ਦਰਸਾਏ ਗਏ ਕੁਦਰਤੀ ਲਘੂਗਣਕ (ਨੇਪੀਅਰ ਨੰਬਰ e ਦੇ ਨਾਲ ਅਧਾਰ ਦੇ ਰੂਪ ਵਿੱਚ ਲੋਗਰਾਰਿਥਮ) ਦੀ ਗਣਨਾ math.log(x) ਦੁਆਰਾ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।

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

ਲਘੂਗਣਕ (ਆਧਾਰ 10)

ਸਾਧਾਰਨ ਲਘੂਗਣਕ (ਬੇਸ 10 ਦੇ ਨਾਲ ਲਘੂਗਣਕ) ਦੀ ਗਣਨਾ math.log10(x) ਨਾਲ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ, ਜੋ ਕਿ math.log(x, 10) ਨਾਲੋਂ ਵਧੇਰੇ ਸਹੀ ਹੈ।

print(math.log10(100000))
# 5.0

ਬਾਈਨਰੀ ਲਘੂਗਣਕ

ਬਾਈਨਰੀ ਲਘੂਗਣਕ (ਬੇਸ 2 ਦੇ ਨਾਲ ਲਘੂਗਣਕ) ਦੀ ਗਣਨਾ math.log2(x) ਨਾਲ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ, ਜੋ ਕਿ math.log(x, 2) ਨਾਲੋਂ ਵਧੇਰੇ ਸਹੀ ਹੈ।

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