Построение трехмерных графиков функций в среде matlab

Система MATLAB обладает широкими возможностями построения трехмерных графиков. В данном разделе рассмотрим несколько функций, позволяющих создавать трехмерные графики всреде MATLAB.

Для создания трехмерного графика функции от двух переменных z=f(x, у) необходимо:

1) сгенерироватьдве матрицы X и Y с координатами узлов сетки на прямоугольной области определения функции, определяемой значениями переменных x и y;

2) необходимо вычислить значение функции z=f(X, Y) в узлах сетки и записать полученные значения в матрицу значений функции Z. После этого можно приступить к построению графика функции в трехмерной области графическими средствами среды MATLAB.

Для формирования матрицы, определяющей координаты прямоугольной сетки в среде MATLAB существует функция meshgrid со следующим синтаксисом:

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

где: x, y – векторы, задающие прямоугольную область определения функции z=f(x, у); X, Y –матрицы, содержащие координаты узлов сетки на прямоугольной области.

Функция meshgrid преобразует область векторов х и у в массивы X и Y, соответственно,при этом строки матрицы Х являются копиями вектора х, а столбцы матрицы Y – копиями вектора у. Матрицы Х и Y являются матрицами одинаковых размеров.

Для построения каркасна поверхности в трехмерном пространстве в среде MATLAB используется функция mesh, имеющая следующий синтаксис:

Mesh(X, Y, Z)

Цвет линий каркаса поверхности соответствует значениям функции z=f(x, у). Система MATLAB рисует только видимую часть каркаса поверхности. С помощью команды hiddenoff можно сделать каркас поверхности прозрачным, сделав видимой скрытую от наблюдателя часть изображения. Команда hiddenon убирает невидимую часть поверхности, возвращая графику прежний вид.

Используя функцию surf в среде MATLAB можно построить каркасную поверхность графика функции, заливая каждую клетку поверхности цветом, зависящим от значения функции z=f(x, у) в точках, соответствующих узлам координатной сетки. Функция имеет следующий синтаксис:

Surf(X, Y, Z)

По умолчанию в среде MATLAB при формировании каркасной поверхности с помощью функции surf цвет в пределах каждой клетки поверхности остается постоянным. Команда shadinginterp позволяет получить поверхность, плавно залитую цветовой палитрой. Команда shadingflat позволяет убрать каркасные линии с поверхности. При помощи команды shadingflat можно получить исходный вид каркасной поверхности.

Изменение цветового оформления каркасных поверхностей в среде MATLAB можно осуществить с помощью функции colormap:

Colormap(attribute)

где: attribute –параметр, определяющий цветовое оформление поверхности. Более подробно о различных значениях данного параметра можно узнать в справочной системе MATLAB (doccolormap).

В том случае, если координаты точек линии в трехмерном пространстве заданы с помощью массивов, а не функциональной зависимости, то в среде MATLAB удобнее использовать функцию plot3 для построенияданной поверхности. Функция plot3 имеет следующий синтаксис:

Plot3 (x, у, z)

где: x, y, z – векторы одинакового размера.

В данном случае функция plot3 обеспечивает построение линии в трехмерном пространстве, проходящей через точки с координатами x(i), y(i), z(i).

Входные аргументы функции plot3 может быть представлены в видематриц:

Plot3(X, Y, Z)

где: X, Y, Z –матрицы одинакового размера,

В данном случае функция plot3 обеспечивает построение линии в трехмерном пространстве, проходящей через точки с координатами X(i,:), Y(i,:), Z(i,:) для каждого столбца матриц X, Y, Z.

Функция plot3 может иметь входной параметр, определяющий стиль трехмерного графика, значения параметра стилей аналогичны значениям соответствующего параметра функции plot.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: