NumPy 1.14 - numpy.allclose()

numpy.allclose




numpy

numpy.allclose

numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False) [source]

यदि दो एरे सहिष्णुता के भीतर तत्व-वार समान हैं तो सही है।

सहिष्णुता मूल्य सकारात्मक हैं, आमतौर पर बहुत कम संख्या में। सापेक्ष अंतर ( rtol * abs ( b )) और a बीच पूर्ण अंतर की तुलना करने के लिए पूर्ण अंतर atol को एक साथ जोड़ा जाता है।

यदि किसी भी सरणी में एक या अधिक NaN हैं, तो गलत लौटाया जाता है। यदि उन्हें एक ही स्थान पर और दोनों सरणियों में एक ही संकेत के समान माना जाता है।

पैरामीटर:

a, b : array_like

तुलना करने के लिए इनपुट सरणियाँ।

rtol : फ्लोट

रिश्तेदार सहिष्णुता पैरामीटर (नोट्स देखें)।

atol : फ्लोट

पूर्ण सहिष्णुता पैरामीटर (नोट्स देखें)।

बराबर_नन : बूल

ना के बराबर की तुलना करना है या नहीं। यदि सही है, तो NaN को आउटपुट सरणी में NaN के b के बराबर माना जाएगा।

संस्करण 1.10.0 में नया।

यह दिखाता है:

allclose : बूल

यदि रिटर्न दो दिए गए सहिष्णुता के भीतर समान है, तो सही है; असत्य अन्यथा।

यह भी देखें

isclose , all , any , equal

टिप्पणियाँ

यदि निम्नलिखित समीकरण तत्व-वार सच है, तो आवंटन सही है।

निरपेक्ष ( a - b ) <= ( atol + rtol * पूर्ण ( b ))

उपरोक्त समीकरण a और b में सममित नहीं है, इसलिए कुछ दुर्लभ मामलों में allclose(a, b) से भिन्न हो सकता है।

b और b की तुलना मानक प्रसारण का उपयोग करती है, जिसका अर्थ है कि True के मूल्यांकन के लिए allclose(a, b) लिए a और b की समान आकृति नहीं है। equal लेकिन array_equal लिए सही है।

उदाहरण

>>> np.allclose([1e10,1e-7], [1.00001e10,1e-8])
False
>>> np.allclose([1e10,1e-8], [1.00001e10,1e-9])
True
>>> np.allclose([1e10,1e-8], [1.0001e10,1e-9])
False
>>> np.allclose([1.0, np.nan], [1.0, np.nan])
False
>>> np.allclose([1.0, np.nan], [1.0, np.nan], equal_nan=True)
True