Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में N-आयामी सरणी का ग्रेडिएंट लौटाना

ग्रेडिएंट की गणना आंतरिक बिंदुओं में दूसरी क्रम की सटीक केंद्रीय अंतरों का उपयोग करके की जाती है और सीमाओं पर पहली या दूसरी क्रम की सटीक एक-पक्षीय (आगे या पीछे) अंतरों का उपयोग किया जाता है। लौटाया गया ग्रेडिएंट इसलिए इनपुट सरणी के समान आकार का होता है। पहला पैरामीटर f एक N-आयामी सरणी है जिसमें एक अदिश फ़ंक्शन के नमूने होते हैं। दूसरा पैरामीटर varargs है यानी f मानों के बीच का अंतर। सभी आयामों के लिए डिफ़ॉल्ट एकात्मक अंतर।

तीसरा पैरामीटर edge_order{1, 2} है यानी ग्रेडिएंट की गणना सीमाओं पर N-वें क्रम के सटीक अंतरों का उपयोग करके की जाती है। डिफ़ॉल्ट: 1। चौथा पैरामीटर ग्रेडिएंट है, जिसकी गणना केवल दिए गए अक्ष या अक्षों के साथ की जाती है। डिफ़ॉल्ट (axis=None) इनपुट सरणी के सभी अक्षों के लिए ग्रेडिएंट की गणना करना है। अक्ष नकारात्मक हो सकता है, जिस स्थिति में यह अंतिम से पहले अक्ष तक गिनता है। यह विधि f के प्रत्येक आयाम के सापेक्ष अवकलजों के अनुरूप ndarrays की एक सूची लौटाती है। प्रत्येक अवकलज का आकार f के समान होता है।

चरण

सबसे पहले, आवश्यक लाइब्रेरी आयात करें:

import numpy as np

array() विधि का उपयोग करके एक numpy सरणी बनाएं। हमने float प्रकार के तत्व जोड़े हैं:

arr = np.array([20, 35, 57, 70, 85, 120], dtype=float)

सरणी प्रदर्शित करें:

print("हमारी सरणी...\n", arr)

आयाम जांचें:

print("\nहमारी सरणी के आयाम...\n", arr.ndim)

डेटा प्रकार प्राप्त करें:

print("\nहमारी सरणी ऑब्जेक्ट का डेटा प्रकार...\n", arr.dtype)

ग्रेडिएंट की गणना दूसरी क्रम की सटीक केंद्रीय अंतरों का उपयोग करके आंतरिक बिंदुओं में की जाती है और सीमाओं पर पहली या दूसरी क्रम की सटीक एक-पक्षीय अंतरों का उपयोग किया जाता है। लौटाया गया ग्रेडिएंट इसलिए इनपुट सरणी के समान आकार का होता है:

print("\nपरिणाम (ग्रेडिएंट)...\n", np.gradient(arr))

उदाहरण

import numpy as np
# array() विधि का उपयोग करके एक numpy सरणी बनाएं
# हमने float प्रकार के तत्व जोड़े हैं
arr = np.array([20, 35, 57, 70, 85, 120], dtype=float)
# सरणी प्रदर्शित करें
print("हमारी सरणी...\n", arr)
# आयाम जांचें
print("\nहमारी सरणी के आयाम...\n", arr.ndim)
# डेटा प्रकार प्राप्त करें
print("\nहमारी सरणी ऑब्जेक्ट का डेटा प्रकार...\n", arr.dtype)
# ग्रेडिएंट की गणना करें
print("\nपरिणाम (ग्रेडिएंट)...\n", np.gradient(arr))

आउटपुट

हमारी सरणी... [20. 35. 57. 70. 85. 120.]
हमारी सरणी के आयाम... 1
हमारी सरणी ऑब्जेक्ट का डेटा प्रकार... float64
परिणाम (ग्रेडिएंट)... [15. 18.5 17.5 14. 25. 35.]
  1. - पायथन में जांचें कि सरणी सुंदर (beautiful) है या नहीं

    मान लीजिए हमारे पास अद्वितीय तत्वों की एक सरणी nums है। हमें जांचना है कि ये शर्तें पूरी होती हैं या नहीं: तत्व 1 से n की रेंज में होंगे। सरणी आरोही क्रम में सॉर्ट नहीं होनी चाहिए। उदाहरण के लिए, यदि nums = [2, 6, 1, 5, 3, 4] है, तो आउटपुट True होगा। हल करने का तरीका n := nums का आकार total := n

  1. - पायथन में जांचें कि उपसरणी को उलटने से सरणी क्रमबद्ध हो जाएगी या नहीं

    मान लीजिए हमारे पास अद्वितीय तत्वों की एक सरणी nums है। हमें जांचना है कि क्या इसकी एक उपसरणी को उलटने से सरणी क्रमबद्ध हो जाएगी। यदि सरणी पहले से क्रमबद्ध है, तो भी True लौटाएं। उदाहरण के लिए, यदि nums = [4, 6, 27, 25, 15, 9, 37, 42] है, तो आउटपुट True होगा क्योंकि [9, 15, 25, 27] को उलटने से सरणी

  1. - पायथन में return स्टेटमेंट

    स्टेटमेंट return [expression] एक फ़ंक्शन से बाहर निकलता है, वैकल्पिक रूप से कॉलर को एक एक्सप्रेशन वापस पास करता है। बिना आर्गुमेंट्स का return स्टेटमेंट return None के समान है। उदाहरण उपरोक्त सभी उदाहरण कोई मान नहीं लौटाते हैं। आप किसी फ़ंक्शन से मान को निम्नानुसार लौटा सकते हैं: #!/usr/bin/python