Лабораторная 4
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «Информатика»
Лабораторная работа №4
«Построение двумерных и трехмерных графиков»
Выполнил: студент гр. БСТ21.
Вариант №13
Проверил: доц. Шакин В.Н.
Москва, 2021 г.
Лабораторная работа №4
«Построение двумерных и трехмерных графиков»
1 Общее задание
1) Изучите материал учебника (п.1.4).
2) Выберете вариант индивидуального задания из табл. 1.4-1.
3) Выполните команды clear и clc для очистки окна Определителя данных и Командного окна.
4) Опишите функцию f1(x).
5) Задайте диапазон изменения аргумента функцииf1(x) и вычислить ее значения.
6) Задайте диапазон изменения аргумента функцииf1(x) для построения графика.
7) Выполните функцию построения графиков plot для получения графикаf1(x).
8) Опишите функцию f2(x).
9) Разместите графики функций f1(x) и f2(x) в одном окне, для чего после построения графика первой функции выполнить команду mtlb_hold('on'). При построении графиков примените все возможности оформления линий, маркеров и окон, используя возможности графического редактора, измените толщину окон и величину шрифта.
10) Дополните графики необходимыми пояснениями: заголовок, имена осей, координатная сетка и легенда.
11) Задайте диапазоны изменения значений x и y для построения функции f3(x,y) и получите таблицы их значений.
12) Опишите функцию f3(x,y).
13) Получите таблицу значений функцииf3(x,y).
14) Получите графики функции f3(x, y) с использованием функций построения графиков mesh(), plot3, surf и controur.
15) Сохраните текст рабочего окна на внешнем носителе
16) Предоставьте результаты работы преподавателю, ответьте на поставленные вопросы.
17) Оформите отчет по выполненной работе.
Индивидуальное задание
1) В соответствие с п.п.3-9 общего задания выполните задание. Построить графики одномерных функций
2) Решение задания 1: построение графиков функций от одной переменной с использованием сценария и протокола:
// Сценарий Pr1_4_1.sce задания 1
//Определение функций f1 иf2
// и построение графиков двух одномерных функций
clear; //Очистка окна Обозревателя данных
clc; //Очистка Командного окна
// Диапазон изменения аргумента для функции f1(x)
x=-1.2:0.2:9;
// Вычисление вектора значений функции f1(x)
f1= tan(0.5.*x + 0.2)- x.^2;
scf(1);// Графическое окно 1
plot(x, f1);// График функции f1(x)
mtlb_hold('on');
//Описание функции f2(x)
function y=f2(x)
y= 3.*x - cos(x)-1;
endfunction
// Определение вектора значений аргумента для функции f2(x)
d=[0.3:0.2:6];
// Построение графика f2(x)и оформление линий и маркеров
plot(d,f2(d),'LineStyle','-','Color','brown',...
'Thickness',3,'Marker','o','MarkerEdgeColor','g',...
'MarkerFaceColor','k','MarkerSize',10);
// Оформление линий и маркеров и новое построение графика f1(x)
plot(x,f1,'LineStyle','--','Color','red',...
'Thickness',3,'Marker','s','MarkerEdgeColor','y',...
'MarkerFaceColor','r','MarkerSize',10);
// Оформление подписей графиков, осей и сетки
xtitle('Графики функций f1(x) и f2(x)','X','Y')
legend('Функция f1(x)','Функция f2(x)',1)
xgrid
//Конец сценарияPr1_4_1.sce==================================
-->//Сессия командного окна для выполнения задания 1:
-->// Практическое занятие 1.4 по теме
-->// «Визуализация результатов вычислений»
-->// Вариант 13, задание 1
-->// Выполнил: Студент группы БСТ21.
-->//Вызов сценария Pr1_4_1.sce
-->//и построение графиков функции одной переменной
-->exec('Pr1_4_1.sce');
Рисунок 1 – Результат работы сценария Pr1_4_1.sce
1) В соответствии с п.п.11-15 общего задания выполнить задание. Построить график функции
2) Решение задания 2: построение графиков различного вида для функции от двух переменных (протокол сессии).
-->//Сессия командного окна для выполнения задания 2:
-->// Практическое занятие 1.4 по теме
-->// «Визуализация результатов вычислений»
-->// Вариант 13, задание 2
-->// Выполнил: Студент группы БСТ21.
-->// Построение различных видов графиков функции двух переменных
-->
--> // zK = xK + yK.^3.*sin.^2(xK+yK) + 2.*yK - 9.*xK
--> // Формирование двух матрицы xK и yK
--> [xK, yK] = meshgrid(-2:2, -2:2)
xK =
-2. -1. 0. 1. 2.
-2. -1. 0. 1. 2.
-2. -1. 0. 1. 2.
-2. -1. 0. 1. 2.
-2. -1. 0. 1. 2.
yK =
-2. -2. -2. -2. -2.
-1. -1. -1. -1. -1.
0. 0. 0. 0. 0.
1. 1. 1. 1. 1.
2. 2. 2. 2. 2.
--> // Формирование матрицы zK
--> deff('d = f(x, y)', 'd = x + y.^3.*sin(x+y).^2 + 2.*y-9.*x');
--> zK = f(xK, yK)
zK =
7.4179999 3.8406811 -10.614574 -17.664587 -20.
13.980085 5.1731782 -2.7080734 -10. -18.708073
16. 8. 0. -8. -16.
18.708073 10. 2.7080734 -5.1731782 -13.980085
20. 17.664587 10.614574 -3.8406811 -7.4179999
-->
--> // Формирование векторов x2 и y2
--> x2 = -2:2; y2 = -2:2;
-->
--> // Построение двумерных графиков
--> scf(1); mesh(xK, yK, zK) //Сетчатый график (окно 1)
--> scf(2); plot3d(x2, y2, zK) //График точек, соединенных отрезками прямых (окно 2)
--> scf(3); surf(xK, yK, zK) //График сплошной поверхности (окно 3)
--> scf(4); contour(x2, y2, zK, 7) // График контурных линий (окно 4)
--> // Конец сессии ============================================
Рисунок 2 – Результат работы программы
Рисунок 3 – Результат работы программы
Рисунок 4 – Результат работы программы
Рисунок 5 – Результат работы программы