- •Задачи:
- •1 Теоретические основы работы
- •1.1 Построение диаграмм и гистограмм в среде matlab
- •1.2 Построение двумерных графиков функций в среде matlab
- •1.3 Построение трехмерных графиков функций в среде matlab
- •1.4 Построение графиков функций в среде matlab в полярной системе координат
- •2 Порядок выполнения работы
- •3 Содержание отчета
- •4 Контрольные вопросы
- •Библиографический список
- •Визуализация вычислений в среде компьютерных вычислений matlab
- •443086 Самара, Московское шоссе, 34
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.
