Решение дифференциального уравнения — копия
.docxМинистерство науки и высшего образования Федеральное государственное автономное образовательное учреждение высшего образования «СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
Политехнический институт инситут
Электроэнергетика и электротехника
кафедра
Курсовая работа
по Информатике в электроэнергетике
наименование дисциплины
Решение обыкновенного дифференциального уравнения второго порядка в программе «MATLAB»
тема
Руководитель подпись, дата инициалы, фамилия Студент номер группы, зачетной книжки подпись, дата инициалы, фамилия
Красноярск 2023
Содержание
Моделирование ОДУ второго порядка в Simulink
По варианту № 8 было выдано задание:
|
|
H |
Для получения решения обыкновенного дифференциального уравнения воспользуемся системой моделирования Simulink. В данной системе строится схема, алгоритм которой обрабатывает компоненты уравнения.
Для удобства моделирования выразим вторую производную через остальные компоненты уравнения:
(1)
Чтобы смоделировать уравнение (1) нам понадобятся некоторые блоки: Constant – источник постоянного значения; Integrator – интегрирует входной сигнал; Product – перемножает входящие в него сигналы; Scope – строит график исследуемых сигналов в функции времени; Ramp – источник линейного сигнала, выполняет функцию времени; Sin – выводит синусоидальный сигнал, аргументом которого является входящий сигнал; Sum – выполняет сложение или вычитание на его входных параметрах; Square – выполняет возведение входного сигнала в квадрат.
С помощью этих блоков выстраивается модель нашего уравнения с выраженной второй производной (рис. 1).
Рисунок 1 – модель уравнения (1)
После начала симуляции модели мы можем увидеть, что в блоке Scope изображён график y(t) (рис. 2).
Рисунок 2 – график изменения аргумента y
Этот график (рис. 2) показывает, как измениться аргумент при заданных начальных значениях y0 = - 9 и = 1 с увеличением t. Время симуляции ограниченно до t = 7, т. к. при и заданных начальных значениях уравнение (1) имеет решения.
Создание массива решений ОДУ второго порядка в MATLAB
Зададим дифференциальное уравнение (1) вида
В файле функции, где указываются все компоненты уравнения (рис. 3).
Рисунок 3 – Уравнение в виде функции
Найдём приращение d для начального значения функции y0, так чтобы можно было получить 20 различных решений уравнения с начальными данными:
При составлении модели уравнения (1) в Simulink мню были выбраны значения функции и её производной: y0 = - 9 и = 1.
Составим массив данных в виде таблицы, где каждая строка состоит из двадцати первых значений численного решения. Для решения воспользуемся функцией ode45. Этот метод решения применим к обыкновенным дифференциальным уравнениям.
Исползаем цикл for ля того, чтобы отобразить массив данных в виде таблицы (рис. 4).
Рисунок 4 – Цикл отображения массива данных
На выходе программы получим массив данных в виде таблицы. Функция round округляет полученные значения.
Определим размерность матрицы и зададим оси, размер которых на единицу больше, чем столбцов и строк в матрице. Используя функцию figure вызовем пустое окно, поместим в полученное окно матрицу решений и зададим ей параметры расположения. С помощью функции num2str преобразуем численные данные решения в строку для отображения (рис. 5).
Рисунок 5 – Определение размерности матрицы и задание её осей
Ознакомимся с полученным результатом (рис. 6).
Рисунок 6 – Матрица в осях
Изменим свойства отображаемых чисел так, чтобы выделялась буква, заданная по варианту. Заданная по варианту буква – “H”.
Воспользуемся функцией set для изменения параметров отображения полученной матрицы решений о осях (рис. 7). Функции сообщаются координаты именуемых элементов, после попарно перечисляются параметры, которые мы хотим изменить, и значения изменённых параметров. “color” изменяет цвет, в нашем случае использован цвет яйца дрозда, указан в модели цветов RGB; “FontSize” изменяет кегль отображаемых символов, в нашем случае выбран 20(рис. 8).
Рисунок 7 – Изменение параметров отображаемых символов
Рисунок 8 – Итоговый результат, матрица с выделенной буквой
Список использованной литературы
Черных И. В. Ч45 Моделирование электротехнических устройств в МАTLAB, SimPowerSystems и Simulink. - М.: ДМК Пресс; СПб.: Питер, 2008. - 288 с.: ил.
Model Differential Algebraic Equations // The MathWorks, Inc. : официальный сайт. – 2023. – URL: https://www.mathworks.com/help/simulink/ug/model-a-differential-algebraic-equation.html (дата обращения 07.05.2023)
ode45 Solve nonstiff differential equations — medium order method // The MathWorks, Inc. : официальный сайт. – 2023. – URL: https://www.mathworks.com/help/matlab/ref/ode45.html (дата обращения 07.05.2023)
Graphics two- and three-dimensional plots, images, animation // The MathWorks, Inc. : официальный сайт. – 2023. – URL: https://www.mathworks.com/help/matlab/graphics.html?s_tid=CRUX_lftnav (дата обращения 07.05.2023)
Label Properties сontrol label appearance // The MathWorks, Inc. : официальный сайт. – 2023. – URL: https://www.mathworks.com/help/matlab/ref/matlab.ui.control.label-properties.html (дата обращения 07.05.2023)