РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
18 of 541 menu

Функция meshgrid

Функция meshgrid создаёт координатную сетку из одномерных массивов, представляющих координаты по каждой оси. Она возвращает набор массивов, соответствующих каждой координатной оси, которые затем можно использовать для вычисления скалярных полей на всей сетке. Первым и вторым параметром передаются одномерные массивы координат по осям X и Y. Параметр indexing определяет порядок индексации: 'xy' (декартова, по умолчанию) или 'ij' (матричная). Параметр sparse позволяет создать разреженную сетку для экономии памяти.

Синтаксис

np.meshgrid(*xi, indexing='xy', sparse=False)

Пример

Давайте создадим сетку координат из двух одномерных массивов:

import numpy as np x = np.array([1, 2, 3]) y = np.array([4, 5]) X, Y = np.meshgrid(x, y) print("X:") print(X) print("Y:") print(Y)

Результат выполнения кода:

X: [[1 2 3] [1 2 3]] Y: [[4 4 4] [5 5 5]]

Пример

Выполним вычисление функции на всей сетке:

import numpy as np x = np.linspace(-2, 2, 5) y = np.linspace(-2, 2, 5) X, Y = np.meshgrid(x, y) Z = X**2 + Y**2 print(Z)

Результат выполнения кода:

[[8. 5. 4. 5. 8.] [5. 2. 1. 2. 5.] [4. 1. 0. 1. 4.] [5. 2. 1. 2. 5.] [8. 5. 4. 5. 8.]]

Пример

Используем параметр indexing='ij' для матричной индексации:

import numpy as np x = np.array([1, 2, 3]) y = np.array([4, 5]) X, Y = np.meshgrid(x, y, indexing='ij') print("X:") print(X) print("Y:") print(Y)

Результат выполнения кода:

X: [[1 1] [2 2] [3 3]] Y: [[4 5] [4 5] [4 5]]

Пример

Создадим трёхмерную сетку с помощью трёх массивов координат:

import numpy as np x = np.array([1, 2]) y = np.array([3, 4]) z = np.array([5, 6]) X, Y, Z = np.meshgrid(x, y, z, indexing='ij') print("X shape:", X.shape) print(X)

Результат выполнения кода:

X shape: (2, 2, 2) [[[1 1] [1 1]] [[2 2] [2 2]]]

Пример

Используем разреженную сетку для экономии памяти:

import numpy as np x = np.array([1, 2, 3, 4]) y = np.array([5, 6, 7]) X, Y = np.meshgrid(x, y, sparse=True) print("X (sparse):") print(X) print("Y (sparse):") print(Y)

Результат выполнения кода:

X (sparse): [[1 2 3 4]] Y (sparse): [[5] [6] [7]]

Смотрите также

  • функцию linspace,
    которая создаёт массив равномерно распределённых чисел
  • функцию arange,
    которая создаёт массив из диапазона чисел
  • функцию fromfunction,
    которая создаёт массив, вычисляя значения по индексам
  • функцию ones,
    которая создаёт массив, заполненный единицами
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить