- •Утверждено на заседании кафедры электротехники, информатики и компьютерных технологий 30.10.03.
- •Гистограммы векторных данных
- •Представление матричных данных
- •Графики функций
- •Графики в линейном масштабе
- •Графики в логарифмических масштабах
- •Изменение свойств линий
- •Оформление графиков
- •Графики параметрических и кусочно-заданных функций
- •Графики функций двух переменных
- •Трехмерные графики функций
- •Контурные графики
- •Оформление графика
- •Построение параметрически заданных поверхностей и линий
- •Работа с несколькими графиками
- •Вывод графиков в отдельные окна
- •Вывод нескольких графиков на одни оси
- •Несколько графиков в одном графическом окне
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Библиографический список
- •Свойства линии
- •Цветовые палитры
Графики функций двух переменных
MATLAB предоставляет различные способы визуализации функций двух переменных — построение трехмерных графиков и линий уровня, параметрически заданных линий и поверхностей.
Трехмерные графики функций
Для отображения функции двух переменных следует:
Сгенерировать матрицы с координатами узлов сетки на прямоугольной области определения функции.
Вычислить функцию в узлах сетки и записать полученные значения матрицу.
Использовать одну из графических функций MATLAB.
Нанести на график дополнительную информацию, в частности, соответствие цветов значениям функции.
Сетка генерируется при помощи команды meshgrid, вызываемой с двумя аргументами, значение которой присваивается массиву [x,y]. Аргументами являются векторы, элементы которых соответствуют сетке на прямоугольной области построения функции. Можно использовать один аргумент, если область построения функции — квадрат. Для вычисления функции следует использовать поэлементные операции.
Для построения каркасной поверхности, используется функция mesh, вызываемая с тремя аргументами: абсциссой, ординатой и значением функции.
!!
Постройте график
z(x,y)=4∙sin2πx∙cos1.5πx∙(1-x2)∙y∙(1-y)
на
прямоугольной области определения
x
[-1,1],
y
[0,1].
Цвет линий поверхности соответствует значениям функции. MATLAB рисует только видимую часть поверхности. При помощи команды hidden off можно сделать каркасную поверхность "прозрачной", добавив скрытую часть. Команда hidden on убирает невидимую часть поверхности, возвращая графику прежний вид.
Функция surf, вызываемая с тремя аргументами: абсциссой, ординатой и значением функции, строит каркасную поверхность графика функции и заливает каждую клетку поверхности определенным цветом, зависящим от значения функции в точках, соответствующих узлам клетки.
В пределах каждой клетки цвет постоянный. Команда shading faceted позволяет убрать каркасные линии. Для получения поверхности, плавно залитой цветом, зависящим от значений функции, предназначена команда shading interp. При помощи shading faceted можно вернуться к виду каркасной поверхности.
Трехмерные графики, рассмотренные выше, удобны для получения представления о форме поверхности, однако по ним трудно судить значениях функции. В MATLAB определена команда colorbar(без аргументов), которая выводит рядом с графиком столбик, устанавливающий соответствие между цветом и значением функции.
!! Постройте при помощи surf график поверхности и дополните его информацией о цвете.
Окно вывода графика несколько уменьшается из-за того, что рядом размещается столбик с цветовой гаммой. Команду colorbar можно применять в сочетании со всеми функциями, строящими трехмерные объекты.
Пользуясь графиком, построенным ранее, трудно сделать вывод о значении функции в той или иной точке плоскости ху. Команды meshc или surfc позволяют получить более точное представление о поведении функции. Эти команды строят каркасную поверхность или залитую цветом каркасную поверхность и размешают на плоскости ху линии уровня функции (линии постоянства значений функции)
!! Проверьте действие команды meshc и surfc для построенного графика.
MATLAB позволяет построить поверхность, состоящую из линий уровня, помощи функции contour3. Эту функцию можно использовать так же, и описанные выше mesh, surf, meshc и surfc с тремя аргументами, при этом число линий уровня выбирается автоматически. Имеется возможное задать четвертым аргументом в contour3 либо число линий уровня, либо вектор, элементы которого равны значениям функции, отображаемым в виде линий уровня. Задание вектора удобно, когда требуется исследовать ведение функции в некоторой области ее значений (срез функции).
!! Постройте, например поверхность, состоящую из линий уровня, соответствующих значениям функции от 0 до 0.5 с шагом 0.01.
Часто более содержательную информацию о числовых значениях дают плохие контурные графики, содержащие линии уровня исследуемой функции.
