Вторая пачка часть 155


5), подставив в него уn-1 из равенства (4.7): . (4.11) Общая схема расчета по методу прогонки сле¬ду¬ю¬щая: 1) по уравнениям (4.10) и (4.9) определяем значения ко¬эф¬фи¬ци¬ен¬тов сi и di , i = 0, 1, ..., n - 1; 2) по уравнениям (4.11) находим уn ; 3) по уравнениям (4.7) вычисляем уn-1, ..., у2, у1; 4) по уравнениям (4.8) находим у0 . Таким образом, данный метод позволяет най¬ти ре¬ше¬ние системы (4.5), а значит, полная по-греш¬ность метода бу¬дет определяться только по¬греш¬ностью раз¬но¬стной ап¬прок¬симации, которая рав-на ?(h). Так как h = = (b - a)/n, то, вы¬бирая n, можно до¬биться уменьшения пгрешности. Но при этом сле¬дует заметить, что, во-пер¬¬вых, из-за не¬кор¬рек¬т¬нос¬ти операции чис¬лен¬но¬го диф¬¬фе¬рен¬ци¬ро-вания, и, во-вто¬рых, из-за воз¬рас¬та¬ния вы¬¬чис¬ли¬тельной погрешности обычно ис¬пользуют дво鬬¬ной пе¬ресчет и правило Рунге (см. § 4). Тог¬да сумма по¬греш¬ности решения уi опре¬де¬лится фор¬му¬лой |у ~i - у(хi)| |уi - у ~i | / 3, где у ~i - решение при 4h; уi - ре¬шение при h; у(хi) - точ¬ное решение. Как метод Рунге - Кутта, так и метод про¬гон¬ки на прак¬тике используется достаточно час¬то, поэтому БСП всегда со¬дер¬жат такую процедуру. Здесь при¬водится про¬це¬ду¬ра из БСП ЕС ЭВМ для язы¬ка FORTRAN. (Пе¬ре¬вод на язы¬к PASCAL выполнен ав¬торами). PROCEDURE PROG ( N:INTEGER; A,B,ALFA0,ALFA1,AL,BETA0,BETA1,BT:REAL; VAR Y : MAS); VAR H, R1, R2,X, T : REAL; J, I, I1 : INTEGER; P, Q : MAS; BEGIN H := (B-A)/N; R1 := H*H; R2 := H*0.5; P[1] := -ALFA1 / (ALFA0*H-ALFA1); Q[1] := -AL*H*P[1]/ALFA1; X := A; FOR I := 2 TO N DO BEGIN I1 := I-1; X := X + H; T := 1.0 - NI(X)*R2; P[I] := (T-2.0) / (MI(X)*R1+T*P[I1] - 2); Q[I] := (FI(X)*R1 - T*Q[I1])*P[I]/(T-2); END; P[N+1] := 0; Q[N+1]:=(BT*H+BETA1*Q[N]) / (BETA0*H+ BETA1-BETA1*P[N]); Y[N+1] := Q[N+1]; FOR J := 1 TO N DO BEGIN I := N-J+1; I1 := I+1; Y[I] := P[I]*Y[I1]+Q[I]; END; END. Формальные параметры процедуры
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz