पायथन में त्रिकोणमितीय कार्यों की गणना करें (sin, cos, tan, arcsin, arccos, arctan)

व्यापार

गणित का उपयोग करते हुए, गणितीय कार्यों के लिए पायथन के मानक मॉड्यूल, आप त्रिकोणमितीय कार्यों (sin, cos, tan) और उलटा त्रिकोणमितीय कार्यों (arcsin, arccos, arctan) की गणना कर सकते हैं।

निम्नलिखित सामग्री को यहां नमूना कोड के साथ समझाया गया है।

  • पाई (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()

पाई (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()

साइन (पाप) को खोजने का कार्य है math.sin() और उलटा साइन (arcsin) खोजने का कार्य math.asin() है।

डिग्री को रेडियन में बदलने के लिए math.radians() का उपयोग करके, 30 डिग्री की ज्या खोजने का एक उदाहरण यहां दिया गया है।

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

30 डिग्री की ज्या 0.5 है, लेकिन एक त्रुटि है क्योंकि pi, एक अपरिमेय संख्या, की सही गणना नहीं की जा सकती है।

यदि आप अंकों की उचित संख्या में गोल करना चाहते हैं, तो राउंड () फ़ंक्शन या प्रारूप () विधि या प्रारूप () फ़ंक्शन का उपयोग करें।

ध्यान दें कि राउंड () का रिटर्न वैल्यू एक नंबर (इंट या फ्लोट) है, लेकिन फॉर्मेट () का रिटर्न वैल्यू एक स्ट्रिंग है। यदि आप इसे बाद की गणनाओं के लिए उपयोग करना चाहते हैं, तो राउंड () का उपयोग करें।

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'>

राउंड () फ़ंक्शन दशमलव स्थानों की संख्या को इसके दूसरे तर्क के रूप में निर्दिष्ट करता है। ध्यान दें कि यह सख्ती से गोल नहीं है। विवरण के लिए निम्न आलेख देखें।

प्रारूप () विधि और प्रारूप () फ़ंक्शन स्वरूपण विनिर्देश स्ट्रिंग में दशमलव स्थानों की संख्या निर्दिष्ट करता है। विवरण के लिए निम्न आलेख देखें।

यदि आप तुलना करना चाहते हैं, तो आप math.isclose() का भी उपयोग कर सकते हैं।

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

इसी प्रकार, यहाँ 0.5 की प्रतिलोम ज्या ज्ञात करने का एक उदाहरण दिया गया है। math.asin() रेडियन लौटाता है, जो गणित के साथ डिग्री में परिवर्तित हो जाते हैं। डिग्री ()।

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

print(round(asin05, 3))
# 30.0

कोसाइन, उलटा कोसाइन:math.cos(),math.acos()

कोसाइन (cos) को खोजने का कार्य math.cos() है, और उलटा कोसाइन (arc cosine, arccos) खोजने का कार्य math.acos() है।

यहां 60 डिग्री की कोज्या और 0.5 की व्युत्क्रम कोज्या खोजने का एक उदाहरण दिया गया है।

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

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

यदि आप उपयुक्त अंक तक गोल करना चाहते हैं, तो आप साइन के साथ राउंड () या प्रारूप () का उपयोग कर सकते हैं।

स्पर्शरेखा, प्रतिलोम स्पर्शरेखा:math.tan(),math.atan(),math.atan2()

स्पर्शरेखा (तन) को खोजने का कार्य है math.tan(), और उलटा स्पर्शरेखा (arctan) खोजने का कार्य 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) के दो तर्क हैं और यह आर्कटन (y \ x) को रेडियन में लौटाता है। यह कोण वह कोण (गिरावट) है जो मूल से निर्देशांक (x, y) तक वेक्टर ध्रुवीय समन्वय विमान में x अक्ष की सकारात्मक दिशा के साथ बनाता है, और लौटाया गया मान -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