meshgrid

Синтаксис

[X,Y] = meshgrid(x,y)
[X,Y] = meshgrid(x)
[X,Y,Z] = meshgrid(x,y,z)
[X,Y,Z] = meshgrid(x)

Описание

пример

[X,Y] = meshgrid(x,y) возвращает 2D декартовы координаты на основе координат, содержавшихся в векторах x и y. X является матрицей, где каждая строка является копией x, и Y является матрицей, где каждый столбец является копией y. Сетка, представленная координатами X и Y, имеет строки length(y) и столбцы length(x).

пример

[X,Y] = meshgrid(x) совпадает с [X,Y] = meshgrid(x,x), возвращая квадратные декартовы координаты с размером сетки length(x)-by-length(x).

пример

[X,Y,Z] = meshgrid(x,y,z) возвращает 3-D декартовы координаты, заданные векторами x, y и z. Сетка, представленная X, Y и Z, имеет размер length(y)-by-length(x)-by-length(z).

пример

[X,Y,Z] = meshgrid(x) совпадает с [X,Y,Z] = meshgrid(x,x,x), возвращая 3-D декартовы координаты с размером сетки length(x)-by-length(x)-by-length(x).

Примеры

свернуть все

Создайте 2D декартовы координаты с x-координатами, заданными векторным x и y-координатами, заданными векторным y.

x = 1:3;
y = 1:5;
[X,Y] = meshgrid(x,y)
X = 5×3

     1     2     3
     1     2     3
     1     2     3
     1     2     3
     1     2     3

Y = 5×3

     1     1     1
     2     2     2
     3     3     3
     4     4     4
     5     5     5

Оцените выражение по 2D сетке.

X.^2 + Y.^2
ans = 5×3

     2     5    10
     5     8    13
    10    13    18
    17    20    25
    26    29    34

Создайте 2D сетку с однородно расположенными с интервалами x-координатами и y-координатами в интервале [-2,2].

x = -2:0.25:2;
y = x;
[X,Y] = meshgrid(x);

Оцените и постройте график функции по 2D сетке.

F = X.*exp(-X.^2-Y.^2);
surf(X,Y,F)

Начиная в R2016b, не всегда необходимо создать сетку прежде, чем действовать по нему. Например, вычисление выражения неявно расширяет векторы x и y. Для получения дополнительной информации о неявном расширении смотрите Массив по сравнению Матричные операции.

surf(x,y,x.*exp(-x.^2-(y').^2))

Создайте 3-D декартовы координаты из x-, y-, и z-координаты, заданные в интервале [0,6], и оцените выражение.

x = 0:2:6;
y = 0:1:6;
z = 0:3:6;
[X,Y,Z] = meshgrid(x,y,z);
F = X.^2 + Y.^2 + Z.^2;

Определите размер сетки. Три координатных вектора имеют различные длины, формируя прямоугольник узлов решетки.

gridsize = size(F)
gridsize = 1×3

     7     4     3

Используйте синтаксис единственного входного параметра, чтобы сгенерировать однородно расположенную с интервалами 3-D сетку на основе координат, заданных в x. Новая сетка формирует куб узлов решетки.

[X,Y,Z] = meshgrid(x);
G = X.^2 + Y.^2 + Z.^2;
gridsize = size(G)
gridsize = 1×3

     4     4     4

Входные параметры

свернуть все

x-координаты точек, заданных как вектор.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

y-координаты точек, заданных как вектор.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

z-координаты точек, заданных как вектор.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

x-координаты по сетке, возвращенной как 2D (два входных параметра) или трехмерный массив (три входных параметра).

y-координаты по сетке, возвращенной как 2D (два входных параметра) или трехмерный массив (три входных параметра).

z-координаты по сетке, возвращенной как трехмерный массив.

Советы

  • Для получения дополнительной информации о создании многомерных сеток смотрите Представление Сетки.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Представлено до R2006a

Была ли эта тема полезной?