Целью данной лабораторной работы является изучение принципов и получения практических навыков моделирования структурных схем в среде SIMULINK пакета MATLAB.
Построить график функции в декартовой системе координат. Результаты представить в виде графика.
Диапазон изменения аргумента: 0.1-1.8
Структурная схема для построения данного графика функции представлена на рисунке 1.1
Рисунок 1.1 – Структурная схема моделирования функции к заданию 1
Решить системы линейных и нелинейных уравнений. Начальные приближения:
;
Задана система линейных уравнений:
;
Преобразую систему к виду:
;
Структурная схема для решения данного линейного уравнения представлена на рисунке 1.2
Рисунок 1.2 — Структурная схема для решения системы линейных уравнений к заданию 2
Задана система нелинейных уравнений:
;
Преобразую систему к виду:
;
Структурная схема решения данного линейного уравнения представлена на рисунке 1.3
Рисунок 1.3 — Структурная схема для решения системы нелинейных уравнений к заданию 2
Осуществить моделирование структуры, представленной на рисунке 1.4
Рисунок 1.4 – Структурная схема к заданию 3
1. Структурная схема для построения графика функции к заданию 1 представлена на рисунке 2.1
Рисунок 2.1 – Структурная схема моделирования функции к заданию 1
Построил график функции к заданию 1, представленный на рисунке 2.2.
Рисунок 2.2 – График функции к заданию 1
2. Задана система линейных уравнений:
;
Структурная схема для решения данного линейного уравнения представлена на рисунке 2.3
Рисунок 2.3 — Структурная схема для решения системы линейных уравнений к заданию 2
Построил структурные модели к заданию 2. Для линейной системы уравнений получил следующие значения:
;
3. Задана система нелинейных уравнений:
;
Структурная схема решения данного линейного уравнения представлена на рисунке 2.4
Структурная схема для решения системы нелинейных уравнений к заданию 2.
Для нелинейной системы уравнений получил такие значения:
.
4. Построил структурную модель к заданию 3 (рисунок 2.5). График результатов работы модели F(t,y1) представлен на рисунке 2.6.
Рисунок 2.5 – Структурная схема к заданию 3
Рисунок 2.6 — График F(t,y1) результатов работы функции модели 3 к заданию 3
График результатов работы модели F(t,y2) представлен на рисунке 2.7.
Рисунок 2.7 — График F(t,y2) результатов работы функции модели 3 к заданию 3
В результате выполнения данной лабораторной работы получил практические навыки моделирования структурных схем в среде SIMULINK пакета MATLAB. Также я научился строить графики функций в декартовой системе координат (рисунок 2.1). Я научился решать системы линейных и нелинейных уравнений, то есть нашел корни этих уравнений
А также получил результаты работы модели в задании 3 (рисунок 2.2 и 2.3).
Научился работать с такими блоками, как Sum, Algebraic Constraint, Gain, Product и другими.
Видео:Решение системы уравнений Колмогорова в МатлабеСкачать
Лабораторная работа №1. Преобразования структурных схем
Лабораторная работа №1
ПРЕОБРАЗОВАНИЯ СТРУКТУРНЫХ СХЕМ
Целью работы является изучение структурных преобразований и нахождения передаточных функций с использованием автоматизированных средств моделирования на ПК – MATLAB, SIMULINK.
2. Задачи работы
– Закрепление, углубление и расширение знаний студентов при исследовании преобразований структурных схем.
– Приобретение умений и навыков работы с программой математического моделирования MATLAB.
– Овладение несколькими методами преобразования структурных схем.
3. Теоретическая часть
Для наглядного представления сложной системы как совокупности элементов и связей между ними используются структурные схемы.
Структурной схемой называется схема САУ, изображенная в виде соединения ПФ составляющих ее звеньев.
Структурная схема показывает строение автоматической системы, наличие внешних воздействий и точки их приложения, пути распространения воздействий и выходную величину. Динамическое или статическое звено изображается прямоугольником, в котором указывается ПФ звена. Воздействия на систему и влияние звеньев друг на друга (сигналы) изображаются стрелками. В каждом звене воздействие передается только от входа звена к его выходу.
На динамическое звено может воздействовать лишь одна входная величина, поэтому используются блоки суммирования и сравнения сигналов. Суммироваться и сравниваться могут лишь сигналы одной и той же физической природы.
Структурная схема может быть составлена по уравнению системы в пространстве состояний или по системе дифференциальных уравнений. При составлении структурной схемы удобно начинать с изображения задающего воздействия и располагать динамические звенья, составляющие прямую цепь системы, слева направо до регулируемой величины. Тогда основная обратная связь и местные обратные связи будут направлены справа налево.
Различные способы преобразования структурных схем облегчают определение ПФ сложных САУ и дают возможность привести многоконтурную систему к эквивалентной ей одноконтурной схеме.
Преобразование структурной схемы должно осуществляться на основании правил, основные из них приведены в табл. 1.
При выполнении преобразований следует каждое имеющееся в схеме типовое соединение заменить эквивалентным звеном. Затем можно выполнить перенос точек разветвления и сумматоров, чтобы в преобразованной схеме образовались новые типовые соединения звеньев. Эти соединения опять заменяются эквивалентными звеньями, затем вновь может потребоваться перенос точек разветвления и сумматоров и т. д.
Различают основные соединения блоков в структурных схемах: последовательное соединение, параллельное соединение, антипараллельное соединение (обратная связь), в свою очередь обратная связь может быть отрицательной и положительной.
Основные правила преобразования структурных схем
Видео:1 - Решение систем нелинейных уравнений в MatlabСкачать
Решение систем обыкновенных дифференциальных уравнений в среде MATLAB. Часть 1
В среде MATLAB можно решать системы диффуров с начальными условиями, краевые задачи, а также решать дифференциальные уравнения в частных производных с помощью инструмента PDE toolbox.
В данном обзоре речь пойдет лишь о системах дифференциальных уравнений с начальными условиями, то есть о задаче Коши. В англоязычной литературе это называется Initial Value Problem.
- каким образом записывать системы диффуров
- как задать начальные условия
- временной интервал
- какой получать результат решения для дальнего использования
Решать системы обыкновенных дифференциальных уравнений можно как в MATLAB, так и в Simulink.
В первую очередь, следует определиться, использовать для решения Matlab и его текстовый редактор, или Simulink, где те же системы дифференциальных уравнений могут быть записаны в виде функциональных блоков.
Выбор ваш должен зависеть от задачи. Если Вы, например, хотите смоделировать какой-либо объект управления, описываемый системой диффуров, то в данном случае имеет смысл использовать именно Simulink, так как Вам, впоследствии, понадобиться синтез, например, системы управления, и Simulink подойдет здесь как нельзя лучше.
А вот если у Вас, например, есть необходимость решать системы диффуров с большим количеством уравнений и неизвестных, или специфика Вашей задачи требует особой и специальной настройки численного метода, а также если вы хотите использовать решение диффура в составе других скриптов MATLAB, то Вам имеет смысл решать дифференциальные уравнения способом, о котором пойдёт речь в этом обзоре.
Рассмотрим синтаксис решателей matlab.В качестве аргументов следует подать правую часть системы в виде MATLAB-функции.
На рисунке показан требуемый вид системы, когда выражены старшие производные.
Системы, чей вид отличается от требуемого, следует преобразовать к таковому.
Если функция простая, то её можно записать прямо в поле аргумента, однако, когда речь идёт о системах уравнений, имеет смысл записывать систему уравнений в виде отдельной функции, в том числе и в виде отдельного м-файла. Об этом мы поговорим чуть позже и на конкретном примере.
Также подается интервал времени, на котором будет найдено решение. Интервал задаётся строкой из двух чисел: начальной величины независимого аргумента t и его конечного значения.
Далее задаются начальные условия. Значения всех неизвестных искомых переменных в начале расчёта задаются в виде столбца соответствующей размерности.
Далее, при необходимости, задаются опции. Вот тут и раскрываются широкие возможности MATLAB по настройке решателя. Помимо управления точностью и величиной шага, имеется возможность обрабатывать данные в процессе вычисления, а также выполнять скрипты по завершению вычисления. Но ещё более полезным является опция отслеживания событий по условию, более подробно поговорим об этом дальше. Также есть другие специальные опции, которые могут быть использованы при решении определённых типов систем.
Вы могли заметить, что название функции — odeXY – это обозначение для всех решателей, которых всего 8 штук. В данном ролике мы пользоваться решателем ode45, соответствующего численному по методу Дормана-Принса 4(5). Этого решателя достаточно для подавляющего большинства задач. Остальные решатели будут подробно рассмотрены в приложении к задачам соответствующих типов позже.
Перейдем к примерам.
Рассмотрим 2 примера:
- решение дифференциального уравнения первого порядка.
- решение системы двух дифференциальных уравнений второго порядка.
В качестве уравнение первого порядка рассмотрим логистическое уравнение Ферхюльста, которое описывает динамику численности популяции. Суть уравнения такова: скорость прироста населения y пропорциональна количеству населения, однако лимитирована максимальной численностью популяции.
Забавный факт: Ферхюльст назвал это уравнение логистическим, и никто до сих пор не знает почему, ибо сам Ферхюльст об этом никому не рассказал.
Решение этого дифференциального уравнения выглядит следующим образом.
Пишем функцию в явном виде, задаём интервал расчёта и записываем начальное условие. Пару слов о записи функции подобным образом. Знак собаки в матлабе является оператором создания функции соответствующих переменных. Вы задаёте аргументы функции и саму функцию через пробел, как показано на рисунке.
Перейдем в окно MATLABа и посмотрим, как это выглядит.
Так выглядит скрипт:
Так выглядит график решения дифференциального уравнения:
В качестве примера решения системы, состоящей из двух дифференциальных уравнений второго порядка, рассмотрим шарик, подвешенный на пружине, который ещё и тормозит о воздух.
Уравнения показаны на рисунке. Но вид системы отличается от требуемого, в том числе потому, что в нём присутствуют вторые производные. Для приведения системы в требуемый вид выполним 2 простых шага:
Первое: следует заменить переменные соответствующим образом. Теперь у нас 4 неизвестных. Далее следует преобразовать уравнение с учетом замены. Таким образом, мы имеем систему из четырёх дифференциальных уравнений первого порядка.
Настало время её записать.
Итак, мы имеем систему, параметры, интервал времени и начальные условия. Решим же эту задачу скорее.
В отличие от предыдущего примера, систему четырех уравнений проблематично записать в поле аргумента. Поэтому всю систему будем записывать в отдельную функцию.
Эту функцию можно располагать как в самом скрипте решения в самом его конце, так и в виде отдельного m-файла.
На выходе функция должна представлять собой вектор-столбец, который записывается перечислением компонент через точку запятой как показано на рисунке.
Теперь рассмотрим скрипт самого решения.
На этот раз запишем интервал и начальные условия в виде переменных MATLAB. Интервал, соответственно, в виде строки, а начальные условия – в виде столбца длинной 4.
Сообразно с уже разобранным ранее синтаксисом укажем функцию pendulum_np, интервал времени и начальные условия.
Перейдем теперь в окно MATLAB и посмотрим решение.
Так выглядит скрипт:
Запускаем скрипт и получаем графики:
Зачастую хочется, чтобы одну и ту же систему можно было бы решать с разными параметрами, и при этом не менять их в теле самой функции. И это можно, и даже нужно осуществлять.
На рисунке показана функция MATLAB, которая соответствует движению подвешенного на пружине шара, однако можно заметить, что эта функция теперь имеет на 5 аргументов больше.
Параметры задаются в скрипте, а при вызове функции мы обращаемся к уже известному оператору-собаке, которая превращает функцию семи переменных pendulum_n в функцию двух переменных t и X. Вот и всё.
Я вам очень рекомендую разобраться с тем, как работает оператор-собака. В хелпе он называется function-handle. Разобравшись с ним Вам будет работать в среде MATLAB ещё проще и ещё приятнее.
Вывод: не так страшно решать диффуры
Под конец стоит сказать какие вообще системы дифференциальных уравнений матлаб может решать, а может он решать системы практически любых типов.
Их можно, с одной стороны, разделить по степени жёсткости, а с другой стороны, по структуре самой системы.
Когда уравнения представляют поведение системы, которая содержит ряд быстрых и медленных реакций, то такую систему уравнения можно назвать жесткой. Для жестких задач явные численные методы работают плохо, или не работают вовсе. Примером жесткой задачи может являться протекание тока через клеточную мембрану. На самом деле, чёткого разделения между жесткими и нежёсткими системами не существует. Степень жесткости системы формально определяется через собственные значения матрицы Якоби, но давайте не будем закапываться.
Видеообзор по теме решения систем Д/У доступен по ссылке.
🔍 Видео
Как в MATLAB Simulink моделировать уравнения (Структурная схема САУ)Скачать
2 - Решениt систем линейных алгебраических уравнений (СЛАУ) с помощью Matlab.Скачать
ТАУ. Matlab/SIMULINK Фазовые портреты систем нелинейных диф. уравненийСкачать
ТАУ. Matlab/Simulink - моделирование передаточной функции, снятие характеристикСкачать
Структурная схема трехмассовой системы.Скачать
Построить структурную схему САР (САУ) по передаточной функцииСкачать
MatLab для новичков. Решаем case с квадратным уравнением.Скачать
Решение_дифференциальных_уравнений_1_порядка_в_Matlab.wmvСкачать
Математика это не ИсламСкачать
Решение систем Д/У: 1. Знакомство с функциями odeXYСкачать
Преобразование структурных схем систем управленияСкачать
matlab simulink 2021 построение схемы, найти параметры на примере своего расчётного задания по ТОЭ.Скачать
GMP – 3. Основы MATLAB SimulinkСкачать
MatLab\Simulink Моделирование RLC-цепиСкачать
MatLab. Решение дифференциального уравнения.Скачать