Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МИРЭА / EXAMPLES / Описание лабораторных работ.doc
Скачиваний:
428
Добавлен:
10.05.2015
Размер:
14.45 Mб
Скачать

Метод численного интегрирования

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

  • процедурой управления шагом интегрирования и (или) порядком метода интегрирования в зависимости от заданного уровня ошибок интегрирования;

  • процедурой так называемой "плотной выдачи" результатов интегрирования с целью получения численного решения в любой точке, которая может не совпадать с шагом интегрирования;

  • процедурой так называемой "неявной выдачи" результатов интегрирования, которая позволяет получать численное решение в момент времени, неявно зависящий от результатов интегрирования;

  • процедурой начальной оценки шага интегрирования;

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

Программа МДС использует вложенный метод Дормана-Принса порядка 5(4), удовлетворяющий всем сформулированным выше требованиям.

Этот метод относится к семейству методов Рунге-Кутта [6]. Программа МДС использует его в качестве основного. Рассмотрим реализацию этого метода в программе МДС в рамках одного шага интегрирования скалярного обыкновенного дифференциального уравнения:

,

где

h- шаг интегрирования;

t- переменная интегрирования;

y0- начальное условие.

Метод, использует приведенную ниже таблицу:

где

ci- часть начального шага интегрирования, использующаяся для вычисления правой частиki(см. ниже);

aijкоэффициенты, соответствующиеkj (см. ниже);,i=1,2,..,7;

biи- коэффициентыiойаппроксимации общего решения (см. ниже) 4гои 5гопорядка соответственно.

Для вычисления общего решения y(t0+h)используются следующие выражения:

,

,

,

,

где

ki-iяаппроксимация общего решенияy(t0+h);

yiи- решения, которые представляют собой результаты интегрирования методом 5гои 4гопорядка соответственно; решениеyiиспользуется как начальное условие для следующего шага; решениеиспользуется только для вычисления локальной ошибки интегрирования по формуле:

,

Эта формула может быть обобщена для случая обыкновенных дифференциальных уравнений следующим образом:

,

где

j- номер уравнения в системе;

kji- коэффициент, имеющий смысл, аналогичныйki;

wj- весовой коэффициент, отражающий вклад локальной ошибки интегрирования уравнения с номером "j" в общую локальную ошибку интегрирования системы.

Оценка глобальной ошибки интегрирования.

Глобальная ошибка интегрирования уравнения с номером "j" послеNвыполненных шагов с локальной ошибкой “tol” определяется следующим образом:

,

Коррекция шага интегрирования

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

Алгоритм базируется на известной формуле Ческино:

,

где

P- порядок метода;

tol- заданное значение локальной ошибки;

err- локальная ошибка на текущем шаге.

Для обеспечения более "осторожной" процедуры интегрирования, приведенные выше выражения умножаются на так называемый гарантирующий коэффициент fac(этот коэффициент может быть равен 0.8, 0.9, (0.25)1/(p+1), или (0.38)1/(p+1)). Кроме того, неудобно, если величина шага меняется слишком быстро (резко). Чтобы избежать этого, используется следующая формула для вычисления значения следующего шага интегрированияhnew:

,

где

facmaxи - максимальное и минимальное приращение шага интегрирования;

facmax…, как правило, принимается на интервале [1,5 .. 5];

facminкак правило принимается равнымfacmin= 1/facmax.

Плотная выдача

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

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

0<<1.

Этот алгоритм применительно к методу Дормана-Принса имеет вид:

b1() =(1+(-1337/480+(1039/360+(-1163/1152)))),

b2() = 0,

b3() = 100/32(1054/9275+(-4682/27825+(379/5565))),

b4() = -5/22(27/40+(-9/5+(83/96))),

b5() = 18225/8482(-3/250+(22/375+(-37/600))),

b6() = -22/72(-3/10+(29/30+(-17/24))),

.

Этот алгоритм совместно с описанным выше алгоритмом интегрирования определяет механизм так называемой "плотной выдачи".