Файл: КПрМА Практикум 5.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 15.03.2025

Просмотров: 59

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Практикум 5. Построение трехмерных графиков

Цель работынаучиться строить трехмерные графики.

Продолжительность работы - 2 часа.

Оборудование – работа выполняется в компьютерном классе с использованием пакета MATLAB.

Порядок выполнения

  1. Знакомство со справочным материалом по математике

  2. Знакомство со справочным материалом по пакету MATLAB.

  3. Изучение примеров.

  4. Самостоятельное выполнение упражнений. При выполнении упражнений в случае сообщения системы об ошибке рекомендуется найти и исправить ошибку самостоятельно; однако, если после многократных попыток сделать это не удается, то можно и нужно проконсультироваться с преподавателем.

P.S. Отчитываться перед преподавателем о выполнении упражнений не нужно. Однако, следует учесть, что их выполнение – залог успешного написания контрольной работы по модулю, поскольку контрольная работа составлена из аналогов упражнений.

Справочный материал по пакету MATLAB

1. Графики линий. Для построения линии в трехмерном пространстве используется команда plot3, которая очень похожа на команду plot и имеет формат Эта команда использует для численного интегрирования алгоритм, основанный на методе Симпсона. Команда имеет следующий формат:

plot3 (x,y,z, ‘line specifiers’,‘PropertyName’,property value)

x,y,z – векторы координат точек

Дополнительные:

Спецификаторы, которые определяют тип и цвет линии и маркеров

Дополнительные:

свойства и значения свойств, которые могут использоваться для определения ширины линии и размера маркера, его края и цвета заливки

Важное о функции plot3:

  1. x,y,z должны иметь одинаковую размерность;

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


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

Создание поверхностей – графиков функций – происходит в три этапа. На первом этапе создается координатная сетка в плоскости в пределах области определения функции . На втором – вычисляются значения в каждой точке сетки. На третьем – создается сам график.

2.1. Создание координатной сетки в декартовой системе координат плоскости . Рассмотрим в плоскости прямоугольник . Расчертим его линиями, параллельными оси на равные по ширине полосы, а также линиями, параллельными оси на равные по высоте полосы. В результате прямоугольник окажется разбит на маленькие равные прямоугольники. Совокупность пар координат вершин этих прямоугольников называют координатной сеткой.

Координатная сетка создается командой meshgrid. Ее формат:

[X,Y] = meshgrid (u, v)

X – матрица, каждая строка которой есть вектор u

Y – матрица, каждый столбец которой есть вектор v

- вектор абсцисс точек сетки;

первый и последний элемент вектора u совпадают с границами отрезка

- вектор ординат точек сетки;

первый и последний элемент вектора v совпадают с границами отрезка

Выходные аргументы X,Y функции meshgrid задают координатную сетку как совокупность пару , где - элемент массива X, а - элемент массива Y (i - номер строки и j – номер столбца).

u=-1:0.5:1;

v=-1:1;

[X,Y]=meshgrid(u,v)

X =

-1.0000 -0.5000 0 0.5000 1.0000

-1.0000 -0.5000 0 0.5000 1.0000

-1.0000 -0.5000 0 0.5000 1.0000

Y =

-1 -1 -1 -1 -1

0 0 0 0 0

1 1 1 1 1

Замечание. Сетка не обязательно должна быть регулярной.

2.2. Вычисление значений функции в каждой точке координатной сетки. Пусть на первом этапе созданы массивы X,Y и тем самым определены координаты всех точек сетки. Тогда значения в каждой точке можно вычислить воспользовавшись инструментом поэлементных вычислений (аналогично тому, как вычисляются значения функции одной переменной, когда значения ее аргумента заданы вектором).


clear

u=-1:0.5:1;

v=-1:1;

[X,Y]=meshgrid(u,v);

Z=X.^2+Y.^2+1

Z =

3.0000 2.2500 2.0000 2.2500 3.0000

2.0000 1.2500 1.0000 1.2500 2.0000

3.0000 2.2500 2.0000 2.2500 3.0000

2.3. Создание графика функции в виде сети и графика поверхности. График в виде сети (сеточный график) создается командой mesh. График в виде поверхности создается командой surf. Они имеют сходные форматы:

mesh(X,Y,Z) и surf(X,Y,Z)

Здесь X,Y – матрицы с координатами решетки, а Z – матрица со значениями в узлах решетки.

График в виде сети складывается из линий, которые соединят точки. В графике поверхности внутренние области ячеек окрашены.

Линии сеточных графиков имеют цвета, которые изменяются в соответствии с величиной .

clear

u=-1:0.5:1;

v=-1:1;

[X,Y]=meshgrid(u,v);

Z=X.^2+Y.^2+1;

mesh(X,Y,Z)

Замечание. MatLab рисует только видимую часть поверхности. С помощью команды hidden of можно сделать сеточный график «прозрачным», добавив скрытую часть. Команда hidden on возвращает сеточному графику прежний вид.

Построим график другого вида.

clear

u=-1:0.5:1;

v=-1:1;

[X,Y]=meshgrid(u,v);

Z=X.^2+Y.^2+1;

surf(X,Y,Z)

Уменьшим шаг сетки по обоим осям подпишем оси.

clear

u=-1:0.05:1;

v=-1:0.05:1;

[X,Y]=meshgrid(u,v);

Z=X.^2+Y.^2+1;

surf(X,Y,Z)

xlabel('x')

ylabel('y')

zlabel('z')

Есть несколько дополнительных команд графического изображения, которые подобны командам mesh и surf. Они создают графики с различными особенностями:

meshz(X,Y,Z) - изображает «штору» вокруг сети;

surfl(X,Y,Z) - изображает график поверхности с подсветкой.

3. Команда view. Эта команда управляет направлением, с которого просматривается график. Управление осуществляется указанием азимута и угла возвышения. Формат команды:

view(az,el) и view ([az,el])

Важное о функции view:

(1) az – это азимут, который является углом (в градусах) в плоскости , измеряемых от отрицательного направления оси против хода часовой стрелки;


(2) el – это угол возвышения (в градусах) от плоскости , который является углом (в градусах) в плоскости (положительное значение соответствует измерению в направлении .

(3) По умолчанию az равен , el равен .

Упражнения

Упражнение 1

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

Упражнение 2

Функция в области , задана уравнением .

(1) Создайте график функции, используя функцию mesh(X,Y,Z). Задание выполните для сеток с разным числом узлов. Дополнительно используйте команду hidden of, чтобы сделать график «прозрачным».

(2) Создайте график функции, используя функцию surf(X,Y,Z). Задание выполните для сеток с разным числом узлов.

(3) Создайте график функции, используя функцию meshz(X,Y,Z) .

(4) Создайте график функции, используя функцию surfl(X,Y,Z) .

(5) Используя функцию view, рассмотрите графики функции с разных направлений. Взяв в качестве направлений оси координат, постройте проекции 3D графика на координатные плоскости.

Упражнение 3

Для функции, заданной уравнением выполните следующие задания:

(1) Найдите область определения.

(2) Создайте график функции, используя функцию mesh(X,Y,Z). Задание выполните для сеток с разным числом узлов.

(3) Создайте график функции, используя функцию surf(X,Y,Z). Задание выполните для сеток с разным числом узлов.

Упражнение 4

Геометрия корпуса судна (корпуса Уигли) может быть смоделирована уравнениями , где - длина, ширина и высота соответственно. Используя значения , , , , , постройте графическую модель судна. Постройте проекцию модели судна на координатные плоскости.

P.S. Задача взята из [4].

Упражнение 5

Елочная игрушка сделана в форме конуса, вершина которого обращена к земле, а обращенное вверх основание накрыто «крышечкой» в форме полусферы. Постройте 3D изображение этой елочной игрушки, если ее общая высота равна 10 см, а радиус полусферы - 3 см.

Список литературы и информационных ресурсов

  1. Сборник задач по математике для втузов [Текст]: Учеб. пособие для втузов: В 4-х ч. Ч. 2: [Введение в анализ; Дифференциальное и интегральное исчисление функций одной переменной; Дифференциальное исчисление функций нескольких переменных; Кратные интегралы; Дифференциальные уравнения] / Под ред. А.В. Ефимова, А.С. Поспелова. - 5-е изд., перераб. и доп. - М.: Физматлит, 2009.

  2. В.Г.Потемкин "Введение в Matlab" (v 5.3) http://matlab.exponenta.ru

  3. Мещеряков В.В. Задачи по математике с MATLAB&SIMULINK – М.: ДИАЛОГ-МИФИ, 2007

  4. Амос Гилат. MATLAB. Теория и практика. 5-е изд./ Пер. с англ. Смоленцев Н.К. – М.:ДМК Пресс, 2016.

  5. http://matlab.exponenta.ru


6