Липецкий государственный технический университет Факультет автоматизации и информатики Кафедра информатики ОТЧЁТ об учебной практике на кафедре информатики ЛГТУ Вариант №5 Студент ______________________ подпись, дата Чуриков Е.В. фамилия, инициалы Группа ыЗ-УТ-20-1 Руководитель д.т.н., профессор ученая степень _____________________ подпись, дата Липецк 2022 г. Кудинов Ю.И. фамилия, инициалы Аннотация Стр. 20, Ил. 12, Литература 7. MATLAB – одна из старейших, тщательно проработанных и проверенных временем систем автоматизации математических расчетов, построенная на расширенном представлении и применении матричных операций. Однако синтаксис языка программирования системы настолько продуман, что эта ориентация почти не ощущается теми пользователями, которых не интересуют непосредственно матричные вычисления. Матрицы широко применяются в сложных математических расчетах, например, при решении задач линейной алгебры и математического моделирования статических и динамических систем и объектов. Они являются основой автоматического составления и решения уравнений состояния динамических объектов и систем. В MATLAB реализованы современные численные методы компьютерной математики, используются мощные средства графической визуализации и анимационной графики. Возможности системы весьма обширны, а по скорости выполнения задач она нередко превосходит своих конкурентов и применима для расчетов практически в любой области науки и техники. 2 CОДЕРЖАНИЕ 1 Практическая работа в MATLAB ......................................................................... 4 1.1 Задание 1 ......................................................................................................... 4 1.2 Задание 2 ......................................................................................................... 4 1.3 Задание 3 ......................................................................................................... 8 1.4 Задание 4 ....................................................................................................... 10 1.5 Задание 5 ....................................................................................................... 12 2 Практическая работа в MATLAB Simulink ........................................................ 14 2.1 Задание 6 ....................................................................................................... 14 2.2 Задание 7 ....................................................................................................... 17 Заключение ............................................................................................................ 19 Список использованных источников .................................................................. 20 3 1 Практическая работа в MATLAB 1.1 Задание 1 Цель работы Вычислить указанное арифметическое выражение четвертым способом. Сравнить полученный результат с приведенным ответом. 0,134 0,05 1 11 2 6 18 1 2 6 14 15 7 Выполнение работы Для задания вычисления переменной значения используется оператор присваивания: Имя_переменной = Значение. Далее вычисляем значения выражений при известных переменных в окне программы MATLAB, программный код которых представлен в пр.1. Пр.1 x = 0.134+0.05; y = (109/6)-(25/14)-((2/15)*(20/7)); z = x/y z = 0.0115 1.2 Задание 2 Цель работы Согласно выданному варианту, используя соотношения y3, y4, …, y14, построить и отформатировать графики приведенные ниже. 4 функций принадлежности, y 1 0 y4 y y4 y2 1 a d1 d2 d3 d4 b x 0 a d1 d2 d3 d4 b x Рисунок 1 – Графики функций принадлежности При a = 2, d1 = 4, d2 = 8, d3 = 12, d4 = 16, b = 18. Выполнение работы Функции одной переменной у(х) находят широкое применение в практике математических и других расчетов, а также в технике компьютерного математического моделирования. Для отображения таких функций используются графики в декартовой (прямоугольной) системе координат. При этом обычно строятся две оси – горизонтальная X и вертикальная Y, и задаются координаты х и у, определяющие узловые точки функции у(х). Эти точки соединяются друг с другом отрезками прямых, т.е. при построении графика осуществляется линейная интерполяция для промежуточных точек. Поскольку MATLAB матричная система, совокупность точек у(х) задается векторами X и Y одинакового размера. Для того, чтобы нарисовать график, нужный нам по образцу, воспользуемся пр. 2. 5 Пр.2 x1 = 2:1:4; y1 = [0 0 0]; x2 = 4:2:8; y2 = (x2-4)/4; x3 = 8:2:12; y3 = [1 1 1]; x4 = 12:2:16; y4 = (16-x4)/4; x5 = 16:1:18; y5 = [0 0 0]; x11 = [x1 x2 x3 x4 x5]; y11 = [y1 y2 y3 y4 y5]; x6 = 8:2:12; y6 = [0 0 0]; x7 = 12:2:16; y7 = (x7-12)/4; x8 = 16:1:18; y8 = [0 0 0]; x22 = [x6 x7 x8]; y22 = [y6 y7 y8]; plot(x11,y11,x22,y22) Полученные графики представлены на рисунке 2 и 3 соответственно. 6 Рисунок 2 - Трапециевидная функция принадлежности в MATLAB Рисунок 3 - Графики функций принадлежности в MATLAB 7 Теперь приступим к форматированию графиков, полученных на рисунке 3, которое заключается в присвоении имени рисунку, обесцвечивании его внешней границы, нанесении и форматировании обозначений на осях графиков, проведении сетки по осям, задании цвета толщины и маркеров на линиях графиков, полученные графики представлены на рисунке 4. Рисунок 4 - Отформатированные графики функции принадлежности 1.3 Задание 3 Цель работы Составить программу и получить график функции двух переменных. z = cos(x - y) для x 3,3, y 3,3, используя функцию surf. 8 Выполнение работы Для того, чтобы нарисовать график, нужный нам по образцу, воспользуемся пр. 3. Пр.3 x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=cos(X-Y); surf(X,Y,Z) Полученный график представлен на рисунке 5 соответственно. Рисунок 5 - График функции двух переменных 9 1.4 Задание 4 Цель работы В таблице 1 приведены коэффициенты дифференциального уравнения y ay by с1(t ) , (1.1) которое в соответствии с выданным вариантом самостоятельно решить классическим методом (с подробным описанием хода решения), а также решить с помощью функции dsolve и сравнить полученные результаты. Таблица 1.1 – Задание по варианту Вариант a b с 5 7 12 48 Выполнение работы Найти решение неоднородного линейного дифференциального уравнения y 7 y 12 y 48 1(t ) , (1.2) при нулевых начальных условиях y(0) = 0, y (0) = 0 и единичном ступенчатом входном сигнале u(t) = 1(t). Решение. Решение неоднородного дифференциального уравнения всегда равно сумме y(t) = yо(t) + yч(t), где yо(t) – общее решение соответствующего однородного дифференциального уравнения, полученного приравниванием нулю правой части (1.2) y 7 y 12 y 0 , (1.3) а yч(t) – частное решение, определяемое видом правой части (1.2). Решение однородного дифференциального уравнения (1.3) начинается с задания соответствующего характеристического уравнения p 2 + 7p + 12 = 0, 10 и определения его корней p1 = -3; p2 = -4. Общее решение однородного дифференциального уравнения запишется так yо (t ) C1e p1t C2e p2t C1e3t C2e4t , где С1, С2 – постоянные интегрирования. Перейдем к определению частного решения yч. Правая часть уравнения (1.2) – константа. Частное решение ищется в форме yч = B, где B – константа. Для нахождения B подставим yч = B в уравнение (1.2) 12B = 48, B = 4. Таким образом, полное решение неоднородного уравнения (1.2) имеет вид . y(t ) C1e3t C2e4t 4 (1.4) Исходя из нулевых начальных условий y(0) = 0, y (0) = 0, запишем (1.4) в виде двух уравнений y(0) = С1 + С2 + 4 = 0, y (0) = -3С1 - 4С2 = 0. и решим их относительно С1 и С2 С1 = – 16, С2 = 12. Подставляя найденные значения С1 и С2 в (1.4), получим искомое решение y (t ) 12e 4t 16e 3t 4 . . (1.5) Для того, чтобы найти корни дифференциального уравнения, нужные нам, воспользуемся пр. 4. 11 Пр.4 y=dsolve('D2y+7*Dy+12*y=48','y(0)=0','Dy(0)=0') y = 12*exp(-4*t) - 16*exp(-3*t) + 4 1.5 Задание 5 Цель работы 1 Решить систему алгебраических уравнений в столбце 2 табл. 1.2, используя функцию Solve. 2 Вычислить сумму ряда в столбце 3 таблице 2, используя функцию Symsum. 3 Определить выражение производной по х функции в столбце 4 таблице 2. 4 Вычислить интеграл функции в столбце 5 таблице 2 в пределах, а (столбец 6) и b (столбец 7), используя функцию int. Таблица 1.2 - Задание по варианту № вар ДифференСистема уравнений Ряд (s) цируемая функция 1 2 5 ( x 6) / 2 ( y 1) / 3 1, (2 y)4 ( x 1) / 2 2. 3 (1) k 1 k k 1 (2k 1) 7 s Подинтегра льная функция Пределы а b 4 5 6 7 1 1 sin 2 x x 1 1 sin 2 x x 1 2/5 Выполнение работы Для решения системы алгебраических уравнений воспользуемся кодом представленным в пр.5. 12 Пр.5 syms x y; eqn1 = ((x-6)/2)-((y+1)/3)-1== 0; eqn2 =((2-y)*4)+((x-1)/2)-2 == 0; S = solve(eqn1,eqn2); S.x S.y ans = 115/11 ans = 59/22 Для вычисления суммы ряда воспользуемся кодом, представленным в пр.6. Пр.6 syms k s=symsum(((-1).^(k-1))/(2*k-1).^k,1,7) s = 1766115723435920021465513/1970036612038926432626625 Для определения выражения производной по х функции воспользуемся кодом, представленным в пр.7. Пр.7 syms x y; y = (1/(x.^2))*sin(1/x); diff(y) ans = - cos(1/x)/x^4 - (2*sin(1/x))/x^3 Для вычисления интеграла функции в пределах, а (столбец 6) и b (столбец 7), используя функцию int, воспользуемся кодом, представленным в пр.8. 13 Пр.8 syms x; int(1/sqrt(9+x.^2),1,2/5) ans = log(229^(1/2) + 2) - log(5*10^(1/2) + 5) 2 Практическая работа в MATLAB Simulink 2.1 Задание 6 Цель работы Используя соответствующий вариант дифференциального уравнения (таблица 1.1), коэффициенты Kp, Ki, Kd и тип линейного ПИ или ПД регулятора (таблица 2.1), построить блок-схему системы автоматического регулирования и получить графики переходных процессов при ступенчатом и импульсном воздействиях. Таблица 2.1 – Задание по варианту Вариант 5 Тип ПИ регулятора Kp 4 Ki 0,3 Kd - Выполнение работы Построим систему автоматического регулирования на базе ПИ регулятора и дифференциального уравнения в MATLAB Simulink, результат представлен на рисунке 6. 14 Рисунок 6 - Блок-схема автоматического регулирования при ступенчатом воздействии Cоберем подсистему PI регулятора и подсистему Plant дифференциального уравнения, результат представлен на рисунке 7 и 8 соответственно. Рисунок 7 – Подсистема PI Рисунок 8 - Подсистема Plant Получим график переходного процесса при ступенчатом воздействии, результат представлен на рисунке 9. 15 Рисунок 9 - График переходного процесса при ступенчатом воздействии Соберем схему для получения графика переходного процесса при импульсном воздействии, результат представлен на рисунке 10. Рисунок 10 – Блок-схема автоматического регулирования при импульсном воздействии Получим график переходного процесса при импульсном воздействии, результат представлен на рисунке 11. 16 Рисунок 11 - График переходного процесса при импульсном воздействии 2.2 Задание 7 Цель работы В столбце «Формулы» таблицы 2.2 приводятся формулы логических функций, для которых в соответствии с выданным преподавателем вариантом необходимо построить модель логической функции и описать процесс построения. 17 Таблица 2. 2 – Задание по варианту Таблица истинности № Функция Вар. 5 Запрет b a 0 0 1 1 b 0 1 0 1 f4 0 0 1 0 Символическое Формула обозначение a←b ab Выполнение работы Для построения модели логической функции соберем схему в MATLAB Simulink, представленную на рисунке 12. Для этого добавим два блока Constant, один логических блока NOT, один логических блока AND, один блок Mux, два блока Display и один блок Combinatorial Logic. Соединим блоки согласно формуле, представленной в таблице 2.2. Откроем окно блока Combinatorial Logic и в поле Truth table введем значения выхода таблицы истинности в следующем виде: [0;0;1;0]. Рисунок 12 - Модель логической функции в MATLAB Simulink После завершения работы модели можно сделать вывод о том, что модель логической функции была построена верно. 18 Заключение В ходе выполнения данного отчета, была проведена работа с программой MATLAB, в которой были проведены различные математические и технические расчеты данных лабораторных и контрольных работ. При выполнении было изучено множество различных функций, которые способствуют помощи в решении математических выражений, уравнений, таких как: работа с матрицами, решение обыкновенных линейных уравнений, СЛАУ и дифференциальных уравнений, нахождение различных интегралов и пределов, а также построению и форматированию двумерных графиков функций и трехмерных поверхностей с примерами кода и теоретическими сведениями, тем самым научились работать с графическим интерфейсом MATLAB и знакомством с основными программными функциями этого программного продукта. 19 Список использованных источников 1. Мещеряков, В.В. Задачи по математике с MATLAB& SIMULINK. / В. В. Мещеряков. — М.: ДИАЛОГ-МИФИ, 2007 — 528 с. 2. Поршнев, С.В. MATLAB 7. Основы работы и программирования: учебник / С. В. Поршнев. М.: БИНОМ-ПРЕСС, 2011. — 320 с. 3. Ануфриев, И.Е. MATLAB 7 / И.Е. Ануфриев, А.Б. Смирнов, Е.Н. Смирнова. — СПб.: БХВ-Петербург, 2005. — 1104 с. 4. Смоленцев, Н. Н. MATLAB: программирование на Visual C#, Borland jBuilder, VBA: учебный курс. / Н. Н. Смоленцев. — М.: DMK Пресс; СПб.: Питер, 2009 — 453 с. 5. Дьяконов, В. А. Matlab 6: учебный курс. / В. А. Дьяконов. — СПб.: Питер, 2001. — 435 с. 6. Поршнев, С.В. Компьютерное моделирование физических процессов в пакете MATLAB. / С.В. Поршнев. - М.: Горячая линия - Телеком, 2003 — 592 с. 7. Мироновский, Л.А., Петрова, К.Ю. Введение в MATLAB [учебное пособие]. / Л.А. Мироновский, К.Ю. Петрова. – СПб.: СПбГУАП, 2005 – 122_с. 20