Прямоугольная сетка в пространстве N-D
[ реплицирует векторы сетки X1,X2,...,Xn] = ndgrid(x1,x2,...,xn)x1,x2,...,xn для создания n-мерная полная сетка.
[ задает один вектор сетки X1,X2,...,Xn] = ndgrid(xg)xg используется для всех размеров. Количество указанных выходных аргументов определяет размерность n выходных данных.
Создание сетки 2-D из векторов [1 3 5 7 9 11 13 15 17 19] и [2 4 6 8 10 12].
[X,Y] = ndgrid(1:2:19,2:2:12)
X = 10×6
1 1 1 1 1 1
3 3 3 3 3 3
5 5 5 5 5 5
7 7 7 7 7 7
9 9 9 9 9 9
11 11 11 11 11 11
13 13 13 13 13 13
15 15 15 15 15 15
17 17 17 17 17 17
19 19 19 19 19 19
Y = 10×6
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
Вычислите и постройте график функции
поверх области с привязкой к сетке
< 2 < x2 < 2.
Создайте сетку значений для домена.
[X1,X2] = ndgrid(-2:.2:2);
Вычислите функцию над доменом.
Z = X1 .* exp(-X1.^2 - X2.^2);
Создайте сеточный график функции.
mesh(X1,X2,Z)

В R2016b и более поздних версиях эта задача не требует использования ndgrid. Вместо этого сетку можно построить с помощью неявного расширения с помощью следующих команд:
x = -2:.2:2;
Z1 = x.' .* exp(-(x.').^2 - x.^2);
Создайте сетку 2-D и рассчитайте некоторые значения функций на сетке. Интерполяция между назначенными значениями для уточнения сетки.
Создайте грубую сетку для ) в диапазоне ].
[X,Y] = ndgrid(-5:0.5:5);
Вычислите некоторые значения функции на сетке и постройте график функции.
f = sin(X.^2) * cos(Y.^2); surf(X,Y,f)

Выполните интерполяцию между точками с помощью более точной сетки и постройте график результата.
[X1,Y1] = ndgrid(-5:0.125:5);
F = interpn(X,Y,f,X1,Y1,'spline');surf(X1,Y1,F)

x1,x2,...,xn - Векторы сетки (как отдельные аргументы)Векторы сетки, указанные как векторы, содержащие координаты сетки для каждого размера. Векторы сетки неявно определяют сетку. Например, в 2-D:

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Поддержка комплексного номера: Да
xg - вектор сетки для всех размеров;Вектор сетки для всех размеров, заданный как вектор, содержащий координаты сетки. ndgrid использование xg в качестве вектора сетки для каждого размера.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Поддержка комплексного номера: Да
X1,X2,...,Xn - Полное представление сеткиПолное представление сетки, возвращаемое как отдельные массивы. Для каждого выходного массива Xi, iВ-м измерении содержатся копии вектора сетки xi.
meshgrid и ndgrid Форматыmeshgrid и ndgrid создание сеток с использованием различных форматов вывода. В частности, первые два размера сетки, созданной с использованием одной из этих функций, заменяются по сравнению с другим форматом сетки. Некоторые функции MATLAB ® используют сетки вmeshgrid формат, в то время как другие используют ndgrid формат, поэтому обычно выполняется преобразование сеток между двумя форматами.
Между этими форматами сетки можно преобразовать с помощью pagetranspose (по состоянию на R2020b год) или permute для замены первых двух размеров массивов сетки. Например, создайте сетку 3-D с помощью meshgrid.
[X,Y,Z] = meshgrid(1:4,1:3,1:2);
Теперь перенесите первые два размера каждого массива сетки, чтобы преобразовать сетку в ndgrid формат и сравнение результатов с результатами из ndgrid.
Xt = pagetranspose(X); Yt = pagetranspose(Y); Zt = pagetranspose(Z); [Xn,Yn,Zn] = ndgrid(1:4,1:3,1:2); isequal(Xt,Xn) & isequal(Yt,Yn) & isequal(Zt,Zn)
ans = logical 1
Используя pagetranspose эквивалентно перестановке первых двух измерений, оставляя другие измерения одинаковыми. Эту операцию также можно выполнить с помощью permute(X,[2 1 3:ndims(X)]).
Примечания и ограничения по использованию:
Синтаксис 1-D, X = ndgrid(x), возвращает gpuArray вектор столбца X который содержит элементы ввода gpuArray
x для использования в качестве одномерной сетки.
Входные данные должны быть двойными или одиночными с плавающей запятой.
Дополнительные сведения см. в разделе Запуск функций MATLAB на графическом процессоре (панель инструментов параллельных вычислений).
Примечания и ограничения по использованию:
Синтаксис 1-D, X = ndgrid(x), возвращает вектор столбца распределенного массива X который содержит элементы входного распределенного массива x для использования в качестве одномерной сетки.
Входные данные должны быть двойными или одиночными с плавающей запятой.
Дополнительные сведения см. в разделе Запуск функций MATLAB с распределенными массивами (панель инструментов параллельных вычислений).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.