Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Практикум 2.6. Графическое представление функций нескольких переменных
Цель работы научиться строить, используя средства пакета MatLab, графики функций двух переменных и линии уровня функции нескольких переменных.
Продолжительность работы - 2 часа.
Оборудование, приборы, инструментарий работа выполняется в компьютерном классе с использованием пакета MatLab.
Порядок выполнения
Краткие теоретические сведения
и практические упражнения
Упражнение 1. Создать М-функции, строящие графики функций на промежутке ( при ) и показывающую вертикальной штриховкой область, заключенную между графиками. Входные аргументы функции, границы отрезка и количество отрезков, на которые разбивается отрезок:
а) верхняя и нижняя границы сплошные, б) обе границы пунктирные;
в), г) одна граница сплошная, другая пунктирная.
Упражнение 2. Используя М-функции из упр. 1, построить области определения функции .
Для отображения функции двух переменных следует:
Сетка генерируется с помощью команды meshgrid, вызываемой с двумя аргументами. Аргументами являются векторы, элементы которых соответствуют сетке на прямоугольной области построения функции. Можно использовать один аргумент, если область построения функции квадрат.
Пример 1. Сгенерируем сетку на области и значения в узлах для функции
>>[X, Y]=meshgrid(-1:0.05:1, 0:0.05:1);
>>Z=4*sin(2*pi*X).*cos(1.5*pi*Y).*(1-X.^2).*Y.*(1-Y);
Для построения каркасной поверхности используется функции mesh, вызываемая с тремя аргументами:
>> mesh(X,Y,Z)
Цвет линий поверхности соответствует значениям функции. MatLab рисует только видимую часть поверхности. С помощью команды hidden off можно сделать каркасную поверхность «прозрачной», добавив скрытую часть. Команда hidden on убирает невидимую часть, возвращая графику прежний вид.
Функция surf строит каркасную поверхность графика функции и заливает каждую клетку поверхности определённым цветом, зависящим от значения функции в точках, соответствующим углам сетки, в пределах каждой клетки цвета постоянны:
>> surf(X,Y,Z)
Команда shading flat позволяет убрать каркасные линии:
Для получения поверхности, плавно залитой цветом, предназначена команда shading interp. При помощи команды shading faceted можно вернуться к изображению каркасной поверхности, залитой цветом.
В MatLab определена команда colorbar, которая выводит рядом с графиком функции столбик, устанавливающий соответствие между цветом и значением функции:
>> surf(X,Y,Z)
>> colorbar
Команду colorbar можно применять в сочетании со всеми функциями, строящими трёхмерные объекты.
Упражнение 3. Построить каркасную поверхность, залитую цветом, с указанием соответствия цветов значениям для функции .
3. Линии уровня. Пользуясь уже рассмотренными графиками, трудно сделать вывод о значении функции в той или иной точке плоскости Команды meshc и surfc позволяют получить более точное представление о поведении функции. Эти команды строят каркасную поверхность или залитую цветом каркасную поверхность и размещают на плоскости линии уровня функции (линии постоянства значений функции):
>> surfc(X,Y,Z)
MatLab позволяет построить поверхность, состоящую из линий уровня при помощи функции countour3. Эту функции. Можно использовать с тремя аргументами countour3(X,Y,Z). При этом число линий уровня выбирается автоматически. Имеется возможность задать четвёртым аргументом в countour3 либо число линий уровня либо вектор, элементы которого равны значениям функции, отображаемым в виде линий уровня:
>> levels=[0:0.01:0.5]
>>contour3(X,Y,Z,levels)
Упражнение 4. Для функции из упражнения 3 построить линии уровня и поверхности, состоящие из линий уровня.
4. Контурная графика. Более содержательную информацию о числовых значениях функции дают плоские контурные графики, содержащие линии уровня исследуемых функций. Использование countour с тремя аргументами приводит к графику, на котором показываются линии уровня на плоскости:
>> contour(X,Y,Z)
Каждую линию уровня функции можно снабдить значением, которое принимает на ней исследуемая функция, при помощи функции clabel. Функция contour, вызываемая с двумя выходными параметрами, не только строит линии уровня, но и автоматически находит требуемые для clabel параметры. В массиве CMatr содержится информация о линиях уровня, а в массиве h указатели. Желательно завершить вызов CMatr точкой с запятой для подавления вывода на экран значений выходных параметров.
>> [CMatr,h]=contour(X,Y,Z);
>> clabel(CMatr,h)
>> grid on
Дополнительным аргументом функции contour может быть или число линий уровня или вектор, содержащий значения функции, для которых требуется построить линии уровня.
Упражнение 5. Для функции из упр. 3 построить плоские линии уровня без нанесения и с нанесением значений функции с шагом 0.1. Нанести сетку.
Наглядную информацию об изменении функции даёт заливка прямоугольника на плоскости цветом, зависящим от значений функции в точках плоскости. Для построения таких графиков предназначена функция contourf, использование которой не отличается от использования contour :
>> contourf(X,Y,Z,20)
>> colorbar
Упражнение 6. Для функции из упр. 3 построить плоские линии уровня для 10 значений функции с заливкой промежутков между линиями уровня и шкалой соответствия цветов значениям функции.
Изменение положения наблюдателя относительно графика осуществляет функция view, аргументами которой являются азимут (Az) и угол возвышения (El) , отсчитываемый в градусах. По умолчанию Az=-37,5, El=30.
Упражнение 7. Для функции из упр. 3 построить в одном графическом окне каркасную поверхность с заливкой клеток с обзорами вдоль каждой из осей азимутом по умолчанию и углом возвышения 60.
MatLab позволяет строить трёхмерные линии, определяемые формулами
и поверхности, задаваемые зависимостями
Для построения линий используется функция plot3. Сначала следует сформировать вектор а затем вычислить и записать в векторы соответствующие значения функции:
>> x=cos(t);
y=sin(t);
z=t;
plot3(x,y,z)
grid on
Также имеется возможность изменять тип и цвет линии, вводя дополнительный аргумент свойства линии.
Упражнение 8. Построить пунктирную линию красного цвета, задаваемую уравнениями
Параметрически заданную поверхность можно построить при помощи любой из функций, предназначенных для отображения трёхмерных графиков. Важно только правильно подготовить аргументы.
Пример 2. Отобразить поверхность
>> u=[-2*pi:0.1:2*pi]';
>>v=[-2*pi:0.1:2*pi];% генерируем вектор-столбец u и вектор строку v
>> X=u*cos(v);
>> Y=u*sin(v);% формируем матрицы X и Y, содержащие значения функции в точках при помощи внешнего произведения векторов (без точки!)
>>Z=u*ones(size(v)); % переменная не зависит от v, поэтому умножаем на вектор-строку той же размерности, что и v, состоящую из единиц.
>> surf(X,Y,Z)
>> colorbar
>> xlabel('\itx=\itu cos\itv');
>> ylabel('\itx=\itu sin\itv');
>> zlabel('\itz=\itu ')
Упражнение 9. Построить прозрачную каркасную поверхность
Задания для самостоятельной работы
Выполнить упражнения из раздела «Краткие теоретические сведения и практические упражнения», которые не успели сделать в аудитории.
Самостоятельно выполнить упражнения:
Упражнение 1С. Используя М-функции из упр. 1, построить области определения следующих функций:
а)
б)
Упражнение 2С. Построить каркасную поверхность, залитую цветом, с указанием соответствия цветов значениям для следующих функций:
а)
б) (шаг выбрать с учётом области определения).
Упражнение 3С. Для функций из упр. 2С построить линии уровня и поверхности, состоящие из линий уровня.
Упражнение 4С. Для функций из упр. 2С построить плоские линии уровня без нанесения и с нанесением значений функции с шагом 0.1. Нанести сетку.
Упражнение 5С. Для функций из упр. 2С построить плоские линии уровня для 10 значений функции с заливкой промежутков между линиями уровня и шкалой соответствия цветов значениям функции.
Упражнение 6С. Для функций из упр. 2С построить в одном графическом окне каркасную поверхность с заливкой клеток с обзорами вдоль каждой из осей азимутом по умолчанию и углом возвышения 60.
Ответить на контрольные вопросы:
Список рекомендуемой литературы
PAGE 2