Мегаобучалка Главная | О нас | Обратная связь


Устойчивость методов полиномиальной аппроксимации



2015-12-04 538 Обсуждений (0)
Устойчивость методов полиномиальной аппроксимации 0.00 из 5.00 0 оценок




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

где - комплексный параметр.

Применим алгоритм (22) к решению задач (38), получим

Преобразуем (39) в эквивалентное разностное уравнение

где .

Положив в (40) , получим после сокращения на многочлен степени :

Многочлен (41) будем называть характеристическим многочленом метода полиномиальной аппроксимации (22).

Общее решение разностного уравнения (40) определяется выражением

где - различных корней характеристического многочлена (41), - произвольные постоянные, значения которых находятся из стартовых значений решения. Если характеристический многочлен (41) имеет кратный корень ( - его кратность), то соответствующее слагаемое в формуле (42) общего решения будет иметь вид

Заметим, что если , то при (даже в том случае, когда корень - простой). Если - корень кратности и , то из (43) следует, что при .

Замечание.При значение является простым корнем характеристического многочлена тогда и только тогда, когда .

Теорема(критерий устойчивости методов полиномиальной аппроксимации).

Состоятельный метод полиномиальной аппроксимации (22), удовлетворяющий условию , устойчив (в том смысле, что локальная алгоритмическая ошибка метода и ошибка округления остаются ограниченными при достаточно малой величине шага ) тогда и только тогда, когда все корни многочлена

таковы, что , а те корни, для которых , простые.

Корни многочлена (44) принято называть паразитными.

Замечание.Методы Адамса-Башфорта и Адамса-Мултона устойчивые. Действительно, для этих методов , . Поэтому

.

Здесь все корни многочлена равны нулю и, следовательно, лежат внутри единичного круга.

Обозначим через - решение уравнения

со стартовыми значениями ( ).

Теорема (оценка глобальной погрешности многошагового метода полиномиальной аппроксимации).

Пусть выполнены следующие условия:

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

2. Пусть - точное решение уравнения задачи Коши (1) имеет на отрезке непрерывные производные до порядка , .

3. Метод полиномиальной аппроксимации (22) является состоятельным и .

4. При достаточно малом все корни многочлена

таковы, что , а те корни, для которых , простые.

 

Тогда для глобальной ошибки метода (22) справедлива оценка

 

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

Из (45) следует, что глобальная ошибка метода полиномиальной аппроксимации состоит из трех частей:

1) ошибка при вычислении стартовых значений,

2) суммарная алгоритмическая ошибка метода, характеризуемая величиной , убывающая с уменьшением ,

3) ошибка округления, представленная членом , который растет с уменьшением .

Погрешность, очевидно, растет с увеличением длины отрезка, на котором разыскивается решение.

Замечание.Все описанные методы решения задачи Коши (1) переносятся на системы дифференциальных уравнений

где

или

…….

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

6. Задание.Найдите на отрезке решение задачи Коши для системы обыкновенных дифференциальных уравнений

с точностью , методами Рунге-Кутта, Адамса-Башфорта четвертого порядка и прогноза-коррекции (используя для прогноза алгоритм (37) и коррекции – метод Адамса-Мултона четвертого порядка).

Варианты заданий.

№ варианта
0,5 1,5
-1
0,5 1,2
-1
0,7 -0,5
0,2
-1
№ варианта
-1
        1/6
1/7
0,125
1/9
0,1
1/11
1/11
1/12
1/13
1/14
    1/6
1/7
0,125
1/9
0,1
1/11
1/12

Приложение.Для выполнения задания можно использовать следующие процедуры (на языке Паскаль):

 

1) Процедура rung, реализующая алгоритм метода Рунге-Кутта четвертого порядка (18):

 

Procedure rung(h:real; var x0:real;var y0:vector; n:integer);

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

h – шаг интегрирования системы;

x0 – стартовое значение аргумента;

y0 – массив, содержащий значения решения системы в точке x0;

n - размерность системы.

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

y0 – массив, содержащий значения решения системы в точке x0+h.

Здесь vector - одномерный массив порядка n}

var

i:integer;

begin

f(x0,y0,k1); for i:=1 to n do yt[i]:=y0[i]+0.5*h*k1[i];

f(x0+0.5*h,yt,k2); for i:=1 to n do yt[i]:=y0[i]+0.5*h*k2[i];

f(x0+0.5*h,yt,k3); for i:=1 to n do yt[i]:=y0[i]+h*k3[i];

f(x0+h,yt,k4); x0:=x0+h;

for i:=1 to n do y0[i]:=y0[i]+(h/6)*(k1[i]+2*k2[i]+2*k3[i]+k4[i])

end;

 

2) Процедура ad , реализующая алгоритм метода Адамса-Башфорта четвертого порядка (см. Таблицу 1):

 

Procedure ad(h:real;var yt:start;var y0:vector);

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

h – шаг интегрирования системы;

yt – двумерный массив порядка (n,4)(n-размерность системы),столбцы

которого являются решениями системы в четырех стартовых точках.

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

y0 – массив, содержащий решение системы в точке, отстоящей на 4h от

первой стартовой.

Здесь start – двумерный массив порядка (n,4), vector - одномерный

массив порядка n, kof – одномерный массив порядка 4.}

var

i,j:integer; kf:kof;

begin

kf[1]:=-9.0/z; kf[2]:=37.0/z; kf[3]:=-59.0/z; kf[4]:=55.0/z;

for i:=1 to n do

for j:=1 to 4 do

y0[i]:=y0[i]+h*yt[j,i]*kf[j]

end;

3) Процедура ad_mult, реализующая алгоритм метода прогноза-коррекции: прогноз - явный метод (37), коррекция - метод Адамса-Мултона четвертого порядка (см. Таблицу 2).

 

Procedure ad_mult(x0,h,eps:real;ys:start;var yc:vector);

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

x0 – первая стартовая точка решения системы;

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

eps- значение в условии окончания итерационного процесса при

коррекции решения ;

ys – двумерный массив порядка (n,3) (n-размерность системы),

столбцами которого являются решения системы в трех стартовых

точках.

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

yc - массив, содержащий решение системы в точке, отстоящей на 3h от

первой стартовой.

Здесь start – двумерный массив порядка (n,3), vector - одномерный

массив порядка n, kof – одномерный массив порядка 4.}

var

i,j :word;

yt :start; {

yp,y :vector; {

ka_m :kof;

x :real;

begin

yp:=ys[3];

for j:=1 to 3 do f(x0+j*h,ys[j+1],yt[j]);

ka_m[1]:=1/z; ka_m[2]:=-5/z; ka_m[3]:=19/z; ka_m[4]:=9/z;

for i:=1 to n do yp[i]:=yp[i]+2*h*yt[3,i]; {прогноз}

f(x0+4*h,yp,yt[4]);

yc:=ys[4];

for i:=1 to n do

for j:=1 to 4 do

yc[i]:=yc[i]+h*yt[j,i]*ka_m[j];

while nr(yp,yc)>=eps do

{nr – имя функции,вычисляющей норму разности двух векторов}

begin yp:=yc; y:=ys[4];

f(x0+4*h,yc,yt[4]);

for i:=1 to n do

for j:=1 to 4 do

y[i]:=y[i]+h*yt[j,i]*ka_m[j];

yc:=y

end

end;

function nr(z,z1:vector):real;

{vector - одномерный массив порядка n}

var i :word;

q :real;

begin

q:=0; for i:=1 to n do

if abs(z1[i]-z[i])>=q then q:=abs(z1[i]-z[i]);

nr:=q

end;

 

Составитель – Трофимов Валерий Павлович

Редактор - Бунина Т.Д.



2015-12-04 538 Обсуждений (0)
Устойчивость методов полиномиальной аппроксимации 0.00 из 5.00 0 оценок









Обсуждение в статье: Устойчивость методов полиномиальной аппроксимации

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (538)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)