Решатели (solver) ОДУ в MATLAB
Стр 1 из 10Следующая ⇒ MATLAB. Обыкновенные дифференциальные уравнения. Динамические системы
Методические указания по выполнению Лабораторных работ
Казань 2016 УДК 681.3.06 ББК 32.973.26-018.2 А 65
MATLAB. Обыкновенные дифференциальные уравнения. Динамические системы. Методические указания по выполнению лабораторных работ / Составители В.В. Андреев, И.К. Насыров. – Казань: Казан. гос. энерг. ун-т, 2016. – 149 с. Рассмотрены основные теоретические и прикладные вопросы дисциплины «Компьютерная математика» по направлению подготовки 230100.62 «Информатика и вычислительная техника», профиль подготовки «Программное обеспечение средств вычислительной техники и автоматизированных систем». Приведены примеры, а также задания для самостоятельной работы и тестовые вопросы. Указания предназначены для дисциплин «Дополнительные главы высшей математики», «Методы математического моделирования», «Моделирование систем и процессов», «Теория нелинейных динамических систем», а также для направлений «Прикладная математика», «Программное обеспечение вычислительной техники».
УДК 681.3.06 ББК 32.973.26-018.2
Ó Казанский государственный энергетический университет, 2016
Введение
Современные системы компьютерной математики (СКМ) предлагают целый набор интегрированных программных систем и пакетов программ для автоматизации математических расчётов: Eureka, Gauss, MATLAB – одна из наиболее известных, тщательно проработанных
Матрицы широко применяются в сложных математических расчётах, например, при решении задач линейной алгебры и математического моделирования статических и динамических систем и объектов. Они являются основой автоматического составления и решения уравнений состояния динамических объектов и систем. В настоящее время СКМ MATLAB далеко вышла за пределы специализированной матричной системы и стала одной из наиболее мощных универсальных интегрированных систем. Слово «интегрированная» указывает на то, что в этой системе объединены удобная оболочка, редактор выражений и текстовых комментариев, вычислитель и графический программный процессор. В новой версии MATLAB используются такие мощные типы данных, как многомерные массивы, массивы ячеек, массивы структур, массивы Java и разрежённые матрицы, что открывает возможности применения системы при создании и отладке новых алгоритмов матричных и основанных на них параллельных вычислений и крупных баз данных. В целом MATLAB – это уникальная коллекция реализаций современных численных методов компьютерной математики, созданных за последние три десятка лет. Она вобрала в себя и опыт, и правила, и методы математических вычислений, накопленные за тысячи лет развития математики. Это сочетается с мощными средствами графической визуализации
Возможности MATLAB весьма обширны, а по скорости выполнения задач система нередко превосходит своих конкурентов. Она применима для расчётов практически в любой области науки и техники. Например, очень широко используется при математическом моделировании механических устройств и систем, в частности в динамике, гидродинамике, аэродинамике, акустике, энергетике и т.д. Этому способствует расширенный набор матричных и иных операций и функций. Настоящая работа содержит методические указания по выполнению лабораторных работ. В первой лабораторной работе рассматриваются пользовательский интерфейс и основные объекты MATLAB, а также операторы, типы данных и действия с ними. Во второй лабораторной работе рассматриваются методы формирования векторов и матриц, способы решения систем линейных уравнений, операции с полиномами. Третья лабораторная работа посвящена способам построения графиков в MATLAB как двумерных, так и трёхмерных. В этой же лабораторной работе рассматриваются методы интерполяции и аппроксимации данных, В четвёртой лабораторной работе рассматриваются возможности использования математического пакета MATLAB для решения дифференциальных уравнений, вопросы программирования в MATLAB и решения некоторых экономических задач.
Лабораторная работа № 1 ЦЕЛЬ РАБОТЫ Сформировать у студентов представления о применении ДУ в различных областях; привить умения решать задачу Коши для ДУ у¢ = f (x, y) на отрезке [ a, b ] при заданном начальном условии у 0 = f (x 0). Решение обыкновенных дифференциальных уравнений (ОДУ) Решатели (solver) ОДУ в MATLAB
Анализ поведения многих систем и устройств в динамике, а также решение многих задач в теории колебаний обычно базируется на решении систем ОДУ. Их, как правило, представляют в виде системы из дифференциальных уравнений (ДУ) первого порядка в форме Коши:
с граничными условиями y (t 0, tend, p) = y, где tend, t 0 начальные и конечные точки интервалов. Параметр t (независимая переменная) необязательно означает время, хотя чаще всего решение ДУ ищется во временной области. Система ДУ в форме Коши записывается аналогично (1.1), но под y в этом случае подразумевается вектор-столбец зависимых переменных. Вектор p задает начальные условия.
Для решения ДУ второго и высшего порядка их нужно свести к системе ДУ первого порядка. Возможны ДУ, не разрешенные относительно производной:
Уравнения (1.2) аналитически к форме (1.1) обычно привести не удается. Однако численное решение особых трудностей не вызывает достаточно для определения f (y, t) решить (1.2) численно относительно производной при заданных y и t.
Решатели ОДУ
Для решения систем ОДУ в MATLAB реализованы различные численные методы. Их реализации названы решателями ОДУ. В этом разделе обобщенное название solver (решатель) означает один из возможных численных методов решения ОДУ: ode45, ode23, ode113, ode15s, ode23s, ode23t, ode23tb, bvp4c или pdepe. Решатели реализуют следующие методы решения систем ДУ: • ode45 одношаговые явные методы Рунге-Кутта 4-го и 5-го порядков в модификации Дорманда и Принца. Это классический метод, рекомендуемый для начальной пробы решения. Во многих случаях он дает хорошие результаты, если система решаемых уравнений нежесткая. • ode23 одношаговые явные методы Рунге-Кутта 2-го и 4-го порядков в модификации Богацки и Шампина. При умеренной жесткости системы ОДУ и низких требованиях к точности этот метод может дать выигрыш в скорости решения. • ode113 многошаговый метод Адамса-Башворта-Мултона переменного порядка класса предиктор-корректор. Это адаптивный метод, который может обеспечить высокую точность решения. • ode15s многошаговый метод переменного порядка (от 1 до 5, по умолчанию 5), использующий формулы численного «дифференцирования назад». Это адаптивный метод, его стоит применять, если решатель ode45 не обеспечивает решения и система ДУ жесткая. • ode23s одношаговый метод, использующий модифицированную формулу Розенброка 2-го порядка. Может обеспечить высокую скорость вычислений при низкой точности решения жесткой системы ДУ. • ode23t неявный метод трапеций с интерполяцией. Этот метод дает хорошие результаты при решении задач, описывающих колебательные системы с почти гармоническим выходным сигналом. При умеренно жестких системах ДУ может дать высокую точность решения.
• ode23tb неявный метод Рунге Кутта в начале решения и метод, использующий формулы «дифференцирования назад» 2-го порядка в последующем. Несмотря на сравнительно низкую точность, этот метод может оказаться более эффективным, чем ode15s. • bvp4c служит для проблемы граничных значений систем ДУ вида y ′ = f (t, y), F (y (a), y (b), p) = 0 (полная форма системы уравнений Коши). Решаемые им задачи называют двухточечными краевыми задачами, поскольку решение ищется при задании граничных условий как в начале, так и в конце интервала решения. Все решатели могут решать системы уравнений явного вида y ′ = F (t, y), причем для решения жестких систем уравнений рекомендуется использовать только специальные решатели ode15s, ode23s, ode23t, ode23tb.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|