Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
180 Кб
Скачать
☆

Графики функций двух переменных

MATLAB предоставляет различные способы визуализации функций двух переменных — построение трехмерных графиков и линий уровня, параметри­чески заданных линий и поверхностей.

Трехмерные графики функций

Для отображения функции двух переменных следует:

  1. Сгенерировать матрицы с координатами узлов сетки на прямоугольной области определения функции.

  2. Вычислить функцию в узлах сетки и записать полученные значения матрицу.

  1. Использовать одну из графических функций MATLAB.

  2. Нанести на график дополнительную информацию, в частности, соответ­ствие цветов значениям функции.

Сетка генерируется при помощи команды 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.

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