logo

Python'da numpy.meshgrid()

Python'un numpy modülü şunları sağlar: ağ ızgarası() temsil eden verilen 1 boyutlu dizilerin yardımıyla dikdörtgen bir ızgara oluşturma işlevi Matris indeksleme veya Kartezyen indeksleme . MATLAB bir şekilde meshgrid() fonksiyonuna ilham veriyor. Meshgrid() işlevi, koordinat vektörlerinden koordinat matrislerini döndürür.

numpy.meshgrid()

Yukarıdaki şekilde x ekseni -5 ile 5 arasında, y ekseni ise -5 ile 5 arasında değişmektedir. Yani şekilde her biri x koordinatı ve koordinatı olan toplam 121 nokta işaretlenmiştir. y koordinatı. X eksenine paralel herhangi bir doğru için işaretlenen noktaların x koordinatları sırasıyla -5, -4, -3, -2, -1, 0, 1, 2, 3, 4 ve 5'tir. Öte yandan y eksenine paralel herhangi bir doğru için işaretlenen noktaların alttan üste y koordinatları -5, -4, -3, -2, -1, 0, 1, 2, 3'tür. sırasıyla , 4 ve 5.

Sözdizimi

 numpy.meshgrid(*xi, **kwargs) 

Parametreler

x1, x2,…, xn : dizi_benzeri

Bu parametre, bir ızgaranın koordinatlarını temsil eden 1 boyutlu diziyi tanımlar.

indeksleme: {'xy', 'ij'}(isteğe bağlı)

Bu, çıktının Kartezyen 'xy' (varsayılan olarak) veya matris ('ij') indekslemesini tanımlayan isteğe bağlı bir argümandır.

seyrek: bool (isteğe bağlı)

Bu parametre de isteğe bağlıdır. Belleği korumak için seyrek bir ızgaraya ihtiyacımız varsa, bu parametreyi True olarak ayarlamamız gerekir. Varsayılan olarak Yanlış olarak ayarlanmıştır.

kopya: bool(isteğe bağlı)

Bu isteğe bağlı bağımsız değişkenin amacı, belleği korumak için orijinal dizinin bir kopyasını döndürmesidir. Varsayılan olarak Yanlış olarak ayarlanmıştır.

livecricket.is

İkisi de olursa seyrek Ve kopyala parametreler False olarak ayarlandığında bitişik olmayan dizileri döndürür. Ayrıca bir yayın dizisinin birden fazla elemanı tek bir hafıza lokasyonuna işaret edebilir. Eğer dizilere yazmamız gerekiyorsa önce kopya çıkarmamız gerekir.

İadeler

X1, X2, ..., Xn

satır autocad komutu

Koordinat vektörünün koordinat uzunluğu bu fonksiyondan döndürülür.

Örnek 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 

Çıktı:

 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. ]]) 

Yukarıdaki kodda

  • Numpy'yi np takma adıyla içe aktardık.
  • Na ve nb olmak üzere iki değişken oluşturduk ve sırasıyla 5 ve 3 değerlerini atadık.
  • Linspace() fonksiyonunu kullanarak a ve b olmak üzere iki dizi oluşturduk.
  • Bundan sonra 'xa' ve 'xb' değişkenlerini bildirdik ve döndürülen değeri atadık. ağ ızgarası()
  • Fonksiyonda hem 'a' hem de 'b' dizilerini geçtik
  • Son olarak değerini yazdırmaya çalıştık. 'şah' Ve 'xb' .

Çıktıda, koordinat vektörlerinden koordinat uzunluğunu içeren iki dizi gösterilmiştir.

Örnek 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 

Çıktı:

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

Örnek 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() 

Çıktı:

numpy.meshgrid()

Yukarıdaki kodda

  • Numpy'yi np takma adıyla içe aktardık.
  • Matplotlib.pyplot'u plt olarak içe aktardık.
  • Np.arange() fonksiyonunu kullanarak a ve b olmak üzere iki dizi oluşturduk.
  • Bundan sonra 'xa' ve 'xb' değişkenlerini bildirdik ve döndürülen değeri atadık. ağ ızgarası()
  • Fonksiyonda hem 'a' hem de 'b' dizilerini geçtik.
  • Daha sonra z değişkenini tanımladık ve np.sine() fonksiyonunun dönüş değerini atadık.
  • Son olarak kontur çizgilerini ve dolgulu konturları kullanarak çizmeye çalıştık. plt.contourf()

Çıktıda kontur çizgileri çizilmiştir.

Örnek 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() 

Çıktı:

numpy.meshgrid()

Örnek 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() 

Çıktı:

numpy.meshgrid()