Дифференциальные уравнения и математическое моделирование
Ознакомление с применением обыкновенных дифференциальных уравнений (ОДУ) в решении элементарных задач математического моделирования. Анализ способов решения ОДУ (задач Коши и краевых задач) в программах научного программирования (на примере Matlab).
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 17.05.2021 |
Размер файла | 646,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
«Дальневосточный федеральный университет»
ИНЖЕНЕРНАЯ ШКОЛА
Кафедра нефтегазового дела и нефтехимии
Дифференциальные уравнения и математическое моделирование
Выполнил студент гр
И.Н. Голуб
Цель работы: ознакомление с применением обыкновенных дифференциальных уравнений (ОДУ) в решении элементарных задач математического моделирования, а также способами решения ОДУ (задач Коши и краевых задач) в программах научного программирования (на примере Matlab).
1.Основные теоретические сведения
дифференциальное уравнение математическое моделирование
Понятие об обыкновенных дифференциальных уравнениях:
Математическое моделирование служит для постановки и решения задач реального мира в математических терминах.
Обыкновенным дифференциальным уравнением (ОДУ) называется уравнение, связывающее между собой значения независимой переменной x, неизвестной функции y = f(x) и её производных (или дифференциалов):
Порядком уравнения называется максимальный порядок n входящей в него производной (или дифференциала).
Решением (интегралом) дифференциального уравнения порядка n называется функция y(x), имеющая на некотором интервале (a, b) производные до порядка n включительно и удовлетворяющая этому уравнению. Процесс решения дифференциального уравнения называется интегрированием
Все дифференциальные уравнения можно разделить на обыкновенные (ОДУ), в которые входят только функции (и их производные) от одного аргумента, и уравнения с частными производными (УРЧП), в которых входящие функции зависят от многих переменных.
Геометрический смысл уравнения первого порядка/
Интегрирование дифференциального уравнения геометрически означает нахождение кривых, у которых направление касательной в каждой точке совпадает с направлением поля. На рисунке справа изображено поле направлений, определяемое уравнением , и три интегральные кривые (три частных решения) этого уравнения. Решение можно провести через любую точку области D; единственное решение можно выделить, если задать точку, через которую проходит интегральная кривая
Приложения к математическому моделированию и информатике.
Иногда для моделирования производственных процессов в нефтегазовой отрасли промышленности интересны не столько функция f(x), сколько скорость f'(x) и ускорение f''(x) ее изменения. В некоторых случаях только скорость и ускорение бывают известны. В этом случае требуется найти функцию (интеграл).
Производные и интегралы в Matlab
Нахождение интеграла в Matlab осуществляется с помощью функции int():
int(expr,var,a,b);
Здесь: expr - выражение,
var - переменные выражения,
a и b - нижние и верхние интервалы интегрирования.
Рассмотрим пример решения интеграла выше:
Решение ОДУ в Matlab
Для решения обыкновенных дифференциальных уравнений в Matlab применяется функция ode45(). С помощью этой функции можно граничные задачи.
Синтаксис команды: [T y]=ode45(ydot,t,y0), здесь: y - вектор (массив- строка) решений дифференциального уравнения, y0 - начальное значение функции y(t), t0 - начальное значение аргумента, t - вектор значений времени работы модели, ydot - производная исследуемой функции, T - соответствующее y значение функции.
Выполним постановку, табличное и графическое решение задачи о численности популяции в Matlab для определенного коэффициента прироста популяции и на множестве (т.е. с момента времени 0 до 10).
2.Задача 1. Разрядка аккумуляторной батареи
Требуется сформулировать задачу разрядки батареи, питающий лампу. Электрическая схема цепи состоит из источника постоянного тока c напряжением U, выключателя и лампы.
Чем дольше горит лампа, тем меньшее напряжение должна вырабатывать батарейка модели и тем слабее должна светить лампочка. В этом и состоит динамика модели: напряжение и связанная с ним яркость свечения лампы зависят от времени.
Уменьшение напряжения батарейки со временем опишем уравнением:
, где:
UБ(t) - зависимость напряжения батарейки от общего времени ее работы;
U0 - напряжение, создаваемое новой батарейкой;
t - общее время работы батарейки в фонарике;
T - срок службы батарейки, работающей в фонарике.
При решении этой задачи мы пренебрежем сопротивлением проводов, поэтому напряжение на лампочке будет равно напряжению батарейки.
Для решения задачи нам потребуется представить уравнение разряда батарейки в дифференциальном виде:
Требуется:
А) Найдите численное решение уравнения этой задачи, задав характеристики аккумуляторной батареи (см. вариант задачи, Приложение А). Как найти коэффициент пропорциональности ?
Б) По аналогии с предыдущими упражнениями, пожалуйста, составьте код Matlab. Когда разрядится аккумулятор?
В) Постройте, пожалуйста, график изменения напряжения U(t) в Matlab для вставки в отчет.
Исходные данные для решения самостоятельной задачи №1
Решение задачи 1
А) Чтобы найти коэффициент пропорциональности, нужно выразить его из следующего уравнения:
Примечание: «;» мы используем для запрета вывода на экран результата вычислений.
Результат следующий:
Из этого можно сделать вывод, что коэффициент пропорциональности составляет 0.0191
Б) Нужно узнать когда разрядится аккумулятор.
Для определения, когда разрядится аккумулятор, мы определяем напряжение разряженной батарейки.
Определяем мы следующим образом. Так как батарейка разрядится почти на две трети, ее напряжение составит 37% от начального. Следовательно, нам нужно взять напряжение, создаваемое новой батарейкой, поделить на 100% и умножить на 37%. Т.к. U0=16, получаем :
Примечание: команду «disp» мы используем для вывода значений текста в командное окно.
Напряжение данной батарейки будет составлять 5.92В
Теперь определим время, когда разрядится аккумулятор
Результат следующий:
Из этого можно сделать вывод, что данная батарейка разрядится через 53 минуты.
В) График изменения напряжения .
Для решения обыкновенных дифференциальных уравнений применяется функция ode45().
Синтаксис команды: [T U]=ode45(Udot,t,U0), здесь:
U - вектор (массив- строка) решений дифференциального уравнения,
U0 - начальное значение функции y(t),
t0 - начальное значение аргумента,
t - вектор значений времени работы модели,
Udot - производная исследуемой функции,
T - соответствующее y значение функции.
Примечание: команда plot(T, U) строит график элементов одномерного массива.
«ylabel» ('Напряжение[V]') помещает текст вдоль оси y
«xlabel» ('Время(min)') помещает текст вдоль оси x
Заголовок мы задаем командой «title»
Задача 2. Зарядка электроконденсатора
Электрический конденсатор изначально не заряжен. Процесс зарядки электрического конденсатора в цепи 8, к которому в момент времени 1 = 0 приложено напряжение U, описывается ОДУ первого порядка с начальным условием Q(0)=0.
а) Найдите численное решение уравнения этой задачи, задав следующие характеристики цепи сопротивление R, емкость С, напряжение V (см. вариант задачи, Приложение Б)
б) Ответьте, пожалуйста, на вопросы. Как зависит заряд конденсатора от времени. Заряжается ли он бесконечно, или в какой-то момент времени происходит его насыщение?
в) Постройте, пожалуйста, график зарядки конденсатора для вставки в отчет.
Исходные данные для решения самостоятельной задачи №2
Решение задачи 2
Для решение данной задачи первым делом записываем интервал графика и начальные значения по варианту.
Рассчитываем производную для дальнейшего построения графика.
И приступаем к построению графика с помощью команды plot
Размещено на Allbest.ru
...Подобные документы
Исследование конечно-разностных методов решения краевых задач путем моделирования в среде пакета Micro-Cap V. Оценка эффективности и сравнительной точности этапов получения решений методом математического, аналогового моделирования и численными расчетами.
курсовая работа [324,3 K], добавлен 23.06.2009Основные этапы математического моделирования. Метод Эйлера как наиболее простой численный метод решения обыкновенных дифференциальных уравнений. Написание компьютерной программы, которая позволит изучать графики системы дифференциальных уравнений.
курсовая работа [1,9 M], добавлен 05.01.2013Использование расширения MATLAB - Simulink как системы математического моделирования. Электроэнергетическое направление системы - пакет Sim Power Systems, методом моделирования решающий задачи электроэнергетики. Структура и функциональные компоненты.
курсовая работа [1,5 M], добавлен 09.10.2014Команды, используемые при решении обыкновенных дифференциальных уравнений в системе вычислений Maple. Произвольные константы решения дифференциального уравнения второго порядка, представленном рядом Тейлора. Значения опции method при численном решении.
лабораторная работа [47,2 K], добавлен 15.07.2009Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений: Эйлера, Рунге-Кутта, Адамса и Рунге. Техники приближенного решения данных уравнений: метод конечных разностей, разностной прогонки, коллокаций; анализ результатов.
курсовая работа [532,9 K], добавлен 14.01.2014Практические навыки моделирования задач линейного программирования и их решения графическим и симплекс-методом с использованием прикладной программы SIMC. Моделирование транспортных задач и их решение методом потенциалов с помощью программы TRAN2.
контрольная работа [199,8 K], добавлен 15.06.2009Постановка задачи линейного программирования и формы ее записи. Понятие и методика нахождения оптимального решения. Порядок приведения задач к каноническому виду. Механизмы решения задач линейного программирования аналитическим и графическим способами.
методичка [366,8 K], добавлен 16.01.2010Обзор и сравнительный анализ современных математических пакетов. Вычислительные и графические возможности системы MATLAB, а также средства программирования в среде MATLAB. Основные возможности решения задач оптимизации в табличном процессоре MS Excel.
дипломная работа [6,6 M], добавлен 04.09.2014Разработка быстрого и эффективного алгоритма для решения задачи оценки параметров обыкновенных дифференциальных уравнений с запаздывающими аргументами, не разрешаемых аналитически. Реализация алгоритма в виде библиотеки на языке программирования MATLAB.
дипломная работа [1,6 M], добавлен 19.06.2012Решение дифференциальных уравнений с использованием классических алгоритмов численных методов Эйлера и Рунге-Кутта 4-го порядка. Команды, используемые при решении обыкновенных дифференциальных уравнений в системе вычислений. Результат работы программы.
курсовая работа [226,6 K], добавлен 05.04.2013Назначение и возможности пакета MATLAB, его основные составляющие. Набор вычислительных функций. Роль интерполяции функций в вычислительной математике. Пример интерполяции с четырьмя узлами. Интерполирование и сглаживание, схемы решения задач в MATLAB.
курсовая работа [594,5 K], добавлен 28.12.2012Понятие линейного программирования и оптимизации. Основы работы в системе MathCAD. Интерфейс пользователя, входной язык и тип данных. Этапы компьютерного математического моделирования. Пример решения оптимизационной задачи средствами программы MathCAD.
курсовая работа [352,8 K], добавлен 16.10.2011Основные подходы к математическому моделированию решений дифференциальных краевых задач. Метод конечных разностей и элементов. Графическая схема алгоритма метода прогонки, программное обеспечение. Оператор конвективного переноса и одномерность задачи.
курсовая работа [999,6 K], добавлен 22.12.2015Математическое описание численных методов решения уравнения, построение графика функции. Cтруктурная схема алгоритма с использованием метода дихотомии. Использование численных методов решения дифференциальных уравнений, составление листинга программы.
курсовая работа [984,2 K], добавлен 19.12.2009Решение системы дифференциальных уравнений, заданной в нормальной форме Коши. Определение аналитических зависимостей изменения переменных состояния системы с использованием преобразования Лапласа. Численный метод решения системы c помощью Mathcad.
практическая работа [657,1 K], добавлен 05.12.2009Графический и аналитический методы отделения корней при решении уравнения. Уточнение отдельных корней уравнения: метод половинного деления, последовательных приближений, метод Ньютона. Расчет в программах Excel, MathCAD, на языке программирования Pascal.
курсовая работа [3,2 M], добавлен 29.05.2010Дискретная минимаксная задача с ограничениями на параметры. Применение решений минимаксных задач в экономике с помощью математического пакета Maple. Математические пакеты Maple и Matlab. Основные средства решения минимаксных задач в среде Марle-языка.
курсовая работа [2,2 M], добавлен 17.06.2015Теоретические основы задач оптимизации. Математическое и линейное программирование. Дифференциальные и разностные уравнения в экономико-математических моделях. Решение задач, подчиняющих закону естественного роста в пакете Maple. Программа MS Excel.
курсовая работа [2,1 M], добавлен 07.05.2014Разработка программы для решения системы обыкновенных дифференциальных уравнений на базе языка программирования Паскаль АВС. Чтение исходных данных из внешнего файла. Вывод исходных данных и результатов на дисплей и во внешний файл. Суть метода Ейлера.
реферат [126,1 K], добавлен 12.01.2012Характеристика параметрических методов решения задач линейного программирования: методы внутренней и внешней точки, комбинированные методы. Алгоритм метода барьерных поверхностей и штрафных функций, применяемых для решения задач большой размерности.
контрольная работа [59,8 K], добавлен 30.10.2014