meshgrid

Описание

пример

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

пример

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

пример

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

пример

[X,Y,Z] = meshgrid(x) совпадает с [X,Y,Z] = meshgrid(x,x,x), возврат 3-D декартовых координат с размером сетки length(x)- length(x)- 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

Выполните выражение x2+y2 по 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);

Оцените и постройте функцию f(x,y)=xe-x2-y2 по 2D сетке.

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

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

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

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

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™.

Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.

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