Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №3.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
113.76 Кб
Скачать

1.3 Построение трехмерных графиков функций в среде 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 рисует только видимую часть каркаса поверхности. С помощью команды hidden off можно сделать каркас поверхности прозрачным, сделав видимой скрытую от наблюдателя часть изображения. Команда hidden on убирает невидимую часть поверхности, возвращая графику прежний вид.

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

surf(X, Y, Z)

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

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

colormap(attribute)

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

В том случае, если координаты точек линии в трехмерном пространстве заданы с помощью массивов, а не функциональной зависимости, то в среде 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.