Python मध्ये त्रिकोणमितीय कार्ये मोजा (sin, cos, tan, arcsin, arccos, arctan)

व्यवसाय

गणितीय फंक्शन्ससाठी गणित, पायथनचे मानक मॉड्यूल वापरून, तुम्ही त्रिकोणमितीय फंक्शन्स (sin, cos, tan) आणि व्यस्त त्रिकोणमितीय फंक्शन्स (arcsin, arccos, arctan) ची गणना करू शकता.

खालील सामग्री येथे नमुना कोडसह स्पष्ट केली आहे.

  • Pi (3.1415926..):math.pi
  • कोन रूपांतरण (रेडियन, अंश):math.degrees(),math.radians()
  • साइन, व्युत्क्रम साइन:math.sin(),math.asin()
  • कोसाइन, व्यस्त कोसाइन:math.cos(),math.acos()
  • स्पर्शिका, व्यस्त स्पर्शिका:math.tan(),math.atan(),math.atan2()
  • खाली फरक:math.atan(),math.atan2()

Pi (3.1415926..):math.pi

पाई हे गणित मॉड्यूलमध्ये स्थिरांक म्हणून दिलेले आहे. ते खालीलप्रमाणे व्यक्त केले आहे.
math.pi

import math

print(math.pi)
# 3.141592653589793

कोन रूपांतरण (रेडियन, अंश):math.degrees(),math.radians()

गणित मॉड्यूलमधील त्रिकोणमितीय आणि व्यस्त त्रिकोणमितीय कार्ये कोनाचे एकक म्हणून रेडियन वापरतात.

रेडियन (आर्क डिग्री पद्धत) आणि डिग्री (डिग्री पद्धत) मध्ये रूपांतरित करण्यासाठी math.degrees() आणि math.radians() वापरा.

Math.degrees() रेडियनमधून अंशांमध्ये रुपांतरित होते आणि math.radians() अंशातून रेडियनमध्ये रूपांतरित होते.

print(math.degrees(math.pi))
# 180.0

print(math.radians(180))
# 3.141592653589793

साइन, व्युत्क्रम साइन:math.sin(),math.asin()

साइन (sin) शोधण्याचे कार्य math.sin() आहे आणि व्यस्त साइन (arcsin) शोधण्याचे कार्य math.asin() आहे.

अंशांचे रेडियनमध्ये रूपांतर करण्यासाठी math.radians() वापरून 30 अंशांची साइन शोधण्याचे उदाहरण येथे आहे.

sin30 = math.sin(math.radians(30))
print(sin30)
# 0.49999999999999994

30 अंशांची साइन 0.5 आहे, परंतु एक त्रुटी आहे कारण pi, एक अपरिमेय संख्या, अचूकपणे मोजली जाऊ शकत नाही.

तुम्हाला अंकांच्या योग्य संख्येपर्यंत पूर्ण करायचे असल्यास, round() फंक्शन किंवा format() पद्धत किंवा format() फंक्शन वापरा.

लक्षात घ्या की round() चे रिटर्न व्हॅल्यू ही एक संख्या (int किंवा float) आहे, परंतु format() चे रिटर्न व्हॅल्यू एक स्ट्रिंग आहे. तुम्हाला ते पुढील गणनेसाठी वापरायचे असल्यास, round() वापरा.

print(round(sin30, 3))
print(type(round(sin30, 3)))
# 0.5
# <class 'float'>

print('{:.3}'.format(sin30))
print(type('{:.3}'.format(sin30)))
# 0.5
# <class 'str'>

print(format(sin30, '.3'))
print(type(format(sin30, '.3')))
# 0.5
# <class 'str'>

राउंड() फंक्शन दशांश स्थानांची संख्या त्याचा दुसरा आर्ग्युमेंट म्हणून निर्दिष्ट करते. लक्षात घ्या की हे काटेकोरपणे गोलाकार नाही. तपशीलांसाठी पुढील लेख पहा.

format() पद्धत आणि format() फंक्शन फॉरमॅटिंग स्पेसिफिकेशन स्ट्रिंगमधील दशांश स्थानांची संख्या निर्दिष्ट करते. तपशीलांसाठी पुढील लेख पहा.

तुम्हाला तुलना करायची असल्यास, तुम्ही math.isclose() देखील वापरू शकता.

print(math.isclose(sin30, 0.5))
# True

त्याचप्रमाणे, येथे 0.5 चा व्यस्त साइन शोधण्याचे उदाहरण आहे. math.asin() रेडियन मिळवते, जे math.degrees() सह अंशांमध्ये रूपांतरित केले जातात.

asin05 = math.degrees(math.asin(0.5))
print(asin05)
# 29.999999999999996

print(round(asin05, 3))
# 30.0

कोसाइन, व्यस्त कोसाइन:math.cos(),math.acos()

कोसाइन (cos) शोधण्याचे कार्य math.cos() आहे आणि व्यस्त कोसाइन (आर्क कोसाइन, आर्ककोस) शोधण्याचे कार्य math.acos() आहे.

येथे 60 अंशांचा कोसाइन आणि 0.5 चा व्यस्त कोसाइन शोधण्याचे उदाहरण आहे.

print(math.cos(math.radians(60)))
# 0.5000000000000001

print(math.degrees(math.acos(0.5)))
# 59.99999999999999

तुम्हाला योग्य अंकापर्यंत गोल करायचे असल्यास, तुम्ही sine प्रमाणे round() किंवा format() वापरू शकता.

स्पर्शिका, व्यस्त स्पर्शिका:math.tan(),math.atan(),math.atan2()

स्पर्शिका (tan) शोधण्याचे कार्य math.tan() आहे आणि व्यस्त स्पर्शिका (आर्कटन) शोधण्याचे कार्य math.atan() किंवा math.atan2() आहे.
Math.atan2() नंतर वर्णन केले आहे.

45 अंशांची स्पर्शिका आणि 1 अंशाची व्यस्त स्पर्शिका शोधण्याचे उदाहरण खाली दर्शविले आहे.

print(math.tan(math.radians(45)))
# 0.9999999999999999

print(math.degrees(math.atan(1)))
# 45.0

math.atan() आणि math.atan2() मधील फरक

math.atan() आणि math.atan2() ही दोन्ही फंक्शन्स आहेत जी व्यस्त स्पर्शिका परत करतात, परंतु ते वितर्कांची संख्या आणि रिटर्न व्हॅल्यूजच्या श्रेणीमध्ये भिन्न आहेत.

math.atan(x) मध्‍ये एक वितर्क आहे आणि रेडियनमध्‍ये arctan(x) मिळवते. परतावा मूल्य -pi \ 2 आणि pi \ 2 (-90 ते 90 अंश) दरम्यान असेल.

print(math.degrees(math.atan(0)))
# 0.0

print(math.degrees(math.atan(1)))
# 45.0

print(math.degrees(math.atan(-1)))
# -45.0

print(math.degrees(math.atan(math.inf)))
# 90.0

print(math.degrees(math.atan(-math.inf)))
# -90.0

वरील उदाहरणात, math.inf अनंतता दर्शवते.

math.atan2(y, x) मध्ये दोन वितर्क आहेत आणि रेडियनमध्ये arctan(y \ x) मिळवते. हा कोन ध्रुवीय समन्वय समतलातील x अक्षाच्या सकारात्मक दिशेने मूळ ते निर्देशांक (x, y) पर्यंत वेक्टर करतो तो कोन (अधोगती) आहे आणि परत केलेले मूल्य -pi आणि pi (-180) मधील आहे 180 डिग्री पर्यंत).

दुसऱ्या आणि तिसऱ्या चतुर्थांशातील कोन देखील योग्यरित्या मिळू शकत असल्याने, ध्रुवीय समन्वय समतल विचारात घेता math.atan2() हे math.atan() पेक्षा अधिक योग्य आहे.

लक्षात घ्या की वितर्कांचा क्रम y, x, x, y नाही.

print(math.degrees(math.atan2(0, 1)))
# 0.0

print(math.degrees(math.atan2(1, 1)))
# 45.0

print(math.degrees(math.atan2(1, 0)))
# 90.0

print(math.degrees(math.atan2(1, -1)))
# 135.0

print(math.degrees(math.atan2(0, -1)))
# 180.0

print(math.degrees(math.atan2(-1, -1)))
# -135.0

print(math.degrees(math.atan2(-1, 0)))
# -90.0

print(math.degrees(math.atan2(-1, 1)))
# -45.0

वरील उदाहरणाप्रमाणे, x-अक्षाची ऋण दिशा (y शून्य आहे आणि x ऋण आहे) pi (180 अंश) आहे, परंतु जेव्हा y ऋण शून्य असते, तेव्हा ती -pi (-180 अंश) असते. जर तुम्हाला चिन्ह काटेकोरपणे हाताळायचे असेल तर काळजी घ्या.

print(math.degrees(math.atan2(-0.0, -1)))
# -180.0

नकारात्मक शून्य हे खालील ऑपरेशन्सचे परिणाम आहेत

print(-1 / math.inf)
# -0.0

print(-1.0 * 0.0)
# -0.0

पूर्णांकांना ऋण शून्य मानले जात नाही.

print(-0.0)
# -0.0

print(-0)
# 0

जरी x आणि y दोन्ही शून्य असले तरी परिणाम चिन्हावर अवलंबून असतो.

print(math.degrees(math.atan2(0.0, 0.0)))
# 0.0

print(math.degrees(math.atan2(-0.0, 0.0)))
# -0.0

print(math.degrees(math.atan2(-0.0, -0.0)))
# -180.0

print(math.degrees(math.atan2(0.0, -0.0)))
# 180.0

अशी इतर उदाहरणे आहेत जिथे निकालाचे चिन्ह नकारात्मक शून्यांवर अवलंबून बदलते, जसे की math.atan2() तसेच math.sin(), math.asin(), math.tan(), आणि math.atan() .

print(math.sin(0.0))
# 0.0

print(math.sin(-0.0))
# -0.0

print(math.asin(0.0))
# 0.0

print(math.asin(-0.0))
# -0.0

print(math.tan(0.0))
# 0.0

print(math.tan(-0.0))
# -0.0

print(math.atan(0.0))
# 0.0

print(math.atan(-0.0))
# -0.0

print(math.atan2(0.0, 1.0))
# 0.0

print(math.atan2(-0.0, 1.0))
# -0.0

लक्षात घ्या की आतापर्यंतची उदाहरणे CPython मध्ये प्रोग्राम चालवण्याचे परिणाम आहेत. लक्षात ठेवा की इतर अंमलबजावणी किंवा वातावरण नकारात्मक शून्य वेगळ्या पद्धतीने हाताळू शकतात.

Copied title and URL