Трехмерные поверхности обычно описываются функцией двух переменных z(x, у). Специфика построения трехмерных графиков требует не просто задания ряда значений х и у, то есть векторов х и у. Она требует определения для X и Y двумерных массивов — матриц. Для создания таких массивов служит функция meshgrid. В основном она используется совместно с функциями построения графиков трехмерных поверхностей. Функция meshgrid записывается в следующих формах:
[X, Y, Z] = meshgrid(x, y, z) — возвращает трехмерные массивы, используемые для вычисления функций трех переменных и построения трехмерных графиков;
[X, Y] = meshgrid(x, y) — преобразует область, заданную векторами х и у, в массивы X и Y, которые могут быть использованы для вычисления функции двух переменных и построения трехмерных графиков. Строки выходного массива X являются копиями вектора х; а столбцы Y — копиями вектора у.
Пример:
» [X, Y] = meshgnd(l:4,13:17)
X =
Y=
Приведем еще один пример применения функции meshgrid:
» [X, Y] = meshgrid(-2:.2:2, -2:.2:2);
Такой вызов функции позволяет задать опорную плоскость для построения трехмерной поверхности при изменении аргумента от -2 до 2 с шагом 0.2. Дополнительные примеры применения функции meshgrid будут приведены далее при описании соответствующих команд. Рекомендуется ознакомиться с также командами surf и slice (ломтик).
Функция ndgrid является многомерным аналогом функции meshgrid:
[Х1, .Х2, ХЗ,...] = ndgrid(xl, x2 ,x3, ...) — преобразует область, заданную векторами xl, x2, x3..., в массивы Х1, Х2, ХЗ, ..., которые могут быть использованы для вычисления функций нескольких переменных и многомерной интерполяции, i-я размерность выходного массива xi является копией вектора xi;
[XI, Х2, ...] = ndgrid(x) - аналогична [XI, Х2, ...] = ndgrid(x, x, ...). Пример применения функции ndgrid представлен ниже: