Прямоугольная сетка на пробеле N-D
[
реплицирует векторы сетки X1,X2,...,Xn
]
= ndgrid(x1,x2,...,xn
)x1,x2,...,xn
произвести n
- размерная полная сетка.
[
задает один вектор сетки X1,X2,...,Xn
]
= ndgrid(xg
)xg
использовать для всех размерностей. Количество выходных аргументов, которые вы задаете, определяет размерность n
из выхода.
Создайте 2D сетку из векторов [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
Оцените и постройте функцию
по области с координатной сеткой
и .
Создайте сетку значений для области.
[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);
Создайте 2D сетку и вычислите некоторые значения функции на сетку. Интерполируйте между присвоенными значениями, чтобы совершенствовать сетку.
Создайте крупную сетку для в области значений .
[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
— Векторы сетки (в качестве отдельных аргументов)Векторы сетки в виде векторов, содержащих декартовы координаты для каждой размерности. Векторы сетки неявно задают сетку. Например, в 2D:
Типы данных: 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
размерность th содержит копии вектора сетки xi
.
meshgrid
и ndgrid
' format ' 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)])
.
backgroundPool
или ускорьте код с Parallel Computing Toolbox™ ThreadPool
.Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Указания и ограничения по применению:
1D синтаксис, X = ndgrid(x)
, возвращает gpuArray
вектор-столбец X
это содержит элементы входа gpuArray
x
для использования в качестве одномерной сетки.
Входные параметры должны быть с плавающей точкой двойной или один.
Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Указания и ограничения по применению:
1D синтаксис, X = ndgrid(x)
, возвращает распределенный вектор-столбец массивов X
это содержит элементы распределенного массива входа x
для использования в качестве одномерной сетки.
Входные параметры должны быть с плавающей точкой двойной или один.
Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
meshgrid
| surf
| mesh
| griddedInterpolant
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.