Построение трехмерных графиков функций в среде 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.

 




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