Разное

Решение дифференциальных уравнений на матлабе: Решение ОДУ в Matlab — CodeTown.ru

7-е занятие по MATLAB

7-е занятие по MATLAB

7-е занятие по MATLAB 

ЛАБОРАТОРНАЯ   РАБОТА №7

Преобразования формы моделей линейных динамических систем.

 

Цель работы: изучение различных форм представления линейных моделей динамических  систем управления. Анализ динамических свойств исходных и преобразованных моделей. Закрепление навыков в применении функций системы MATLAB для анализа переходных характеристик линейных динамических систем.

 

I. Каноническое описание динамических систем в форме Фробениуса.

 

         Если имеется описание объекта управления как «вход-выход», то это значит, что объект задается дифференциальным уравнением высокого порядка (1) или соответствующей рациональной передаточной функцией (2).

 

                                                            (1)

 

                                                                     (2)

 

где — выходная координата объекта, — входное управляющее воздействие.

         Полагая , уравнение (1) может быть приведено к следующей системе дифференциальных уравнений первого порядка:

 

                                                               (3)

 

         Систему (3) можно представить в матричной форме вида:

 

                                                                                                                        (4)                                                                                                                      

где Хn-мерный вектор состояния, U — скалярный вектор управления, матрицы

 A, В  имеют вид в так называемой форме Фробениуса:

 

                                                   (5)

 

         При этом уравнение выхода системы (4) для системы (3) будет вида

где матрица . Размерность матриц  соответственно равны n´n,  n´1,  1´n.

 

Задание 1.

¾    модель объекта с передаточной функцией    представить в пространстве состояний (ss) с описанием в форме Фробениуса.

¾    построить переходные (step) и импульсные (impulse) характеристики по передаточной функции  и для  системы вида (4), представленной в форме Фробениуса.

¾     проанализировать переходные характеристики при различных коэффициентах передаточной функции или, что равносильно при различных коэффициентах матрицы А:  и т.д.

¾    анализ переменных состояния произвести при различных матрицах С: [0 1 0], [0 0 1].

¾    с помощью step решить систему (3) и построить графики изменения переменных состояния.

¾    систему (3) решить численно с помощью ode45 и построить переходную функцию (т.е. когда на входе действует единичная функция). Построить также графики изменения переменных состояния.

¾    систему (3) решить с помощью lsim  построить переходную функцию и изменения переменных состояния.

¾    сравнить результаты анализа переходных функций для всех проведенных способов, построив эти функции в одной системе координат с временным сдвигом.

 

II. Представление в пространстве состояний объекта управления

    с передаточной функцией, имеющей полином в числителе.

 

         Запишем передаточную функцию:

 

                                                (6)

         Дифференциальное уравнение для объекта управления с учетом (6) можно представить в операторной форме:

 

                (7)

 

         Тогда левую и правую части приравняем  и с обратными полиномами получим следующие соотношения:

                                                          (8)

                                                                  (9)

         Вводя обозначения  и т. д., получим следующую систему дифференциальных уравнений первого порядка:

                                                   (10)

        

         Система (10) имеет описание в форме Фробениуса с матрицами А,В вида

 

                                                   (11)

         Операторная связь выходной координаты объекта управления с  имеет вид:

                                                           (12)

или, переходя к новым переменным состояния, получим

                                                             (13)

 

         По соотношению (13) и по решению системы (10) можно найти решение дифференциального уравнения n-го порядка.

 

Задание.

¾    по передаточной функции  составить и решить систему вида (10). Составить уравнение выхода и построить переходные характеристики.

¾    сравнить представление (10) для заданной передаточной функции с представлением системы MATLAB по команде

ss. Сравнить также переходные характеристики на основе решения ode45 и step.

¾    получить решение системы (10) с помощью lsim для различных входных воздействий (экспоненциальных, тригонометрических, тригонометрических с однополупериодным выпрямлением и их комбинаций) и сравнить результаты (в графическом виде) при непосредственном использовании передаточной функции по команде tf.

¾    вычислить с помощью команды eig корни характеристического уравнения полученной системы и полюса заданной передаточной функции.

 

III. Представление в пространстве состояний объекта управления

     по рекуррентным соотношениям.

 

         Приводимые ниже рекуррентные соотношения позволяют преобразовывать дифференциальные уравнения высокого порядка с производными в правых частях к нормальным  системам дифференциальных уравнений первого порядка.

 

Задание.

Дифференциальное уравнение 4-го порядка

           (14)

привести к системе диф. уравнений первого порядка с матрицами вида

                                             (15)

 по следующим рекуррентным соотношениям общего вида:

 

(16)

 

где — коэффициенты левой части дифференциального уравнения

n-го порядка (см. уравнение 14),  — коэффициенты правой части дифференциального уравнения, соответственно при первом управлении и при втором. Порядок дифференциального уравнения 14 равен 4, т.е. n=4.

 

Задание.

¾    по уравнению (14) составить систему дифференциальных уравнений с матрицами вида (15) при «ручном» или пошаговом расчете матрицы В.

¾    сформировать уравнение выхода.

¾    сравнить переходные характеристики по передаточной функции для (14) и полученной системы с матрицами вида (15) по соотношениям (16). Передаточную функцию следует формировать с помощью команды tf как функцию с двумя входами.

¾    сравнить переходные характеристики полученной системы с матрицами вида (15) по соотношениям (16) и по команде

ss относительно сформированной передаточной функции.

¾    вычислить корни характеристического уравнения  сформированной системы и полюса сформированной передаточной функции.

¾    вычислить корни характеристического уравнения  сформированной системы и корни системы, полученной по команде ss.

 

 

 

 


И.В.Черных. «Simulink: Инструмент моделирования динамических систем»

Раздел «Simulink»

И.В.Черных. «Simulink: Инструмент моделирования динамических систем»

  \ \

10. Редактор дифференциальных уравнений DEE

Simulink содержит специальный блок – Differential Equation Editor (редактор дифференциальных уравнений). С помощью этого блока можно задавать системы дифференциальных уравнений в явной форме Коши и выполнять их решение. Вызов редактора выполняется вводом команды

dee в окне MATLAB.

Использование редактора рассмотрим на примере расчета переходных процессов в последовательном колебательном контуре. Задача заключается в нахождении тока протекающего в электрической цепи и напряжения на конденсаторе C после замыкания ключа. Схема цепи показана на рис. 10.1. Начальные условия полагаем нулевыми (ток в цепи отсутствует, и конденсатор не заряжен).

Рис.10.1. Расчетная электрическая схема

Предварительно составляем систему дифференциальных уравнений, описывающую электрическую цепь:

,

,

где i – ток в цепи, — напряжение на конденсаторе

Записываем данную систему уравнений в явной форме Коши:

,

.

Вводим “машинные” переменные:

В итоге система уравнений примет вид:

,

Введение “машинных” переменных, связано с тем, что редактор дифференциальных уравнений требует задавать в виде векторов входные воздействия (u) и переменные состояния (х) и имена этих векторов жестко заданы.

После получения системы дифференциальных уравнений с использованием “машинных” переменных, необходимо запустить редактор командой dee в окне MATLAB. Затем нужно поместить блок редактора в окно с создаваемой моделью, открыть окно редактора и ввести систему дифференциальных уравнений, начальные условия, а также алгебраические уравнения для расчета выходных сигналов (в рассматриваемой задаче выходные переменные равны переменным состояния). Также необходимо указать размерность вектора входного сигнала (# of inputs). Схема модели и окно редактора показаны на рис. 10.2. Там же приведены и результаты расчета.

Рис. 10.2. Модель, использующая редактор дифференциальных уравнений

[Скачать пример]

Значения постоянных коэффициентов системы уравнений можно задавать не только как числовые константы, но и использовать переменные рабочей области MATLAB.

[Скачать пример]

Достоинством редактора DEE является также то, коэффициенты дифференциального уравнения могут быть переменными и задаваться также как и входные сигналы (через входной порт). В качестве примера на рис. 10.3 показан вариант предыдущей модели, в котором величина сопротивления увеличивается в 10 раза в процессе расчета. В системе дифференциальных уравнений сопротивление записано как входной сигнал u(2).

Рис. 10.3 Второй вариант модели

[Скачать пример]

\ \

Численное решение систем обыкновенных дифференциальных уравнений (ОДУ 1-го порядка) | Сачин Чандрасекара

Решение систем ОДУ с помощью MATLAB

Фото Джонатана Кемпера на Unsplash

Обыкновенные дифференциальные уравнения, или ОДУ, играют важную роль в различных приложениях. И часто для их решения лучше всего подходят численные методы. Давайте посмотрим, как мы делаем это в MATLAB, решая системы обыкновенных дифференциальных уравнений первого порядка. Здесь мы обеспокоены применением распространения ВИЧ-инфекции.

Уравнения представляют собой мгновенные балансы, основанные на количестве здоровых клеток (H) , инфицированных клеток (I) и количестве вирусов (V) . В этой системе уравнений члены с положительным знаком увеличивают эквивалентное количество клеток или вируса. Точно так же фразы со знаком минус уменьшают количество клеток или вирусов.

Три дифференциальных уравнения о распространении ВИЧ

Модель содержит шесть параметров kr1, kr2, kr3, kr4, kr5 и kr6, , которые обеспечивают скорость гибели клеток, распространение инфекции, репликацию вируса и другие процессы, влияющие на распространение ВИЧ в организме.

Как упоминалось выше, имеется шесть параметров с соответствующими значениями.

Значения параметров

Я надеюсь, вы все знаете, что мы можем получить решение одного дифференциального уравнения с помощью MATLAB. Затем давайте посмотрим, как мы делаем это с помощью функции ode45 в MATLAB, решая систему ОДУ. Как указывалось ранее, функция ode45 является наиболее часто используемым решателем ОДУ в MATLAB.

Для этого сначала нужно преобразовать систему ОДУ в новый формат. Следовательно, первым шагом является объединение всех этих ОДУ в одно уравнение для одной переменной, которую мы назовем X.

Значения в терминах компонентов вектора «X»

Стратегия состоит в том, чтобы создать X , вектор-столбец с тремя компонентами, каждая из которых соответствует одной из переменных H, I, и V . Затем мы берем производную каждого элемента X . Соответствующее уравнение определяет каждое значение исходной системы.

Теперь, когда у нас есть векторизованная система ОДУ, следующим шагом будет создание функции MATLAB. Эта функция вычисляет значение вектора производной для использования с функцией ode45. Наша функция « модель» будет генерировать один выход dXdt для заданных входных значений t и X.

Функция, построенная с соответствующими значениями параметров

Последний шаг — вызвать функцию ode45, передав дескриптор нашей производной функции, вектор, содержащий начальное и конечное значения времени. Здесь начальные условия: H_0 = 1000000, I_0 = 0 и V_0 = 100.

Заданные начальные условия

Решение нашего дифференциального уравнения записывается в выходные переменные0010 и ‘tsol’ , когда мы запускаем этот скрипт. Первым выходом является вектор, содержащий значения времени, используемые для вычисления численного решения. Второй вывод представляет собой матрицу, содержащую рассчитанное значение переменной X для каждого времени в ‘tsol’ . Затем отдельные столбцы могут быть извлечены для дополнительного анализа или визуализации.

Новак, М. и Мэй, Р. М. Вирусная динамика: математические принципы иммунологии и вирусологии: математические принципы иммунологии и вирусологии . Oxford University Press, 2000.

Решение ОДУ второго порядка с использованием Matlab

Цель: решить обыкновенное дифференциальное уравнение (ОДУ) и использовать расчетную информацию для анимации движения маятника с помощью MatLab. Введение: Маятники имеют множество применений и часто использовались до цифровой эпохи. Они используются в часах и метрономах из-за регулярности…

  • MATLAB

Подробнее о проекте

Загрузка…

Оставить комментарий

Спасибо, что решили оставить комментарий. Пожалуйста, имейте в виду, что все комментарии модерируются в соответствии с нашей политикой комментариев, и ваш адрес электронной почты не будет опубликован по соображениям конфиденциальности. Пожалуйста, оставьте личный и содержательный разговор.

Пожалуйста, войдите, чтобы добавить комментарий

Другие комментарии…

Комментариев пока нет!
Оставьте первый комментарий

Подробнее Проекты Муртадхи Зайни (17)

Проектирование и анализ центробежных насосов

Задача:

Проект: — Проектирование и анализ центробежного насоса Цель и задача: — Создать 3D-модель центробежного насоса в САПР и выполнить моделирование потока. Цель состоит в том, чтобы получить взаимосвязь между коэффициентом давления и массовым расходом для изучения поведения насоса в различных условиях. Введение:-  Центробежный…

31 августа 2022 г. 12:22 IST

  • ДИЗАЙН
  • HTML

Подробнее

Моделирование и симуляция потока через расходомер

Цель:

Цель проекта: — Создать 3D-модель стенда потока и выполнить анализ потока CFD и получить график зависимости подъемной силы от массового расхода. Был проведен тест зависимости от сетки, чтобы показать влияние подъема клапана на массовый расход. Введение:-  Вычислительная гидродинамика (CFD) — это раздел гидромеханики, в котором используются числовые…

29 августа 2022 г. 21:04 IST

Подробнее

Обтекание цилиндра

Цель:

Цель: — Моделирование обтекание цилиндра для условий, показанных на видео. Для начала запустите базовое моделирование, а затем рассчитайте число Рейнольдса. Затем увеличьте число Рейнольдса на коэффициент 20 %, 40 % и 100 %, а затем запустите моделирование переходного процесса. Цель: Рассчитать число Рейнольдса для различных…

27 сент. 2020 19:56 IST

Подробнее

Моделирование потока в трубе с помощью SolidWorks

Цель:

Цель: — Запустить моделирование потока в трубе с числом Рейнольдса на входе 100,1000 и 10,000. Цель: Запустить моделирование внутреннего потока в трубе с помощью Solidworks. Для каждого из этих случаев должны быть применены следующие условия: Разместите линейные датчики на 95%, 90% и 85% длины трубы. Сравните нормализованный профиль скорости…

21 сентября 2020 г. 15:18 IST

Подробнее

Проект 1 — Анализ термодинамических данных НАСА

Цель:

Цель:- 1. Написать функцию, которая извлекает 14 коэффициентов и вычисляет энтальпию, энтропию и удельную теплоемкость для всех веществ в файле данных. этот файл представляет собой предоставленные НАСА термодинамические данные. 2. Рассчитайте молекулярную массу каждого вида и отобразите ее в командном окне. 3. Постройте Cp, энтальпию…

25 августа 2020 г. 20:27 IST

Подробнее

Генетический алгоритм с использованием MatLab

Цель:

Цель: — Написать код в MATLAB для оптимизации функции сталагмита и найти глобальные максимумы функции. Введение. Генетический алгоритм — это метод решения задач оптимизации, основанный на естественном отборе — процессе, управляющем биологической эволюцией. Генетический алгоритм многократно…

18 августа 2020 г. 18:58 IST

  • MATLAB

Подробнее

Подгонка кривой с использованием Matlab

Цель:

Цель: — Написать код для подгонки линейного и кубического полинома для данных Cp. Введение. Подгонка кривой — это процесс построения кривой или математических функций, которые максимально приближены к реальному ряду данных. Путем подгонки кривой мы можем математически построить функциональную связь между…

11 августа 2020 г. 18:43 IST

Подробнее

Решение ОДУ второго порядка с помощью Matlab

Цель:

Цель: Решить обыкновенное дифференциальное уравнение (ОДУ) и использовать расчетную информацию для анимации движения маятника с помощью MatLab. Введение: Маятники имеют множество применений и часто использовались до цифровой эпохи. Они используются в часах и метрономах из-за регулярности…

06 Aug 2020 19:53 IST

  • MATLAB

Подробнее

Воздушный стандартный цикл с использованием Matlab

: Aim-

Цель: 9 Этот проект предназначен для расчета теплового КПД цикла Отто и построения диаграммы PV. Введение: Цикл Отто представляет собой набор процессов, используемых в двигателях внутреннего сгорания с искровым зажиганием. Эти двигатели а) всасывают смесь топлива и воздуха, б) сжимают ее, в) вызывают реакцию,…

31 июля 2020 г. 19:20 IST

Подробнее

Прямая кинематика 2R-манипулятора с использованием Matlab

Цель:

2R Robotic Arm Введение: Кинематика — это взаимосвязь между положениями, скоростями и ускорениями звеньев манипулятора. Прямая кинематика – это когда для соединения известны кинематические данные…

29 июля 2020 г. 09:17 PM IST

  • MATLAB

Подробнее

Расчет обтекания велосипеда с помощью Matlab

Цель:

Цель: Написать программу Matlab для расчета силы сопротивления велосипедиста. Аннотация: Целью данного проекта является написание двух программ. Одна для построения графика зависимости скорости от силы сопротивления и другая программа для построения графика зависимости коэффициента сопротивления от силы сопротивления. Во-первых, сила сопротивления должна быть рассчитана с использованием одного значения…

28 июля 2020 09:17 PM IST

Читать далее

Анализ усталости шатуна велосипеда

Цель:

Аннотация: — Этот проект направлен на выполнение анализа усталости шатуна велосипеда с помощью SolidWorks и определение количества циклов, которое потребуется для этого. до того, как часть достигнет отказа. Был использован метод Stress Life (SN), так как он основан на стандартном испытании материала до разрушения. Несколько параметров были изменены, эти параметры…

13 июля 2020 15:03 IST

Подробнее

Частотный анализ вращающегося вала

Цель:

Резюме:- Целью этого проекта является выполнение частотного анализа вращающегося вала, отсюда нам нужно определить критические частоты и формы колебаний. Были смоделированы и проанализированы 5 форм колебаний. Введение. Частота — это количество повторений повторяющегося события в единицу времени. Формула…

18 июня 2020 г. 22:45 IST

Подробнее

Частотный анализ вращающегося вала

Цель:

Резюме:- Целью этого проекта является выполнение частотного анализа на вращающемся валу, оттуда нам нужно определить критические частоты и формы колебаний. Были смоделированы и проанализированы 5 форм колебаний. Введение. Частота — это количество повторений повторяющегося события в единицу времени. Формула…

18 июня 2020 г. 22:45 IST

Подробнее

Анализ пластины с отверстием

Цель:

Аннотация:- Выполнить статический анализ двух моделей пластины с отверстиями с помощью SolidWorks , один анализ для пластины с одним отверстием и один анализ для пластины с тремя отверстиями. Наконец, сравните полученные результаты между двумя пластинами. Введение:- Когда к телу прилагаются нагрузки, тело деформируется и эффект…

17 июня 2020 г. 23:40 IST

Подробнее

Анализ явления потери устойчивости стенда циклонного сепаратора с использованием SolidWorks

Цель:

Аннотация: — Для этого проекта основной целью является проведение анализа потери устойчивости на стенде циклонного сепаратора. После начального анализа будет сделан эскиз металлического элемента жесткости, который будет добавлен к стенду, и будет смоделирован еще один анализ потери устойчивости, чтобы найти изменение коэффициента безопасности потери устойчивости. Наконец, дизайн…

16 июня 2020 г. 20:56 вечера IST

  • Дизайн
  • FEA

Подробнее

Сравнение изгиба в балках

Объектива:

Аннотация: — Для этого проекта будут три разных типа.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *