Решаватели на ODE в MATLAB

MATLAB. Обикновени диференциални уравнения.

Динамични системи

Насоки за прилагане

Лаборатория

MATLAB. Обикновени диференциални уравнения. Динамични системи. Указания за изпълнение на лабораторната работа / Съставител V.V. Андреев, И.К. Насиров. - Казан: Казан. състояние енергия ун-т, 2016. - 149 с.

Разгледани са основните теоретико-приложни проблеми на дисциплината „Компютърна математика” в направление на обучение 230100.62 „Информатика и компютърна техника”, профил на обучение „Програмно осигуряване за компютърна техника и автоматизирани системи”. Дадени са примери, както и задачи за самостоятелна работа и тестови въпроси.

Указанията са предназначени за дисциплините "Допълнителни глави на висшата математика", "Методи на математическото моделиране", "Моделиране на системи и процеси", "Теория на нелинейните динамични системи", както и за направленията "Приложна математика", "Програмно осигуряване на компютърната техника".

Ó Казански държавен енергиен университет, 2016 г

Съвременните компютърни математически системи (CCM) предлагат цял ​​набор от интегрирани софтуерни системи и софтуерни пакети за автоматизиране на математически изчисления: Eureka, Gauss, TK Solver!, Derive, Mathcad, Mathematica, Maple и др. Възниква въпросът: „Какво място заема системата MATLAB сред тях?“

MATLAB е една от най-известните, внимателно проектирани и изпитани във времето системи за автоматизиране на математически изчисления, изградена върху разширено представяне и приложение на матрични операции. Това е отразено в името на системата MATrix LABoratory - матрична лаборатория. Въпреки това, синтаксисът на езика за програмиранеСистемата е обмислена толкова внимателно, че тази ориентация почти не се усеща от тези потребители, които не се интересуват пряко от матрични изчисления.

Матриците се използват широко в сложни математически изчисления, например при решаване на проблеми на линейната алгебра и математическото моделиране на статични и динамични системи и обекти. Те са в основата на автоматичното съставяне и решаване на уравненията на състоянието на динамични обекти и системи.

Като цяло MATLAB е уникална колекция от реализации на съвременни числени методи на компютърната математика, създадени през последните три десетилетия. Той абсорбира опит, правила и методи на математически изчисления, натрупани през хилядите години на развитие на математиката. Това е съчетано с мощна графична визуализация и дори анимационни графики. Системата с приложената обширна документация може да се разглежда като основен многотомен електронен справочник за софтуерни компютри - от масови персонални компютри до суперкомпютри.

Възможностите на MATLAB са много обширни и системата често надминава своите конкуренти по отношение на скоростта на изпълнение на задачите. Приложим е за изчисления в почти всяка област на науката и технологиите. Например, той се използва много широко в математическото моделиране на механични устройства и системи, по-специално в динамиката, хидродинамиката, аеродинамиката, акустиката, енергетиката и др. Това се улеснява от разширен набор от матрични и други операции и функции.

Тази работа съдържа насоки за извършване на лабораторна работа.

Първата лабораторна работа обхваща потребителския интерфейс и основните MATLAB обекти, както и оператори, типове данни и действия с тях.

Във втората лабРазглеждат се методи за формиране на вектори и матрици, методи за решаване на системи от линейни уравнения, операции с полиноми.

Третата лабораторна работа е посветена на методите за изобразяване в MATLAB, както двумерни, така и триизмерни. В същата лабораторна работа се разглеждат методите за интерполация и апроксимация на данни, както и използването на математическия пакет MATLAB за изследване на функции.

В четвъртата лабораторна работа се разглеждат възможностите за използване на математическия пакет MATLAB за решаване на диференциални уравнения, проблеми с програмирането в MATLAB и решаване на някои икономически задачи.

Лаборатория #1

РАБОТА ЦЕЛ

Да се ​​формират идеи на учениците за използването на дистанционно управление в различни области; да се внуши способността за решаване на проблема на Коши за DE=f(x,y) на сегмента [a,b] с дадено начално условиеy0 =f(x0).

Решение на обикновени диференциални уравнения (ОДУ)

ODE Solvers в MATLAB

Анализът на поведението на много системи и устройства в динамиката, както и решаването на много проблеми в теорията на трептенията, обикновено се основава на решаването на системи от ODE. Те обикновено се представят като система от диференциални уравнения (DE) от първи ред във формата на Коши:

с гранични условияy(t0,tend,p) =y, къдетоtend,t0 са началната и крайната точка на интервалите. Параметърt(независима променлива) не означава непременно време, въпреки че най-често DE решението се търси във времевата област. Системата от диференциални уравнения във формата на Коши се записва подобно на (1.1), ноyв този случай означава вектор колона на зависими променливи. Векторpопределя началните условия.

За решенияDE от втори и по-висок ред трябва да бъдат сведени до система от DE от първи ред.

Има възможни DE, които не са разрешени по отношение на деривата:

Уравнения (1.2) обикновено не могат да бъдат редуцирани аналитично до форма (1.1). Численото решение обаче не създава особени трудности, достатъчни за определяне наf(y,t), за да се реши числено (1.2) по отношение на производната за дадениyиt.

ODE решаващи програми

За решаване на ODE системи в MATLAB се прилагат различни числени методи. Техните реализации се наричат ​​решателиODE.

В този раздел програмата за решаване на родово име означава един от възможните числени методи за решаване на ODE: ode45, ode23, ode113, ode15s, ode23s, ode23t, ode23tb, bvp4c или pdepe.

Решавателите прилагат следните методи за решаване на DE системи:

• ode23 едноетапни експлицитни методи на Runge-Kutta от 2-ри и 4-ти ред, модифицирани от Bogacki и Champin. С умерена твърдост на системата ODE и ниски изисквания за точност, този метод може да даде печалба в скоростта на решение.

• ode113 многоетапен метод на Адамс-Башуърт-Мултън с променлив ред предиктор-коректор клас. Това е адаптивен метод, който може да осигури висока точност на решението.

• многоетапен метод за подреждане на променливи на ode15s (от 1 до 5, по подразбиране 5), използващ числени формули за "обратно диференциране". Това е адаптивен метод и трябва да се използва, ако солвърът ode45 не предоставя решение и системата за управление е твърда.

• ode23s е метод в една стъпка, използващ модифицирана формула на Розенброк от 2-ри ред. Може да осигури висока изчислителна скорост с ниска точност на решаване на твърда DE система.

• ode23t скрит метод на трапец с интерполация. Този метод дава добри резултати при решаване на задачи, описващи вибрациисистеми с почти хармоничен изходен сигнал. За умерено твърди системи дистанционното управление може да даде висока точност на решението.

• ode23tb Неявният метод на Runge Kutta в началото на решението и метод, използващ формули за обратно диференциране от 2-ри ред по-късно. Въпреки сравнително ниската точност, този метод може да бъде по-ефективен от ode15s.

• bvp4c се използва за проблема с граничните стойности на системи от диференциални уравнения под форматаy′ =f(t,y),F(y(a),y(b),p) = 0 (пълна форма на системата на Коши уравнения). Задачите, които решава, се наричат ​​двуточкови гранични задачи, тъй като решението се търси чрез задаване на гранични условия както в началото, така и в края на интервала на решение.

Всички програми за решаване могат да решават системи от изрични уравненияy′ =F(t,y) и се препоръчва да се използват само специални програми за решаване ode15s, ode23s, ode23t, ode23tb за решаване на твърди системи от уравнения.