2015-03-17 16 views
5

मेरी समझ से, atan2() फ़ंक्शन प्रोग्रामिंग भाषाओं में मौजूद है क्योंकि atan() आउटपुट हमेशा सही थाटा निर्धारित नहीं कर सकता क्योंकि आउटपुट -pi/2 से pi/2 तक सीमित है।atan2() और acos2() फ़ंक्शन एटान 2() के समान क्यों नहीं हैं?

यदि यह मामला है, तो एक ही समस्या asin() दोनों और acos(), वे दोनों भी पर्वतमाला प्रतिबंधित कर दिया है पर लागू होता है, तो फिर क्यों नहीं asin2() और acos2() कार्यों देखते हैं?

उत्तर

5

सबसे पहले, ध्यान दें कि वाक्यविन्यास atan(y/x) है लेकिन atan2(y, x), atan2(y/x) नहीं है। यह महत्वपूर्ण है, क्योंकि विभाजन करने से आप अतिरिक्त जानकारी प्रदान करते हैं, सबसे महत्वपूर्ण बात यह है कि x और y के व्यक्तिगत संकेत। यदि आप x और y अलग से समन्वय जानते हैं, तो आप चतुर्भुज समेत कोण को जानते हैं।

आप tan(θ) = y/x से sin(θ) = y/sqrt(x²+y²) करने के लिए जाना है, तो उलटा आपरेशन asiny लेता है और sqrt(x²+y²) और जोड़ती है कि कोण बारे में कुछ जानकारी प्राप्त करने के लिए। यहां कोई फर्क नहीं पड़ता कि हम स्वयं को विभाजन करते हैं या कुछ hypothetical asin2 फ़ंक्शन इसे संभालते हैं। Denominator हमेशा सकारात्मक है, इसलिए विभाजित तर्क में उतनी ही जानकारी होती है जितनी अलग संख्यात्मक और denominator के होते हैं। (आईईईई वातावरण में कम से कम जहां शून्य से भाग एक सही ढंग से हस्ताक्षरित अनंत की ओर जाता है।)

क्या आप जानते हैं y समन्वय और hypothenuse sqrt(x²+y²) तो आप कोण की ज्या पता है, लेकिन आप कोण में ही नहीं पता कर सकते , क्योंकि आप नकारात्मक और सकारात्मक x मानों के बीच अंतर नहीं कर सकते हैं। इसी तरह, यदि आप x समन्वय और hypothenuse जानते हैं, तो आप कोण के कोसाइन को जानते हैं लेकिन आप y मान के संकेत को नहीं जान सकते हैं।

तो asin2 और acos2 गणितीय रूप से व्यवहार्य नहीं हैं, कम से कम एक स्पष्ट तरीके से नहीं। यदि आपके पास hypothenuse में एन्कोड किए गए किसी प्रकार का संकेत था, तो चीजें अलग हो सकती हैं, लेकिन मैं ऐसी स्थिति के बारे में सोच सकता हूं जहां ऐसा संकेत स्वाभाविक रूप से उत्पन्न होगा।

+1

सहमत हैं। 'Sin (x)' का डोमेन 'x = -π/2 ... π/2' और' cos (x) '' x = 0..π' है। _no_ way 'acos()' ऋणात्मक संख्या लौटाएगा क्योंकि 'cos (x) = cos (-x) '। – ja72

+3

बहुत ही भ्रमित अगर पहली वाक्य। – Dan

संबंधित मुद्दे