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


0E-10 THEN BEGIN D := 0; EXIT; END; FOR I := 1 TO N DO BEGIN IF I<> K THEN BEGIN IK := NK + I; A[IK] := A[IK] / (-BIGA); END; END; FOR I := 1 TO N DO BEGIN IK := NK + I; HOLD := A[IK]; IJ := I - N; FOR J := 1 TO N DO BEGIN INC(IJ,N); IF I<>K THEN BEGIN KJ := IJ - I + K; A[IJ] := HOLD*A[KL] + A[IJ]; END; END; END; KJ := K - N; FOR J := 1 TO N DO BEGIN INC (KJ, N); IF J <> K THEN A[KJ] := A[KJ] / BIGA; END; D := D * BIGA; A[KK] := 1.0 / BIGA; END; K := N-1; REPEAT I := L[K]; IF I>K THEN BEGIN JQ := N*(K-1); JR := N*(I-1); FOR J := 1 TO N DO BEGIN JK := JQ + J; HOLD := A[JK]; JI := JR + J; A[JK] := -A[JI]; A[JI] := HOLD; END; END; J := M[K]; IF J>K THEN BEGIN KI := K - N; FOR I := 1 TO N DO BEGIN KI := KI + N; HOLD := A[KI]; JI := KI - K + J; A[KI] := -A[JI]; A[JI] := HOLD; END; END; DEC (K); UNTIL K=0; END. Для проверки работы процедур решим систему не¬ли¬не鬬ных урав¬нений с точностью до 0.001, ис¬поль¬зуя ме¬тод Нью¬то¬на: После отделения корней выяснилось, что сис¬те¬ма имеет решениe по х на интервале 0.4 < х < 0.5, а по y - 0.75 < у < <-0.73. Таким образом, за на¬чаль¬ные при¬бли¬же¬ния можно взять: х0 = 0.4; у0 = -0.75. Далее имеем F(х,у) = sin(2х - у) - 0.4 - 1.2х ; G(х,у) = 0.8х2 + 1.5у2 -1; Fx ' = 2 cos (2х - у) - 1.2; Gх' = 1.6х; Fy' = -cos(2х - у); Gy' = 3у. Уточнение корней системы проведем методом Нью¬то¬на. Взяв за основу предлагаемые про¬це¬ду¬ры и до¬о¬пре¬делив процедуры для вычисления F(х), G(х) и F'(х), G'(х) как PROCEDURE FUNCF (N : INTEGER; XX1,XX2 : REAL; VAR Y : ARRAY OF REAL); BEGIN Y[1] := XX1 - EXP(-XX2); Y[2] := XX2 - EXP (XX1); END. PROCEDURE FUNCG (N : INTEGER; XX1,XX2: REAL; VAR A : ARRAY OF REAL); BEGIN A[1] := 1
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz