![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Численное решение системы линейных алгебраических уравнений методом Гаусса |
СодержаниеВведение 1. Постановка задачи 2. Математические и алгоритмические основы решения задачи 2.1 Описание метода 2.2 Алгоритм 3. Функциональные модели и блок-схемы решения задачи 4. Программная реализация решения задачи 5. Пример выполнения программы Заключение Список использованных источников и литературы ВведениеМатематические модели процессов часто или сразу строятся как линейные алгебраические системы или сводятся к ним. Необходимость решения СЛАУ возникает при вычислении определителя, обращения матриц, нахождении собственных чисел. Методы численного решения системы Ax=b, где A - матрица x , de A & e; 0, x - искомый вектор, b - заданный вектор, разделяются на два класса: прямые и итерационные. Прямые методы позволяют находить решение системы за конечное число арифметических операций. Если операции реализуются точно, то решение будет точным (прямые методы еще называют точными). На деле при вычислении на ЭВМ прямые методы не приводят к точному решению вследствие погрешностей округления. Итерационные методы позволяют найти точное решение путем бесконечного повторения единообразных действий т.е. решение, которое реально можно получить, будет приближенным. 1. Постановка задачиТребуется решить систему линейных алгебраических уравнений с вещественными коэффициентами видаa11x1 a12x2 a1 x = b1,a21x2 a22x2 a2 x = b2,. . . a 1x1 a 2x2 a x = b с помощью метода исключения Гаусса. Пример 1. Покажем, как методом Гаусса можно решить следующую систему:Обнулим коэффициенты при x во второй и третьей строчках. Для этого домножим их на и 1 соответственно и сложим с первой строкой:Теперь обнулим коэффициент при y в третьей строке, домножив вторую строку на - 6 и сложив с третьей:В результате мы привели исходную систему к треугольному виду, тем самым закончив первый этап алгоритма. На втором этапе разрешим полученные уравнения в обратном порядке. Имеем: z = - 1 из третьего; y = 3 из второго, подставив полученное z x = 2 из первого, подставив полученные z и y. Таким образом исходная система решена. Пример 2. Покажем, как методом Гаусса можно решить следующую систему:Составим расширенную матрицу системы. . Таким образом, исходная система может быть представлена в виде:, откуда получаем: x =1, y = 2, z = 3. 2. Математические и алгоритмические основы решения задачи 2.1 Описание методаМетод Гаусса - классический метод решения системы линейных алгебраических уравнений (СЛАУ). Состоит в постепенном понижении порядка системы и исключении неизвестных. Пусть исходная система выглядит следующим образом, . (1)Тогда согласно свойству элементарных преобразований над строками эту систему можно привести к трапециальному виду:,.Переменные называются главными переменными. Все остальные называются свободными. Если , то рассматриваемая система несовместна. Предположим, что . Перенесём свободные переменные за знаки равенств и поделим каждое из уравнений системы на свой коэффициент при самом левом , i=1, ,r. (где i - номер строки):где i=1, ,r, k=i 1, , . Если свободным переменным системы (2) придавать все возможные значения и вычислить через них главные переменные, то мы получим все решения этой СЛАУ.
Так как эта система получена путём элементарных преобразований над исходной системой (1), то по теореме об эквивалентности при элементарных преобразованиях полученное нами решение является решением системы (1). Следствия: Если в совместной системе все переменные главные, то такая система является определённой. Если количество переменных в системе превосходит число уравнений, то такая система является либо неопределённой, либо несовместной. Условие совместности: Упомянутое выше условие может быть сформулировано в качестве необходимого и достаточного условия совместности: Напомним, что рангом совместной системы называется ранг её основной матрицы (либо расширенной, так как они равны). 2.2 АлгоритмЧисленное решение систем вида: (3)или Ax=b методом Гаусса заключается в последовательном исключении неизвестных. Система (3) поэтапно приводится к треугольному виду. Сначала исключается x1 из 2-го, 3-го,., -го уравнений, для этого необходимо сложить уравнения 2,3,., с первым уравнением, умноженным на - a21/a11, - a31/a11,., - a 1/a11 соответственно. (4)Потом x2 из 3-го,., -го умножением второго уравнения на - a№32/a№22, - a№42/a№22,., - a№ 2/a№22 и сложением с 3,4,. уравнениями. И дальше по аналогии система приводится к треугольному виду:.Процесс приведения системы к треугольному виду называется прямым ходом. Общие формулы для прямого хода:, ,где k =1,., - 1; i,j = k 1,., . Для нахождения решения теперь необходимо вычислить неизвестные, начиная с -го уравнения. Процесс вычисления значений неизвестных называется обратным ходом. На каждом этапе xk находится по формуле,где k = , -1,., 3. Функциональные модели и блок-схемы решения задачиФункциональные модели и блок-схемы решения задачи представлены на рисунках 1 и 2. Условные обозначения: I, J - временные переменные; A - временная матрица; B - массив свободных членов матрицы; X - массив решений; UMB - временная переменная; MA RIX - матрица для расчета; ROW COL, R C, LE - количество строк и столбцов в матрице; ARRAY B - рабочий массив свободных членов. Рисунок 1 - Функциональная модель решения задачи для функции PRI RES Рисунок 2 - Блок-схема решения задачи для функции ME HOD GAUS 4. Программная реализация решения задачи; ROW COL - КОЛИЧЕСТВО СТРОК И СТОЛБЦОВ МАТРИЦЫ (SE Q ROW COL 0) (SE Q I PU (OPE &quo ; D: MA RIX. X &quo ;: DIREC IO : I PU )) (SE F ROW COL (READ I PU )) ; MA RIX - МАТРИЦА ДЛЯ ВЫЧИСЛЕНИЯ (SE Q MA RIX (MAKE-ARRAY (LIS ROW COL ROW COL): ELEME - YPE 'I EGER: I I IAL-ELEME 0)) (SE F MA RIX (READ I PU )) ; ПОЛУЧАЕМ СВОБОДНЫЕ ЧЛЕНЫ (SE Q B (MAKE-ARRAY ROW COL: ELEME - YPE 'I EGER: I I IAL-ELEME 0)) ; ПОЛУЧАЕМ МАТРИЦУ (SE Q B (READ I PU )) (CLOSE I PU ) (DEFU ME HOD GAUS (MA RIX ARRAY B R C) ; ОБЯВЛЛЯЕМ ПЕРЕМЕННЫЕ ; ИТЕРАТОРЫ (DECLARE (SPECIAL I)) (DECLARE (SPECIAL J)) (DECLARE (SPECIAL A)) (DECLARE (SPECIAL B)) (DECLARE (SPECIAL X)) ; ВРЕМЕННАЯ ПЕРЕМЕННАЯ (DECLARE (SPECIAL UMB)) ; A - ВРЕМЕННАЯ МАТРИЦА (SE Q A (MAKE-ARRAY (LIS R C R C): ELEME - YPE 'I EGER: I I IAL-ELEME 0)) (SE F A MA RIX) ; В - МАТРИЦА СВОБОДНЫХ ЧЛЕНОВ (SE Q B (MAKE-ARRAY R C: ELEME - YPE 'I EGER: I I IAL-ELEME 0)) (SE F B ARRAY B) ; X - МАССИВ РЕШЕНИЙ (SE Q X (MAKE-ARRAY R C: ELEME - YPE 'I EGER: I I IAL-ELEME 0)) ; ВЫПОЛНЯЕМ ПРЕОБРАЗОВАНИЯ СТРОК (DO ( (P 0)) ( (&g ;= P ( - R C 1))) (DO ( (I ( P 1))) ( (&g ;= I R C)) (SE Q UMB (/ (AREF A I P) (AREF A P P))) (DO ( (J P)) ( (&g ;= J R C)) (SE F (AREF A I J) ( - (AREF A I J) ( (AREF A P J) UMB))) (SE Q J ( J 1)) ) (SE F (AREF B 0 I) ( - (AREF B 0 I) ( (AREF B 0 P) UMB))) (SE Q I ( I 1)) ) (SE Q P ( P 1)) ) (SE F (AREF X ( - R C 1)) (FLOA (/ (AREF B 0 ( - R C 1)) (AREF A ( - R C 1) ( - R C 1))))) ; ПОЛУЧИЛИ СТУПЕНЧАТУЮ МАТРИЦУ ; НАХОДИМ X (DO ( (I ( - R C 2))) ( (&l ; I 0)) (SE Q UMB 0) (DO ( (J ( I 1))) ( (&g ;= J R C) X) (SE Q UMB ( UMB ( (AREF A I J) (AREF X J)))) (SE Q J ( J 1)) ) (SE F (AREF X I) (FLOA (/ ( - (AREF B 0 I) UMB) (AREF A I I)))) (SE Q I ( - I 1)) ) X ) ; ПРИМЕНЯЕМ МЕТОД ГАУССА ДЛЯ ЗАДАННОЙ МАТРИЦЫ (ME HOD GAUS MA RIX B ROW COL) ; ФУНКЦИЯ ВЫВОД МАССИВА X (DEFU PRI RES (MA R X LE ) (DO ( (I 0)) ( (&g ;= I LE )) (PRI (LIS 'X I '= (AREF MA R X I)) OU PU ) (SE Q I ( I 1)) ) ) ; ВЫВОД МАССИВА X В ФАЙЛ (SE Q OU PU (OPE &quo ; D: RESUL .
X &quo ;: DIREC IO : OU PU )) (PRI RES X ROW COL) ( ERPRI OU PU ) (CLOSE OU PU ) 5. Пример выполнения программыПример 1. Рисунок 3 - Входные данные Рисунок 4 - Выходные данныеПример 2. Рисунок 5 - Входные данные Рисунок 6 - Выходные данныеПример 3. Рисунок 7 - Входные данные Рисунок 8 - Выходные данные ЗаключениеПомимо аналитического решения СЛАУ, метод Гаусса также применяется для нахождения матрицы, обратной к данной, определения ранга матрицы, численного решения СЛАУ в вычислительной технике. Итогом работы можно считать созданную функциональную модель решения системы линейных алгебраических уравнений методом Гаусса. Данная модель применима к невырожденным матрицам с одинаковым количеством строк и столбцов. Созданная функциональная модель и ее программная реализация могут служить органической частью решения более сложных задач. Список использованных источников и литературы Васильев Ф.П. Численные методы решения экстремальных задач. / Ф.П. Васильев - М.: Наука, 2002. C.415. Калиткин Н.Н. Численные методы. / Н.Н. Калиткин. - М.: Питер, 2001. С.504. Кнут Д.Э. Искусство программирования. Основные алгоритмы / Д.Э. Кнут. - М.: Вильямс, 2007. Т.1. - 712 с. Метод Гаусса - Режим доступа: Степанов П.А. Функциональное программирование на языке Lisp. / П.А. Степанов, А.В. Бржезовский. - М.: ГУАП, 2003. С.79.
Методы решения систем линейных уравнений средствами пакета LinearAlgebra Конечной целью большинства матричных операций является решение систем линейных уравнений. Для этого пакет LinearAlgebra предлагает ряд методов и средств их реализации. Основными методами решения являются следующие: • обращением матрицы коэффициентов уравнений и решением вида Х=А-1*В; • применением метода LU-декомпозиции (method='LU'); • применением метода QR-декомпозиции (method='QР'); • применением метода декомпозиция Холесского (method='Cholesky'); • метод обратной подстановки (method='subs'). Решение с применением обращения матрицы коэффициентов левой части системы уравнений А уже не раз рассматривалось и вполне очевидно. В связи с этим отметим особенности решения систем линейных уравнений другими методами. Любопытно отметить, что указание метода может быть сделано и без его заключения в одинарные кавычки. 6.3.4. Решение системы линейных уравнений методом LU-декомпозиции Зададим матрицу А левой части системы уравнений и вектор свободных членов В: > restart; with(LinearAlgebra): UseHardwareFloats := false: > A:=<<4|.24|-.08>,<.09|3|-.15>,<.041-.08|4>>; B:=<8, 9, 20>; Прямое решение этим методом выполняется одной из двух команд, отличающихся формой записи: > х := LinearSolve(А, В, method= 'LU'); х := LinearSolve(<А|B>, method='LU'); Проверим решение данной системы уравнений: > А.х-В; В данном случае решение точно (в пределах точности вычислений по умолчанию)
1. Поиск решений системы линейных уравнений методом Гаусса
3. Метод Гаусса для решения систем линейных уравнений
4. Решение систем нелинейных алгебраических уравнений методом Ньютона
9. Новый, высокоточный метод диагностики инфекций мочеполовой системы
10. Методы исследования опорно-двигательной системы
11. Метод Гаусса с выбором главной переменной
12. Численное решение модельного уравнения
13. Основные методы исследования функционирования нервной системы беспозвоночных
14. Численное интегрирование методом Гаусса
16. Болезни и хирургические методы лечения вегетативной нервной системы
17. Методы управления затратами в системе контроллинга
18. Аналіз основних методів та заходів запобігання проявам корупції в системі державного управління
20. Денежные системы и их развитие в процессе формирования электронной финансовой системы РК
21. Итерационные методы решения систем линейных алгебраических уравнений
25. РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ПЯТИТОЧЕЧНЫМ МЕТОДОМ АДАМСА – БАШФОРТА
26. Решение систем линейных дифференциальных уравнений пятиточечным методом Адамса – Башфорта
29. Метод замены неизвестного при решении алгебраических уравнений
30. Методы решения алгебраических уравнений
31. Методы решения систем линейных уравнений
32. Нахождение корня нелинейного уравнения. Методы решения системы нелинейных уравнений
33. Решение дифференциальных уравнений 1 порядка методом Эйлера
35. Решение систем дифференциальных уравнений методом Рунге-Куты 4 порядка
36. Построение решения задачи Гурса для телеграфного уравнения методом Римана
37. Линейные системы дифференциальных уравнений с периодическими коэффициентами
41. Решение систем дифференциальных уравнений методом Рунге - Кутты 4 порядка
42. Построение приближенного решения нелинейного уравнения методом Ван-дер-Поля
43. Решение задач линейной оптимизации симплекс – методом
44. Решения смешанной задачи для уравнения гиперболического типа методом сеток
46. Нестандартные методы решения тригонометрических уравнений: графический и функциональный
47. Решение задачи методами линейного, целочисленного, нелинейного и динамического программирования.
48. Методы решения уравнений в странах древнего мира
49. Приближённое решение алгебраических и трансцендентных уравнений
50. Системы 2-х, 3-х линейных уравнений, правило Крамера
52. Методы и алгоритмы компьютерного решения дифференциальных уравнений
53. Разработка программы для решения систем линейных уравнений
57. Аналитические свойства решений системы двух дифференциальных уравнений третьего порядка
58. Решение алгебраического уравнения n-ой степени
59. Решение произвольных систем линейных уравнений
60. Методика обучения решению текстовых задач алгебраическим методом
61. Решение задачи линейного программирования симплекс-методом
62. Решения задач линейного программирования геометрическим методом
63. Предмет, метод и система гражданского процессуального права /Украина/
64. Решение транспортной задачи методом потенциалов
66. Методы приобретения знаний в интеллектуальных системах
67. Билеты, решения и методичка по Информатике (2.0)
68. Краткие сведения о электронных таблицах. Решение уравнения
69. Парольные методы защиты информации в компьютерных системах от несанкционированного доступа
73. Решение оптимизационной задачи линейного программирования
74. СИНГУЛЯРНОЕ РАЗЛОЖЕНИЕ В ЛИНЕЙНОЙ ЗАДАЧЕ МЕТОДА НАИМЕНЬШИХ КВАДРАТОВ
75. Решение задач линейного программирования
76. Решение задачи линейного программирования
77. Существование решения дифференциального уравнения и последовательные приближения
78. Метод Алексея Юрьевича Виноградова для решения краевых задач
79. Проект создания системы поддержки принятия решений оперативно-дежурной службы милиции
81. Определение точного коэффициента электропроводности из точного решения кинетического уравнения
82. Проблемы и методы принятия решений
83. Методы экспертных оценок при разработке и принятии управленческих решений
84. Модели и методы принятия решений
90. Уравнения и способы их решения
91. Интегрирование линейного дифференциального уравнения с помощью степенных рядов
92. Линейное программирование: постановка задач и графическое решение
93. Об алгебраических уравнениях высших степеней
94. Решение некоторых уравнений и неравенств с параметром
96. Решение иррациональных уравнений
97. Линейные уравнения и неравенства
98. Сердечно сосудистая система, нетрадиционные методы лечения по Лазареву, диагностика