logo

numpy.meshgrid() ב-Python

מודול numpy של Python מספק meshgrid() פונקציה ליצירת רשת מלבנית בעזרת מערכים 1-D נתונים המייצגים את אינדקס מטריקס אוֹ אינדקס קרטזיאני . MATLAB מעורר במידת מה את הפונקציה meshgrid() . מקואורדינטות וקטורים, הפונקציה meshgrid() מחזירה את מטריצות הקואורדינטות.

numpy.meshgrid()

באיור שלמעלה, ציר ה-x נע בין -5 ל-5, וציר ה-y נע בין -5 ל-5. לכן, יש סה'כ 121 נקודות מסומנות באיור, כל אחת עם קואורדינטת x ו- קואורדינטת y. עבור כל קו מקביל לציר ה-x, קואורדינטות ה-x של הנקודות המסומנות הן -5, -4, -3, -2, -1, 0, 1, 2, 3, 4 ו-5 בהתאמה. מצד שני, עבור כל קו מקביל לציר y, קואורדינטות ה-y של הנקודות המסומנות מלמטה למעלה הן -5, -4, -3, -2, -1, 0, 1, 2, 3 , 4 ו-5 בהתאמה.

תחביר

 numpy.meshgrid(*xi, **kwargs) 

פרמטרים

x1, x2,..., xn : array_like

פרמטר זה מגדיר את המערך החד-ממדי, המייצג את הקואורדינטות של רשת.

אגוז אדמה מול בוטנים

אינדקס: {'xy', 'ij'}(אופציונלי)

זהו ארגומנט אופציונלי המגדיר את האינדקס הקארטזיאני של 'xy' (כברירת מחדל) או מטריצה ​​('ij') של הפלט.

דגם tcp ו-ip

דלילה: bool (אופציונלי)

פרמטר זה הוא גם אופציונלי. אם אנחנו צריכים רשת דלילה לשימור זיכרון, עלינו להגדיר את הפרמטר הזה ל-True. כברירת מחדל, הוא מוגדר כ- False.

העתקה: bool (אופציונלי)

מטרת הטיעון האופציונלי הזה היא שהוא מחזיר עותק של המערך המקורי לשימור זיכרון. כברירת מחדל, הוא מוגדר כ- False.

אם שניהם דליל ו עותק הפרמטרים מוגדרים ל-False, ואז זה יחזיר מערכים לא רציפים. בנוסף, יותר מאלמנט אחד של מערך שידור יכול להתייחס למיקום זיכרון בודד. אם אנחנו צריכים לכתוב לתוך המערכים, אז אנחנו צריכים לעשות עותקים תחילה.

ג'אווה ציבורית מול פרטית

החזרות

X1, X2, ..., Xn

אורך הקואורדינטות מווקטור הקואורדינטות מוחזר מפונקציה זו.

דוגמה 1:

 import numpy as np na, nb = (5, 3) a = np.linspace(1, 2, na) b = np.linspace(1, 2, nb) xa, xb = np.meshgrid(a, b) xa xb 

תְפוּקָה:

 array([[1. , 1.25, 1.5 , 1.75, 2. ], [1. , 1.25, 1.5 , 1.75, 2. ], [1. , 1.25, 1.5 , 1.75, 2. ]]) array([[1. , 1. , 1. , 1. , 1. ], [1.5, 1.5, 1.5, 1.5, 1.5], [2. , 2. , 2. , 2. , 2. ]]) 

בקוד למעלה

  • ייבאנו numpy עם שם הכינוי np.
  • יצרנו שני משתנים, כלומר, na ו-nb, והקצינו את הערכים 5 ו-3, בהתאמה.
  • יצרנו שני מערכים, כלומר, a ו-b באמצעות פונקציית linspace() .
  • לאחר מכן, הכרזנו על המשתנים 'xa' ו-'xb' והקצינו את הערך המוחזר של meshgrid()
  • עברנו את שני המערכים 'a' ו-'b' בפונקציה
  • לבסוף, ניסינו להדפיס את הערך של 'שַׁח' ו 'xb' .

בפלט, הוצגו שני מערכים המכילים את אורך הקואורדינטות מקואורדינטות וקטורים.

פקודות kali linux

דוגמה 2:

 import numpy as np na, nb = (5, 3) a = np.linspace(1, 2, na) b = np.linspace(1, 2, nb) xa, xb = np.meshgrid(a, b, sparse=True) xa xb 

תְפוּקָה:

 array([[1. , 1.25, 1.5 , 1.75, 2. ]]) array([[1. ], [1.5], [2. ]]) 

דוגמה 3:

 import numpy as np import matplotlib.pyplot as plt a = np.arange(-10, 10, 0.1) b = np.arange(-10, 10, 0.1) xa, xb = np.meshgrid(a, b, sparse=True) z = np.sin(xa**2 + xb**2) / (xa**2 + xb**2) h = plt.contourf(a,b,z) plt.show() 

תְפוּקָה:

numpy.meshgrid()

בקוד למעלה

  • ייבאנו numpy עם שם הכינוי np.
  • ייבאנו matplotlib.pyplot בתור plt.
  • יצרנו שני מערכים, כלומר, a ו-b באמצעות הפונקציה np.arange().
  • לאחר מכן, הכרזנו על המשתנים 'xa' ו-'xb' והקצינו את הערך המוחזר של meshgrid()
  • עברנו את שני המערכים 'a' ו-'b' בפונקציה.
  • לאחר מכן, הכרזנו על משתנה z והקצינו את ערך ההחזרה של הפונקציה np.sine() .
  • לבסוף, ניסינו לצייר קווי מתאר ולמלא קווי מתאר באמצעות שימוש ה- plt.contourf()

בפלט שורטטו קווי מתאר.

דוגמה 4:

 import numpy as np import matplotlib.pyplot as plt a = np.linspace(-5, 5, 5) b = np.linspace(-5, 5, 11) random_data = np.random.random((11, 5)) xa, xb = np.meshgrid(a, b) plt.contourf(xa, xb, random_data, cmap = 'jet') plt.colorbar() plt.show() 

תְפוּקָה:

numpy.meshgrid()

דוגמה 5:

 import numpy as np import matplotlib.pyplot as plt a = np.linspace(-5, 5, 5) b = np.linspace(-5, 5, 11) random_data = np.random.random((11, 5)) xa, xb = np.meshgrid(a, b) sine = (np.sin(xa**2 + xb**2))/(xa**2 + xb**2) plt.contourf(xa, xb, sine, cmap = 'jet') plt.colorbar() plt.show() 

תְפוּקָה:

numpy.meshgrid()