![]() | |
|
Главная Радио и связь Проверка условия - диагональные элементы отличны от 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 |