Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Решение дифференциального уравнения — копия

.docx
Скачиваний:
2
Добавлен:
24.12.2023
Размер:
281.36 Кб
Скачать

Министерство науки и высшего образования Федеральное государственное автономное образовательное учреждение высшего образования «СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

Политехнический институт инситут

Электроэнергетика и электротехника

кафедра

Курсовая работа

по Информатике в электроэнергетике

наименование дисциплины

Решение обыкновенного дифференциального уравнения второго порядка в программе «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 – Итоговый результат, матрица с выделенной буквой

Список использованной литературы

  1. Черных И. В. Ч45 Моделирование электротехнических устройств в МАTLAB, SimPowerSystems и Simulink. - М.: ДМК Пресс; СПб.: Питер, 2008. - 288 с.: ил.

  2. 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)

  3. 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)

  4. 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)

  5. 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)