Главная  Радио и связь 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 [ 69 ] 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

Проверка условия - диагональные элементы отличны от 0) FOR 1 := 1 ТО п DO BEGIN IP а[1. 13 = О THEN

BEGIN WRITELN;

WRITELN ( Система решается другим методом PAUSA; GOTO finish; END;

END;

{ Преобразование матрицы к виду, удобному для итераций; вычисление компонент вектора XI, равных сумме abs(a(l,J)) по ;); вычисление к-нормы приведенной матрицы }

62 := 0;

POR 1 := 1 ТО п DO BEGIN

s := aCl, 13; aCl, 13 := 0; хШЗ := 0; aCl, n + 13 := all, n + 13 / s; x[13 := aCl, n + 13; POR J := 1 TO n DO IP J <> 1 THEN BEGIN

a[l, j3 := -a[l, j3 / s; x1[13 := xl[13 + ABS(a[l,J3); (32 := (32 + ABS(a[l, J3) * ABS(a[l, J3); END;

END;

(32 := SORT((12); OutputOfMatrlce; { -----------------------------------------------------

Вычислейие га-нормы "приведенной " матрицы }

d := погтп1т(х1);

Вычисление 1-нормы "приведенной" матрицы

FOR 1 := 1 ТО п DO BEGIN xlС13 := 0; POR ;) := 1 TO n DO



Нахождение наименьшей из трех норм IP d1 < d THEN d := d1; IP d2 < d THEN d := d2; WRITELN (Наименьшая норма = d:4:2);

Проверка достаточного условия сходимости метода } IP d >= 1 THEN BEGIN

WRITELN (Достаточные условия сходимости метода итераций); WRITELN С не удовлетворяются);

PAUSA; GOTO finish;

END;

{ ------------------------------------------------------}

WRITELN (Условие сходимости метода удовлетворено); PAUSA;

s := d / (1 - d);

{ -----------------------------------------------------

Выполнение последовательных итераций -----------------------------------------------------}

REPEAT

Vec torOfIterat ion; FOR 1 :=1 TO n DO

xtl] := XI[1] - xCl]; d := normlm(x); OutputOfVector; PAUSA; GhangeXhyXI; UNTIL d*s < e; finish: END.

IF d О 1 THEN xUl] := XICll + ABS(a[d. 11);

END;

d1 := normlm(x1); WRITELN;

WRITELN (Нормы = {•,d:4:2.;.d1:4:2.;\d2:4:2.});



4. Прохраша численного ранения сястеш

линейных алгебраических урашюний методом итераций на языке FORTRAN

fINCLUDE: EXEC.PI

PROGRAM SolutlonOrSysteriiBylteratlon

С «РЕШЕНИЕ СИСТЕМЫ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ* С *УРАВНЕНМЙ МЕТОДОМ ИТЕРАЦИЙ *

О *****************************************

INTEGER*2 system DIMENSION x(9),xt(9) COMMON n,a(9.10) l=system(clsC)

WRITE (*,*) Введите

WRITE (*,») число уравнений n и точность epsllon

READ (*,*) n. e

WRITE (»,») Введите расширенную матрицу по WRITE (*,*) одному элементу (по строкам) DO 1=1,п DO ;)=1 ,п+1

READ (*,*) a(lj) END DO WRITE(*.#) END DO

l=system(clsC) GALL OutputOfMatrlce С ----------------------------------------------------

С Проверка условия - диагональные элементы отличны от О DO 1=1,п

IP (а(1, D.EQ.O) THEN WRITE (*.*)

WRITE (*.*) Система решается другим методом

PAUSE Нажмите клавишу ENTER для продолжения...

GOTO 1 END IP



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 [ 69 ] 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127


0.0121