Лаборатроная работа 3 для потока А-4,6,7,8,9,12-18 ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ "Решение СЛАУ итерационными методами" ORIGIN 1 - нумерация массивов начинается с единицы вариант N 10 размерность параметр m 9 q ( N 26 5 ) m 189 Задаем матрицу: i 1 m j 1 m A i j 1 A 0.1 q 2 q e ( i j ) 3 2 4 5 1 188.978 69.477 3.427 0.038 0.051 2 69.477 188.965 69.544 3.512 0.063 3 3.427 69.544 189.051 69.569 3.454 4 0.038 3.512 69.569 188.992 69.481 5 0.051 0.063 3.454 69.481 188.956 6 0.04 -7.677·10-3 -0.025 3.417 69.529 7 -7.698·10-3 -0.048 -0.044 0.024 3.506 -0.048 -0.044 2.342·10-4 0.045 0.071 -0.044 2.342·10-4 0.045 0.048 ... 8 9 Задаем вектор правой части: b q 2 i i cos( i j ) 187 185 183 181 b 179 177 175 173 171 Преобразуем СЛАУ к виду x=Bx+c по формулам метода Якоби: for i 1 m PB( A m) for i 1 m Pc( A b m) for j 1 m b A B i j i j c i if i j A i i i A i i c B B PB( A m) 1 B 2 3 4 5 1 0 -0.368 -0.018 -2.028·10-4 -2.689·10-4 2 -0.368 0 -0.368 -0.019 -3.345·10-4 3 -0.018 -0.368 0 -0.368 -0.018 4 -2.028·10-4 -0.019 -0.368 0 -0.368 5 -2.69·10-4 -3.345·10-4 -0.018 -0.368 0 6 -2.11·10-4 4.061·10-5 1.316·10-4 -0.018 -0.368 7 4.073·10-5 2.551·10-4 2.348·10-4 -1.246·10-4 -0.019 8 2.551·10-4 2.35·10-4 -1.239·10-6 -2.364·10-4 -3.775·10-4 9 2.349·10-4 -1.239·10-6 -2.362·10-4 -2.54·10-4 ... c Pc( A b m) 0.99 0.979 0.968 0.958 c 0.947 0.936 0.926 0.916 0.905 Проверка выполнения достаточного условия сходимости: normi( B) 0.774 или бесконечная норма norm1( B) 0.773 первая норма norme( B) 1.473 евклидова норма или Параметры функции: B, c - получены в результате преобразования сисемы к виду x=Bx+c; m - размерность B; k число совершаемых итераций; x0 - начальное приближение. Метод Якоби: yakobi ( B c m k x0) x x0 for n 1 k x B x c for i 1 m rez n i x i rez Метод Зейделя: zeid1( B c m k x0) y x0 for n 1 k xy for i 1 m i y c i i m B j1 for i 1 m rez n i y i rez Вычисление первой нормы вектора: a - вектор m - число элементов в векторе normv1( a m) rez 0 for i 1 m rez rez a i rez Задаем начальне приближение: x0 c Выполняем 10 итераций по методу Якоби: y yakobi ( B c m 10 x0) y i j j Bij xj ji 0.612 0.897 0.729 0.855 0.772 y 0.834 0.791 0.823 0.801 0.818 0.241 0.22 0.217 0.215 0.213 0.211 0.225 0.551 0.346 0.401 0.355 0.344 0.347 0.381 0.324 0.557 0.691 0.67 0.674 0.657 0.661 0.527 0.398 0.489 0.433 0.434 0.423 0.464 0.374 0.507 0.64 0.603 0.614 0.591 0.612 0.48 0.425 0.533 0.475 0.484 0.465 0.507 0.44 0.556 0.499 0.512 0.488 0.529 0.415 0.471 0.599 0.547 0.564 0.537 0.571 0.445 i 1 m i 0.4 0.483 0.613 0.567 0.582 0.556 0.586 0.457 На 10 итерации: x y 0.659 0.779 0.699 0.759 0.717 0.748 0.726 0.742 0.669 0.784 0.789 0.781 0.771 0.751 0.631 0.818 10 i 0.817596 0.470688 0.598771 0.547235 x 0.563796 0.536582 0.571308 0.444889 0.742486 Проверка 189.274 189.295 188.746 187.84 A x 186.043 183.803 180.697 177.241 173.243 Норма невязки: r A x b normv1( r m) 45.181108 187 185 183 181 b 179 177 175 173 171 Выполняем 10 итераций по методу Зейделя: y zeid1( B c m 10 x0) 0.612 0.842 0.796 0.813 0.81 y 0.811 0.811 0.811 0.811 0.811 0.447 0.42 0.38 0.422 0.416 0.412 0.424 0.741 0.453 0.57 0.52 0.461 0.583 0.53 0.457 0.58 0.53 0.525 0.55 0.433 0.538 0.518 0.553 0.432 0.528 0.541 0.516 0.554 0.432 0.458 0.581 0.527 0.542 0.516 0.554 0.432 0.457 0.581 0.526 0.543 0.515 0.554 0.432 0.457 0.582 0.526 0.543 0.515 0.554 0.431 0.457 0.582 0.526 0.543 0.515 0.555 0.431 0.457 0.582 0.526 0.543 0.515 0.555 0.431 На 10 итерации: i 1 m x y i 0.735 0.736 0.736 0.736 0.736 0.736 0.736 0.736 0.497 0.608 0.562 0.568 0.558 0.541 0.434 0.735 10 i 0.810854 0.457099 0.581819 0.525583 x 0.543034 0.515046 0.554531 0.431453 0.735873 Проверка 186.996 185.004 182.996 181.003 A x 178.998 177.001 175 173 171 187 185 183 181 b 179 177 175 173 171 Норма невязки: r A x b normv1( r m) 0.018093 Решение СЛАУ с использованием встроенной в Mathcad процедуры метода Гаусса: 0.810897 0.45704 0.581875 0.525538 lsolve( A b ) 0.543065 0.515026 0.554542 0.431448 0.735874 Изменим функции для вычисления корней по методу Якоби и Зейделя, так что-бы корни вычислялись пока не будет достигнута заданная точность 6 eps 10 Метод Якоби: yakobi ( B c m eps x0) x x0 e1 1 norm1( B) norm1( B) eps y B x c n1 while ( y x e1) ( n 500 ) xy y B x c nn1 y n norm1( B) 0.773 Достаточное условие сходимости для метода Якоби выполнено y yakobi ( B c m eps x0) 0.811 0.457 0.582 0.526 y 0.543 1 0.515 0.555 0.431 0.736 y 51 2 Норма невязки: r A y b 1 4 normv1( r m) 1.142171 10 norm1( B) 0.773 Метод Зейделя: Достаточное условие сходимости для метода Зейделя выполнено zeid1( B c m eps x0) y x0 B2 B for i 1 m for j 1 i B2 i j 0 1 norm1( B) e1 norm1( B2) eps xy for i 1 m i y c i i m B y i j j j1 Bij xj ji n1 while ( y x e1) ( n 500 ) xy for i 1 m i y c i i j1 nn1 y n y zeid1( B c m eps x0) 0.811 0.457 0.582 0.526 y 0.543 1 0.515 0.555 0.431 0.736 y 17 2 Норма невязки: r A y b 1 5 normv1( r m) 6.948738 10 m B y i j j Bij xj ji Повторим те же, действия для матрицы с размерностью 5*m: m 5 9 q ( N 26 5 ) m 945 i 1 m j 1 m A i j cos( i j ) 0.1 q q e ( i j ) 2 b q 2 i i B PB( A m) c Pc( A b m) norm1( B) 0.773 Достаточное условие для сходимости метода Якоби и метода Зейделя выполнено Задаем начальне приближение: y yakobi ( B c m eps x0) 1 1 0.815 2 0.467 3 0.596 4 0.546 5 0.563 6 0.555 7 y 8 1 0.556 9 0.553 10 0.552 11 0.551 12 0.55 13 0.549 14 0.547 15 0.546 16 ... 0.554 y 65 2 x0 c Норма невязки: r A y b 1 3 normv1( r m) 1.168244 10 y zeid1( B c m eps x0) 1 1 0.815 2 0.467 3 0.596 4 0.546 5 0.563 6 0.555 7 y 8 1 0.556 9 0.553 10 0.552 11 0.551 12 0.55 13 0.549 14 0.547 15 0.546 16 ... 0.554 y 19 2 Норма невязки: r A y b 1 4 normv1( r m) 3.60981 10