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

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

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

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

Добавлен: 15.03.2025

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

Скачиваний: 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.Создание графиков функций двух переменных без использования символьной математики.

Создание поверхностей – графиков функций z = f (x, y) – происходит в три этапа.

На первом этапе создается координатная сетка в плоскости Oxy в пределах области определения функции z = f (x, y) . На втором – вычисляются значения z в каждой точке сетки. На третьем – создается сам график.

1


2.1. Создание координатной сетки в декартовой системе координат плоскости

Oxy . Рассмотрим в плоскости Oxy прямоугольник [a,b] [c,d ] . Расчертим его линиями, параллельными оси Ox на равные по ширине полосы, а также линиями, параллельными оси Oy на равные по высоте полосы. В результате прямоугольник окажется разбит на маленькие равные прямоугольники. Совокупность пар координат вершин этих прямоугольников называют координатной сеткой.

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

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

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

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

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

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

сетки;

сетки;

первый и последний

первый и последний

элемент вектора u

элемент вектора v

совпадают с границами

совпадают с границами

отрезка [a,b]

отрезка [c, d ]

Выходные аргументы X,Y функции meshgrid задают координатную сетку как совокупность пару ( xij , yij ) , где xij - элемент массива X, а yij - элемент массива 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. Вычисление значений функции z = f (x, y) в каждой точке координатной сетки. Пусть на первом этапе созданы массивы X,Y и тем самым определены координаты всех точек сетки. Тогда значения z = f (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


2.3. Создание графика функции z = f (x, y) в виде сети и графика поверхности.

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

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

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

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

Линии сеточных графиков имеют цвета, которые изменяются в соответствии с величиной 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)

3

2.5

2

1.5

1

1

0.5

1

0

0.5

0

-0.5

-0.5

 

-1

-1

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

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

 

3

clear

2.5

 

u=-1:0.5:1;

 

v=-1:1;

2

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

 

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

1.5

surf(X,Y,Z)

 

 

1

 

1

0.5

1

0

0.5

0

-0.5

-0.5

 

-1

-1

3


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

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')

z

3

2.5

2

1.5

1

1

0.5

 

 

1

0

 

 

0.5

 

 

0

 

-0.5

 

 

 

-0.5

 

 

 

y

-1

-1

x

 

 

 

 

 

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

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

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

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

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

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

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

измерению в направлении Oz .

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

 

 

 

 

 

Упражнения

 

 

Упражнение 1

 

 

 

 

 

 

Постройте график

конической

винтовой линии,

заданной

уравнениями

x = aet cost ,

y = aet sin t ,

z = aet

для

a = 1

и 0 t с . Построение выполните при

различных значениях с .

 

 

 

 

 

 

Упражнение 2

 

 

 

 

 

 

Функция

в области

3 x 3 ,

3 y 3

задана

уравнением

 

 

 

 

 

 

 

 

z = 1, 71,2 x2 + y2

sin(0, 9x) cos(0, 6 y) .

 

 

 

 

 

 

 

 

 

 

 

 

 

4


(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

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

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

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

выполните для сеток с разным числом узлов.

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

Упражнение 4

Геометрия корпуса судна (корпуса Уигли) может быть смоделирована уравнениями

 

B

 

 

2x 2

 

2z 2

 

y =

 

1

 

 

1

 

 

 

, где x, y, z - длина, ширина и высота соответственно.

 

 

 

 

2

 

 

 

L

 

 

T

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Используя

значения

B = 1, 2 ,

L = 4 , T = 0,5 , 2 x 2 , 0, 25 z 0 , постройте

графическую модель судна. Постройте проекцию модели судна на координатные плоскости.

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

5