# Вторая пачка часть 7

е. ко¬¬¬эф¬фи¬ци¬ент при х1 во второй строке должен быть ра¬вен ну¬¬лю. Затем та¬ким же образом ис¬¬клю¬чают по¬¬сле¬до¬¬ва¬¬тельно а31 , а41 , ..., аm1 . После за¬вер¬ше¬¬ния вы¬чис¬¬ле¬ний все эле¬мен¬ты первого столбца, кроме а11, бу¬¬дут равны ну¬лю. Продолжая этот процесс, исключают из мат¬ри¬¬¬цы А все коэффициенты аij, лежащие ниже главной ди¬а¬го¬на¬ли. Построим общие формулы этого процесса. Пусть ис¬клю¬чены коэффициенты из k - 1 столб¬ца. Тог¬да ниже глав¬ной диагонали долж¬¬¬ны остаться урав¬не¬ния с нену¬ле¬выми эле¬¬-ментами: Умножим k-ю строку на число и вычтем ее из m-й строки. Первый не¬ну¬¬¬левой элемент этой строки обратится в нуль, а ос¬¬¬таль-ные изменятся по формулам (1.26) Произведя вычисления по формулам (1.26) при всех ука¬занных индексах, исключим эле¬мен¬ты k-го столб¬ца. Та¬кое исключение назовем цик¬¬лом, а вы¬¬полнение всех цик¬лов назовем пря¬мым ходом ис¬ключения. После выполнения всех циклов получим верх¬¬нюю тре¬угольную матрицу А системы (1.24), ко¬то¬рая легко ре¬шается обратным ходом по фор¬му¬лам (1.25). Если при прямом ходе коэффициент аjj ока¬зал¬ся ра¬вен нулю, то пе¬ре-ста¬нов¬кой строк пе¬ремеща¬ем на глав¬ную ди¬а¬го-наль не¬ну¬ле¬вой эле¬мент и про¬дол¬жа¬ем расчет. Если предположить, что аjj ? 0, то тогда можно при¬ме¬¬нить подпрограмму GAUS, ре¬ша¬ю-щую сис¬те¬му из n ли¬ней¬¬ных уравнений. Это одна из под¬про¬грамм, тра¬ди¬ци¬он¬но ис¬поль¬зу¬ю-ща¬яся в биб¬ли¬о¬теках стандартных про¬грамм для ЕС-ЭВМ. Ее пе¬ревод на язык PASCAL вы¬полнен ав¬то¬ра¬ми. Формальные параметры процедуры. Входные: n (тип in¬te¬ger) - порядок системы; а (тип real) - мас¬сив ко¬эф¬фи¬ци¬¬ентов системы размером n?n; b (тип real) - массив-стро¬¬ка свободных чле¬нов. Выход¬ные: х (тип real) - мас-сив-строка, в который по¬ме¬ща¬ется ре¬¬шение системы. PROCEDURE GAUS (N:INTEGER; A : MAS; B : MAS1; VAR X : MAS1); TYPE MST = ARRAY [1..N] OF REAL; MSS = ARRAY [1..N] OF MST; VAR A1 : MSS; B1 : MST; I, J, M, K : INTEGER; H : REAL; BEGIN FOR I := 1 TO N DO BEGIN B1[I] := B[I]; FOR J := 1 TO N DO A1 [I,J] := A[I,J]; END; FOR I := 1 TO N-1 DO FOR J := I+1 TO N DO BEGIN A1[J,I] :=- A1[J,I] / A1[I,I]; FOR K := I+1 TO N DO A1[J,K] := A1 [J,K] + A1[J,I]*A1[I,K]; B1[J] := B1[J] + B1[I]*A1[J,I]; END; X[N] := B1[N] / A1[N,N]; FOR I := N-1 DOWNTO 1 DO BEGIN H := B1[I]; FOR J := I+1 TO N DO H := H - X[J]*A1[I,J]; X[I] := H / A1[I,I]; END; END

Индекс
Элементарные функции Линейные уравнения Нелинейные уравнения Случайные числа