42842

Методики итерационного решения задачи Коши методом Рунге-Кутта 4 порядка

Курсовая

Экономическая теория и математическое моделирование

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

Русский

2013-11-02

243.76 KB

28 чел.

  1.  Теоретическая часть

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

- детерминированные;

- стохастические.

Детерминированное моделирование отображает детерминированные процессы, т.е. процессы, в которых предполагается отсутствие всяких случайных воздействий.

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

- статическое;

- динамическое.

Статическое моделирование служит для описания поведения объекта в какой-либо момент времени, а динамическое моделирование отражает поведение объекта во времени.

В зависимости от формы представления объекта (системы) можно выделить

- физическое моделирование;

- математическое моделирование.

Физическое моделирование отличается от наблюдения над реальной системой (натурного эксперимента) тем, что исследования проводятся на моделях, которые сохраняют природу явлений и обладают физическим подобием.

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

Под математическим моделированием понимают процесс установления соответствия данному реальному объекту некоторого математического объекта, называемого математической моделью, и исследование этой модели на ЭВМ, с целью получения характеристик рассматриваемого реального объекта.

Математические модели строят на основе законов, выявленных фундаментальными науками: физикой, химией, экономикой, биологией и т.д. В конечном счете, ту или иную математическую модель выбирают на основе критерия практики, понимаемого в широком смысле. После того как модель сформирована, необходимо исследовать ее поведение, т.е. провести вычислительный (машинный) эксперимент.

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

Математическое моделирование можно разбить на следующие группы:

- аналитическое;

- имитационное;

- комбинированное.

С помощью аналитического моделирования исследование объекта (системы) можно провести, если известны явные аналитические зависимости, связывающие искомые характеристики с начальными условиями, параметрами и переменными системы.

Однако такие зависимости удается получить только для сравнительно простых систем. При усложнении систем исследование их аналитическими методами наталкивается на значительные трудности, которые часто бывают непреодолимыми.

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

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

В настоящее время имитационное моделирование – часто единственный практически доступный метод получения информации о поведении системы, особенно на этапе ее проектирования.

Комбинированное (аналитико-имитационное) моделирование позволяет объединить достоинства аналитического и имитационного моделирования.

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

С точки зрения описания объекта и в зависимости от его характера математические модели можно разделить на модели:

- аналоговые (непрерывные);

- цифровые (дискретные);

- аналого-цифровые.

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

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

1.1. Постановка задачи

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

При реализации цифровых систем управления инженеру-системотехнику приходится решать дифференциальные уравнения в реальном масштабе времени, т.е. непосредственно в процессе управления объектом. Примером могут служить цифровые регуляторы в системах управления электроприводами металлорежущих станков и промышленных роботов, а также цифровые системы управления автомобильными и авиационными двигателями, летательными аппаратами, морскими судами и т.д. Известные математические программы – MathCAD, Matlab, Mathematica и др. непригодны для решения таких задач. Эти программы занимают в ЭВМ много памяти и, кроме того, они не могут работать в реальном масштабе времени. Поэтому для построения компактных, работающих в реальном времени цифровых моделей и систем инженеру приходится самостоятельно

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

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

  1.  
  2.  
  3.  Модели, описываемые обыкновенными дифференциальными уравнениями.

Дифференциальное уравнение порядка n в стандартной форме, т.е. разрешенное относительно старшей производной искомой функции имеет в общем случае вид

Как известно, общее решение уравнения включает  n произвольных постоянных, и, чтобы выделит конкретное частное решение, необходимо задать n конечных уравнений (добавочных условий), связывающих значения искомой функции u и ее производных в некоторых точках. Как правило, добавочное условие определяется начальными условиями.

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

Типичными непрерывными метода являются различные варианты метода Галеркина и другие методы, в которых путем подбора параметров в формуле для приближенного решения производятся «исправление» невязки.

Типичными дискретными методами являются методы Рунге – Кутта, Адамса и другие сходные методы, особенно удобные при компьютерных вычислениях.

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

  1.  Модели, описываемые уравнениями в частных производных.

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

Уравнения с частными производными подразделяются на два класса: уравнения, описывающие стационарное состояние среды, и эволюционные уравнения, описывающие развития процесса в ней.

Среди уравнений первого класса наиболее широко известно уравнения Лапласа и Пуассона, имеющие для пространственных задач, соответственно, вид:

,

.

Для уравнений стационарного состояния добавочными условиями обычно служат краевые условия, отражающие ситуацию на границе области, в которой строится решение, в которых задаются значения u,, либо линейная комбинация u и  – соответственно краевые условия I,II или III рода.

Среди эволюционных уравнений наиболее часто применяются волновые уравнения и уравнения теплопроводности, имеющие для пространственных задач вид:

.

Для таких уравнений обычно ставятся начальное условие, отражающее начальное состояние моделируемого процесса. Если для предпринятого исследования существенна ситуация на границе области, в которой происходит процесс, то задаются еще и граничные условия – тогда задача становиться начально-краевой.

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

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

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

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

  1.  Модели, описываемые интегро-дифференциальными уравнениями.

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

,

.

Такие уравнения появляются, если в моделируемой системе имеется элемент задержки, в результате действия которого скорость эволюции системы определяется ее состоянием не только в текущий момент времени, но и в предыдущий.

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

.

Заданная функция К является ядром этого уравнения. Оно описывает системы, имеющие память.

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

1.5. Процесс численного решения

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

Наиболее важным фактором в численном решении задачи является то, что компьютеры имеют дело с конечным числом цифр и символов. Ошибка, обусловленная ограниченной длиной слов вычислительной машины, называется ошибкой округления. К счастью, большинство современных ЭВМ имеют эффективную арифметику двойной точности. На некоторых машинах арифметика двойной точности реализована с помощью программного обеспечения, что в несколько раз увеличивает время счета по сравнению с вариантом одинарной точности. Другое обстоятельство, которое приводит к погрешности численного решения, связано с необходимостью замены непрерывных задач дискретными задачами. Например, при вычислении интеграла на ЭВМ используются значения подынтегральной функции только в конечном числе точек. Следовательно, даже если арифметические операции будут выполняться точно, без каких-либо округлений, все равно будет существовать ошибка, обусловленная дискретной аппроксимацией интеграла. Ошибки такого типа называют ошибками дискретизации. Эти ошибки, за исключением тривиальных случаев, всегда возникают при численном решении дифференциальных уравнений и других непрерывных задач. В основе многих численных методов лежит идея итерационного процесса. В ходе такого процесса строится последовательность приближений к решению в надежде, что эти приближения сойдутся к решению. Однако на ЭВМ можно реализовать только конечное число таких приближений, поэтому мы вынуждены останавливать решение, не достигнув математической сходимости. Ошибку, вызванную таким конечным завершением итерационного процесса, называют ошибкой сходимости.

Другим важнейшим фактором, помимо точности, рассматриваемым при разработке методов решения математических моделей на ЭВМ, является эффективность. Под этим мы понимаем количество времени, которое необходимо затратить для решения данной задачи на ЭВМ.

Остановимся на методах решения задачи Коши [4], [9], [10]:

1) Одношаговые методы, в которых для нахождения следующей точки на кривой y = f (x) требуется информация лишь об одном предыдущем шаге. Одношаговыми являются:

- метод Эйлера;

- методы Рунге-Кутта.

2) Методы прогноза и коррекции (многошаговые), в которых для отыскания следующей точки кривой y = f (x) требуется информация более чем об одной из предыдущих точек. Чтобы получить достаточно точное численное значение, часто прибегают к итерации.

К числу таких методов относятся методы:

- Милна;

- Адамса-Башфорта;

- Хемминга и др.

1.6. Метод Рунге – Кутта

Пусть требуется найти решение дифференциального уравнения

y’ = f (t, y),

удовлетворяющее начальному условию

y(t0 ) = y0.

Принцип, на котором основан метод Рунге – Кутта, можно пояснить, как и принцип, на котором основан метод Эйлера, с помощью разложения функции в ряд Тейлора

Чтобы удержать в ряде Тейлора член n-го порядка, необходимо вычислить n-ю производную зависимой переменной. При использовании модифицированного метода Эйлера для получения второй производной в конечно-разностной форме достаточно было знать наклон кривой на концах рассматриваемого интервала. Чтобы вычислить третью производную в конечно-разностном виде, необходимо иметь значения второй производной, по меньшей мере, в двух точках. Для этого необходимо дополнительно определить наклон кривой в некоторой промежуточной точке интервала h, т. е. между tn и tn+1 . Очевидно, чем выше порядок вычисляемой производной, тем больше дополнительных точек потребуется вычислить внутри интервала.

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

Наиболее распространенным из них является метод четвёртого порядка точности, при котором удерживаются все члены ряда Тейлора, включая h4. Расчеты при использовании этого классического метода производятся по формулам:

Метод Эйлера и его модификация по сути дела являются методами Рунге – Кутта первого и второго порядка соответственно. Более высокая точность метода Рунге – Кутта позволяет увеличить шаг интегрирования h. Допустимая погрешность на шаге определяет его максимальную величину. В прикладных пакетах программ выбор шага часто осуществляется автоматически. Для этого проводят вычисления сначала с шагом h, а затем – с шагом h/2.

За оценку погрешности вычислений с шагом h/2 можно принять приближенную формулу

 

При реализации методов Рунге – Кутта на ЭВМ для каждой точки проводят двойной счет. Если полученные при этом значения удовлетворяют выражению, то для точки t n+1 шаг удваивают, в противном случае уменьшают вдвое. Однако необходимо помнить, что выражение приближенное и при неблагоприятных условиях можно получить совершенно ошибочные результаты, хотя в большинстве случаев дело обстоит благополучно.

  1.  Практическая часть.

2.1 Целью практической части курсовой работы является освоение методики итерационного решения задачи Коши методом Рунге-Кутта 4 порядка.

Рассмотрим модель двигателя постоянного тока. Ниже приведена эквивалентная схема якорной цепи.

Входные параметры

         Таблица 1

ПАРАМЕТРЫ

ПБВ112

условная длина якоря

M

Номинальный момент, Н*м

Момент инерции якоря, кг м2

Сопротивление обм. якоря, Ом

Индуктивность обм. якоря, Мгн

Постоянная ЭДС, В*с

17,5

0,042

0,123

0,898

0,659

  1. Эквивалентная схема якорной цепи:

Рис.1

Алгебраизированный граф связей физических величин:

Рис.2

    

 Передаточные функции элементарных звеньев:

Таблица 2

Физические зависимости

Передаточные функции

1. 

2. 

3. 

4. 

5. 

Структурная схема модели

Рис.3

Система дифференциальных уравнений:

Уравнения связей:

Система дифференциальных уравнений в форме Коши:

Для решения системы дифференциальных уравнений необходимо написать программу на ЭВМ. В качестве среды написания программы удобно воспользоваться VBA в Excel. Для этого необходимо написать макрос.

2.2 Листинг программы:

Option Explicit

Public Sub raschet()

Dim wb As Object

Dim N, iter, k, i As Integer

Dim t, t0, h, h1 As Double

Dim py() As Double

Dim y() As Double

Dim y0() As Double

Dim y1() As Double

Dim y2() As Double

Set wb = ThisWorkbook.Sheets(1)

N = wb.Range("L11").Value

ReDim py(1 To N)

ReDim y(1 To N)

ReDim y0(1 To N)

ReDim y1(1 To N)

ReDim y2(1 To N)

t = 0

iter = wb.Range("L14").Value

h = wb.Range("L15").Value

For k = 1 To iter

   t0 = t

   For i = 1 To N

       y0(i) = y(i)

       y2(i) = y(i)

   Next i

   h1 = h / 2

   Call diff_ur(y(), py())

   

   For i = 1 To N

       y1(i) = py(i) * h1          'y1=h/2*f(tn,yn)=K1/2

       y(i) = y0(i) + y1(i)        'y=yn+K1/2

       y2(i) = y2(i) + y1(i) / 3   'y2=yn+K1/6

   Next i

   t = t0 + h1

   Call diff_ur(y(), py())

   

For i = 1 To N

       y1(i) = py(i) * h1              'y1=h/2*f(tn+h/2,yn+K1/2)=K2/2

       y(i) = y0(i) + y1(i)            'y=yn+K2/2

       y2(i) = y2(i) + y1(i) * 2 / 3   'y2=yn+K1/6+K2/3

   Next i

   Call diff_ur(y(), py())

   For i = 1 To N

       y1(i) = py(i) * h               'h*f(tn+h/2,yn+K2/2)=K3

       y(i) = y0(i) + y1(i)            'y=yn+K3

       y2(i) = y2(i) + y1(i) / 3       'y2=yn+K1/6+K3/3

   Next i

   t = t0 + h

   Call diff_ur(y(), py())

   For i = 1 To N

       y1(i) = py(i) * h1               'y1=h/2*f(tn+h,yn+K3)=K4/2

       y(i) = y2(i) + y1(i) / 3         'y=yn+K1/6+K2/3+K3/3+K4/6

   Next i

       wb.Cells(k + 2, 2) = t

       wb.Cells(k + 2, 3) = y(1)

       wb.Cells(k + 2, 4) = y(2)

Next k

End Sub

Public Sub diff_ur(y() As Double, py() As Double)

Dim wb As Object

Dim N, iter, k, i As Integer

Dim t, t0, h, h1, C, R, L, J, U, Mn, k1, k2 As Double

   Set wb = ThisWorkbook.Sheets(1)

   C = wb.Range("I15").Value

   R = wb.Range("I13").Value

   L = wb.Range("I14").Value / 1000

   J = wb.Range("I12").Value

   U = wb.Range("I16").Value

   Mn = wb.Range("I11").Value

   k1 = 1 / L

   k2 = 1 / J

   py(1) = k1 * (U - C * y(2) - R * y(1))

   py(2) = k2 * (C * y(1) - Mn)

End Sub

Общий внешний вид программы в Excel.

Результат решения системы.

Вывод: в данной курсовой работе была построена математическая модель двигателя постоянного тока, получены переходные процессы изменения частоты вращения и тока, был освоен численный способ решения систем дифференциальных уравнений (метод Рунге-Кутта 4 порядка).

Список литературы

  1.  Мышкис А.Д. Элементы теории математических моделей. Изд. 3-е, исправленное. М.: КомКнига, 2007. – 192 с.
  2.  Севостьянов А.Г. Моделирование технологических процессов: учебник. М.: Легкая и пищевая промышленность, 1984. – 344 с.
  3.  Чикуров Н. Г.

Ч-60 Моделирование технических систем: Учебное пособие / Н. Г. Чикуров;

Уфимск. гос. авиац. техн. ун-т; – Уфа: УГАТУ 2009. – 357 с.


 

А также другие работы, которые могут Вас заинтересовать

69997. КОНТЕКСТЫ УСТРОЙСТВ. ВЫВОД ТЕКСТА И ГРАФИКИ 65.5 KB
  Цель: Ознакомление с концепцией контекстного представления устройств в современных операционных системах, получение практических навыков по составлению, написанию и отладке программ, осуществляющих аппаратно-независимый вывод информации на экран дисплея, принтеры...
69998. СРЕДСТВА ВВОДА ИНФОРМАЦИИ 57 KB
  Цель: Ознакомление с устройствами, осуществляющими ввод информации в компьютер (мышь, клавиатура), их программным представлением в операционной системе, а также с программными элементами взаимодействия пользователя и ЭВМ (диалоговые окна), получение практических навыков по составлению...
70000. Модернизация электропривода нажимных винтов 15.8 MB
  В проекте был выбран аналогичный по мощности и скорости асинхронный двигатель, преобразователь частоты, выбран векторный способ управления, произведен расчет статического момента. Система управления, построенная по принципу подчиненного регулирования, оптимизирована, рассчитаны...
70001. Правонарушения и преступления в банковской сфере 174.33 KB
  Сущность правонарушений и преступлений и их воплощение в банковской сфере. Регулирование незаконной банковской деятельности и ответственности за нее в зарубежном законодательстве Виды правонарушений и преступлений совершаемых в банковской сфере и их анализ
70002. Анализ положений гражданского и жилищного законодательства РФ 257.5 KB
  Целью представленной работы является анализ положений гражданского и жилищного законодательства РФ в определении объекта жилищных прав жилого помещения исследовать выселение как институт жилищного права и порядок исполнения судебного решения о выселении.
70005. Оцінка сучасного стану та перспективи розвитку ринку банківських послуг в Україні на прикладі ПАТ Акціонерний банк «Південний» 526 KB
  Глобалізація фінансових ринків, сучасні тенденції розвитку світової та національної економіки відображають процес переходу від екстенсивного до інтенсивного розвитку банківської системи. Це проявляється у розширенні сфер діяльності банків, опануванні ними нових сегментів ринку...