Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Решение системы ОДУ методом Рунге-Кутта




Кроме блока Given…OdesolveвMathCadимеется ещё несколько функций, реализующих классические алгоритмы численного решения задачи Коши для систем обыкновенных дифференциальных уравнений. Важнейшими из них являются методы Рунге-Кутта интегрирования уравнений с фиксированным (rkfixed) шагом и с переменным шагом (Rkadapt), которые практически всегда приводят к решению. Аналогичные задачи позволяет решать и метод Булирша-Штера( Bulirsch-Stoer) с переменным и фиксированным шагом (функция Bulstoer), который в некоторых случаях даёт более точное решение при меньших затратах машинного времени. Для решения систем с вырожденной матрицей ОДУ предназначена функцияRadau, которая реализует метод Розенброка.

Рис. 3. Пример решения системы ОДУ решающим блоком

Given …Odesolve.

Решение системы ОДУ методом Рунге-Кутта с фиксированным шагом интегрирования (функция rkfixed)

Функция rkfixed возвращает матрицу S1 размерности (n+1)*npoitsзначений решения системыn- обыкновенных дифференциальных уравненийна отрезке [t0, t1] изменения аргумента t, определенного производными в векторе D(t,Y) и начальными условиями, заданными вектором Y0,методомРунге-Кутта с постоянным (заданным) шагом изменения аргумента. Параметр n -точек задаёт число строк в матрице результата. Очевидно, чем больше число n-точек , тем точнее аппроксимация решения. Пример решения ОДУ методом Рунге-Кутта представлен на рис.4.

Обращение к функции имеет вид: rkfixed(Y, t0, t1, npoints, D).

Для решения системы уравнений с использованием этой функции необходимо:

  • присвоить начальное t0и конечное значенияt1отрезка интегрирования (аргумента t);
  • задать (присвоить) число точек интегрирования (параметр npoints);
  • cоздать вектор начальных условий с именемY0размерности n;
  • создать вектор D(t,Y)правых частей системы уравнений – производных,размерностьюn;
  • напечатать решение: S1:=rkfixed(Y0, t0,t1, npoints, D).

Рис. 4. Пример решения системы ОДУ функцией

rkfixed(y, x1, x2, npoints, D) и выводом решения в табличной форме

Решение системы уравнений представляет собой матрицу размерности (n+1)*npoits, поэтому для просмотра и оформления результатов необходимо аргументуtи искомым функциям присвоить значения соответствующих элементов векторов-столбцов матрицы решений S1 (интерполировать матрицу системой функций):

- значение вектора аргумента,

- значение первой функции,

- значение второй функции, (3)

- значение n-йфункции.










Последнее изменение этой страницы: 2018-04-12; просмотров: 458.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...