Решение систем линейных алгебраических уравнений
Систему n линейных алгебраических уравнений с n неизвестными запишем как:
a11 . x1+a12 . x2+ . +a1n . xn=b1 ;
a21 . x1+a22 . x2+ . +a2n . xn=b2 ;
an1 . x1 + an2 . x2 + . + ann . xn=bn .
Коэффициенты ai,j (i=1, 2,. ,n; j=1,2,. ,n) этой СЛАУ можно представить в виде квадратной матрицы n × n:
a11 a12 . a1n
a21 a22 . a2n
Систему можно записать в матричном виде A×X=B, где X – вектор-столбец неизвестных; B – вектор-столбец правых частей.
Методы решения СЛАУ делятся на две группы – прямые и итерационные.
Прикладное ПО, применяемое для решения СЛАУ — МегаЛекции
Достаточное условие сходимости: Если выполнено условие диагонального преобладания, т.е. , то итерационный процесс (3) сходится при любом выборе начального приближения. Если исходная система уравнений не удовлетворяет условию сходимости, то ее приводят к виду с диагональным преобладанием.
Решение Слау Методом Обратной Матрицы в Excel
БлогNot. Основные прямые и итерационные методы решения СЛАУ в MathCAD
Как известно, решение систем линейных алгебраических уравнений (СЛАУ) — весьма распространённый на практике тип задач. Теорию можно почитать по ссылке, а здесь приведём основные расчёты как для прямых (аналитических), так и для итерационных (приближённых) методов решения СЛАУ.
Начнём с прямых. Классический метод обратной матрицы в MathCAD легко реализовать с помощью стандартной функции lsolve или же посредством операции обращения матрицы, код приводить не будем из-за его тривиальности.
Уже двое спросили «а как всё же найти решение методом обратной матрицы?»
Введя данные, как на картинке ниже, под данными написать одну из формул x:=A -1 *b или x:=lsolve(A,b)
Затем ещё ниже сделать x=
С учётом всего сказанного, реализуем метод Крамера и проверку полученного решения:
В теле функции det оператор |A| — это не модуль числа с панели «Калькулятор», а похожая внешне кнопка «Определитель» с панели «Матрицы»!
Для удобства вектор правой части b записан как (n+1) -й столбец матрицы A , такую матрицу системы называют расширенной.
Реализация более «полноценного» метода Гаусса с выбором ведущего элемента (и перестановкой при необходимости строк матрицы) выполнена в приложенном к статье документе MathCAD, по крайней мере, систему с нулями на главной диагонали матрицы подпрограмма Gauss решила. Её дополнительный параметр — погрешность ε , начиная с которой значение |Ai,j|
На практике нетрудно увидеть общие для всех прямых методов недостатки подхода — трудоёмкость вычислений, требующая брать обратные матрицы или считать определители, следующее из неё довольно быстрое накопление погрешности, наконец, невозможность найти решение с заранее заданной, а не заложенной в алгоритм точностью.
Выбор вектора начального приближения x (0) на практике также обычно прост, принимают x (0) =b , то есть, вектору правой части системы. Можно и просто «занулить» вектор x (0) .
Обратите внимание, что нам пришлось «схитрить» при расчёте сумм s1 и s2 — MathCAD просто не сможет вычислить сумму с нижним пределом суммирования =1 и верхним =0 (или нижним n и верхним n-1 ). По той же причине дополнительные проверки сделаны и в процедуре Gauss .
В основной «бесконечный» цикл подпрограммы имеет смысл добавить аварийный выход оператором break , например, по выполнении 10000 шагов.
Также, в этом и следующем методе в строчке с break точнее был бы критерий выхода |max(x1-x0)|≤ε , где | | — значок модуля числа с панели калькулятора.
Метод Якоби является вариантом метода простых итераций, в котором используемые в итерационной процедуре матрица C и вектор β определяются по формулам
Вот расчёт методом Якоби с критерием выхода «максимальный модуль разности между проекциями x1 (k) i и x0 (k) i стал меньше либо равен заданной точности ε :
Метод Якоби
При расчёте r применены операторы «Векторизовать» с панели «Матрицы» и «Модуль» с Калькулятора, а при расчёте элементов С и β деление выполнено «в строчку» для экономии места.
Норма вектора |A*x-b| , как и другие нормы в статье, берётся кнопкой |x| с Калькулятора, а не похожей на неё кнопкой с панели «Матрицы».
Решение системы уравнений в Microsoft Excel
Предположим, что диагональные элементы матриц A исходной системы не равны 0 (aii ≠ 0, i = 1, 2, …, n). Разрешим первое уравнение системы относительно x1, второе относительно x2 и т.д. Получим следующую эквивалентную систему, записанную в скалярном виде:
Решение СЛАУ в MS EXCEL
С системой линейных алгебраических уравнений (СЛАУ) часто приходится сталкиваться не только в курсе математики. Их решение пригодится в других науках, например, физике или химии.
Систему из двух уравнений часто можно решить способом подстановки. Системы трех и более уравнений приходится решать другими способами. К ним относятся:
Мы рассмотрим решение одной и той же простой системы уравнений первыми двумя способами, чтобы сравнить результаты. Если при решении разными способами ответы будут совпадать, значит СЛАУ решена верно.
Способ 2: использование составной формулы
4. Появившееся диалоговое окно ТРАНСП мышью отодвиньте в сторону от исходной матрицы A1:E2 в рабочее поле Массив (указателем мыши при нажатой левой кнопке). После чего нажмите сочетание клавиш CTRL+SHIFT+ENTER (рис. 1.2).