Численные методы решения систем нелинейных уравнений
Введение
Многие прикладные задачи приводят к необходимости нахождения общего решения системы нелинейных уравнений. Общего аналитического решения системы нелинейных уравнений не найдено. Существуют лишь численные методы.
Следует отметить интересный факт о том, что любая система уравнений над действительными числами может быть представлена одним равносильным уравнением, если взять все уравнения в форме , возвести их в квадрат и сложить.
Для численного решения применяются итерационные методы последовательных приближений (простой итерации) и метод Ньютона в различных модификациях. Итерационные процессы естественным образом обобщаются на случай системы нелинейных уравнений вида:
(1)
Обозначим через вектор неизвестных и определим вектор-функцию Тогда система (1) записывается в виде уравнения:
(2)
Теперь вернёмся к всеми любимому Python и отметим его первенство среди языков программирования, которые хотят изучать [1].
Этот факт является дополнительным стимулом рассмотрения числительных методов именно на Python. Однако, среди любителей Python бытует мнение, что специальные библиотечные функции, такие как scipy.optimize.root, spsolve_trianular, newton_krylov, являются самым лучшим выбором для решения задач численными методами.
С этим трудно не согласится хотя бы потому, что в том числе и разнообразие модулей подняло Python на вершину популярности. Однако, существуют случаи, когда даже при поверхностном рассмотрении использование прямых известных методов без применения специальных функций библиотеки SciPy тоже дают неплохие результаты. Иными словами, новое- это хорошо забытое старое.
Так, в публикации [2], на основании проведенных вычислительных экспериментов, доказано, что библиотечная функция newton_krylov, предназначенная для решения больших систем нелинейных уравнений, имеет в два раза меньшее быстродействие, чем алгоритм TSLS+WD
(two-step least squares), реализованный средствами библиотеки NumPy.
Целью настоящей публикации является сравнение по числу итераций, быстродействию, а главное, по результату решения модельной задачи в виде системы из ста нелинейных алгебраических уравнений при помощи библиотечной функции scipy.optimize.root и методом Ньютона, реализованного средствами библиотеки NumPy.
Возможности решателя scipy.optimize.root для численного решения систем алгебраических нелинейных уравнений
Библиотечная функция scipy.optimize.root выбрана в качестве базы сравнения, потому что имеет обширную библиотеку методов, пригодных для сравнительного анализа.
scipy.optimize.root(fun, x0, args=(), method=’hybr’, jac=None, tol=None,callback=None, ptions=None)
fun — Векторная функция для поиска корня.
x0 –Начальные условия поиска корней
method:
hybr -используется модификация Пауэлл гибридный метод;
lm – решает системы нелинейных уравнений методом наименьших квадратов.
Как следует из документации [3] методы broyden1, broyden2, anderson, linearmixing, diagbroyden, excitingmixing, krylov являются точными методами Ньютона. Остальные параметры являются «не обязательными» и с ними можно ознакомится в документации.
Методы решения систем нелинейных уравнений
Приведенный далее материал действительно можно прочитать в литературе, например в [4], но я уважаю своего читателя и для его удобства приведу вывод метода по возможности в сокращенном виде. Те, кто не любит формулы, этот раздел пропускают.
В методе Ньютона новое приближение для решения системы уравнений (2) определяется из решения системы линейных уравнений:
(3)
Определим матрицу Якоби:
(4)
Запишем(3) в виде:
(5)
Многие одношаговые методы для приближенного решения (2) по аналогии с двухслойными итерационными методами для решения систем линейных алгебраических уравнений можно записать в виде:
(6)
где — итерационные параметры, a — квадратная матрица n х n, имеющая обратную.
При использовании записи (6) метод Ньютона (5) соответствует выбору:
Система линейных уравнений (5) для нахождения нового приближения может решаться итерационно. В этом случае мы имеем двухступенчатый итерационный процесс с внешними и внутренними итерациями. Например, внешний итерационный процесс может осуществляться по методу Ньютона, а внутренние итерации — на основе итерационного метода Зейделя
При решении систем нелинейных уравнений можно использовать прямые аналоги стандартных итерационных методов, которые применяются для решения систем линейных уравнений. Нелинейный метод Зейделя применительно к решению (2) дает:
(7)
В этом случае каждую компоненту нового приближения из решения нелинейного уравнения, можно получить на основе метода простой итерации и метода Ньютона в различных модификациях. Тем самым снова приходим к двухступенчатому итерационному методу, в котором внешние итерации проводятся в соответствии с методом Зейделя, а внутренние — с методом Ньютона.
Основные вычислительные сложности применения метода Ньютона для приближенного решения систем нелинейных уравнений связаны с необходимостью решения линейной системы уравнений с матрицей Якоби на каждой итерации, причем от итерации к итерации эта матрица меняется. В модифицированном методе Ньютона матрица Якоби обращается только один раз:
(8)
Выбор модельной функции
Такой выбор не является простой задачей, поскольку при увеличении числа уравнений в системе в соответствии с ростом числа переменных результат решения не должен меняться, поскольку в противном случае невозможно отследить правильность решения системы уравнений при сравнении двух методов. Привожу следующее решение для модельной функции:
Функция f создаёт систему из n нелинейных уравнений, решение которой не зависит от числа уравнений и для каждой из n переменных равно единице.
Программа для тестирования на модельной функции c результатами решения системы алгебраических нелинейных уравнений с помощью библиотечной функции optimize.root для разных методов отыскания корней
Только один из методов, приведенных в документации [3] прошёл тестирование по результату решения модельной функции, это метод ‘krylov’.
Решение для n=100:
Solution:
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1.]
Krylov method iteration = 4219
Optimize root time 7.239 seconds:
Вывод: С увеличением числа уравнений вдвое заметно появление ошибок в решении. При дальнейшем увеличении n решение становится не приемлемым, что возможно из-за автоматической адаптации к шагу, эта же причина резкого падения быстродействия. Но это только моё предположение.
Программа для тестирования на модельной функции c результатами решения системы алгебраических нелинейных уравнений с помощью программы написанной на Python 3 с учётом соотношений (1)-(8) для отыскания корней по модифицированному методу Ньютона
Решение для n=100:
Solution:
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1.]
Newton iteration = 13
Newton method time 0.496 seconds
Решение для n=200:
Solution:
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1.]
Newton iteration = 14
Newton method time 1.869 seconds
Чтобы убедиться в том, что программа действительно решает систему, перепишем модельную функцию для ухода от корня со значением 1 в виде:
Получим:
Solution:
[ 0.96472166 0.87777036 0.48175823 -0.26190496 -0.63693762 0.49232062
-1.31649896 0.6865098 0.89609091 0.98509235]
Newton iteration = 16
Newton method time 0.046 seconds
Вывод: Программа работает и при изменении модельной функции.
Теперь вернёмся к начальной модельной функции и проверим более широкий диапазон для n, например в 2 и 500.
n=2
Solution:
[1. 1.]
Newton iteration = 6
Newton method time 0.048 seconds
n=500
Методы решения систем нелинейных уравнений
статья по алгебре (9 класс) по теме
В работе рассмотрены раличные методы решения систем неленейных уравнений: 1) метод подстановки; 2) метод независимого решения одного из уравнений; 3) сведение системы к объединению более простых систем; 4) метод алгебраического сложения; 5) метод умножения уравнений;6) метод деления уравнений; 7) метод введения новых переменных ;8) применение теоремы Виета; 9) симметричные системы;10) «Граничные задачи»;11) графический метод.
Скачать:
Вложение | Размер |
---|---|
работа содержит примеры различных способов решения систем нелинейных уравнений | 528.92 КБ |
Предварительный просмотр:
Методы решения систем нелинейных уравнений.
( Работа педагога дополнительного образования Куца Федора Ивановича, МБОУ ДОД ДДТ г, Зверево РО, объединение «Школа решения нестандартных задач по математике»)
1) Метод подстановки.
a) Метод прямой подстановки.
Идея метода. Выбирается уравнение, в котором одна из переменных наиболее просто выражается через остальные переменные. Полученное выражение этой переменной подставляется в оставшиеся уравнения системы.
Решить систему уравнений
Корнями уравнения у 2 +2у –3 = 0 являются у 1 = 1, у 2 = — 3.
b) Комбинирование с другими методами.
Идея метода . Если метод прямой подстановки не применим на начальном этапе решения, то используются равносильные преобразования систем (почленное сложение, вычитание, умножение, деление), а затем проводят непосредственно прямую подстановку.
Решить систему уравнений
Поскольку х и у не могут принимать нулевые значения, разделим первое уравнение системы на второе, в результате получим линейное уравнение.
2) Метод независимого решения одного из уравнений.
Идея метода . Если в системе содержится уравнение, в котором находятся взаимно обратные выражения, то вводится новая переменная и относительно её решается уравнение. Затем система распадается на несколько более простых систем.
Решить систему уравнений
Рассмотрим первое уравнение системы: .
Сделав замену t = , где t ≠ 0, получаем t + = , 4t 2 — 17t + 4 = 0.
Откуда t 1 = 4, t 2 = .
Возвращаясь к старым переменным, рассмотрим два случая.
Корнями уравнения 4у 2 – 15у – 4 = 0 являются у 1 = 4, у 2 = — .
Корнями уравнения 4х 2 + 15х – 4 = 0 являются х 1 = — 4, х 2 = .
3)Сведение системы к объединению более простых систем.
a) Разложение на множители способом вынесения общего множителя.
Идея метода. Если в одном из уравнений есть общий множитель, то это уравнение раскладывают на множители и, учитывая равенство выражения нулю, переходят к решению более простых систем.
Решить систему уравнений
Разложим на множители второе уравнение системы.
Решим первую систему (1) или (2)
Решим вторую систему
b) Разложение на множители через решение однородного уравнения .
Идея метода. Если одно из уравнений представляет собой однородное уравнение ( , то решив его относительно одной из переменных, раскладываем на множители, например: a(x-x 1 )(x-x 2 ) и, учитывая равенство выражения нулю, переходим к решению более простых систем.
Решить систему уравнений
Решим уравнение относительно х.
D = (-5у) 2 – 4 ∙1 ∙ 25у 2 – 16у 2 = 9у 2 .
х 1,2 = = . х 1 = 4у, х 2 = у.
Система принимает вид: Откуда:
Решим первую систему
D = (-2) 2 – 4 ∙3 ∙ 4 + 96 = 100.
у 1,2 = = . у 1 = 2, у 2 = — .
Решим вторую систему
D = (-1) 2 – 4 ∙24 ∙ 1 + 384 = 385.
у 1,2 = у 1 = , у 2 = .
c) Использование однородности.
Идея метода. Если в системе есть выражение, представляющее собой произведение переменных величин, то применяя метод алгебраического сложения, получают однородное уравнение, а затем используют метод разложение на множители через решение однородного уравнения.
Решить систему уравнений
Умножим первое уравнение на (-3), второе — на 5 и сложим.
Решим уравнение относительно х.
D = (3у) 2 – 4 ∙(-4) ∙ 9у 2 +112у 2 = 121у 2 .
х 1,2 = = . х 1 = у, х 2 = — у.
Система принимает вид: Откуда 1) или 2)
Решим первую систему
Решим вторую систему
4) Метод алгебраического сложения.
Идея метода. В одном из уравнений избавляемся от одной из неизвестных, для этого уравниваем модули коэффициентов при одной из переменных, затем производим или почленное сложение уравнений, или вычитание.
Решить систему уравнений
Уравняем модули коэффициентов при переменной величине у, для этого первое уравнение умножим на 3, а второе на 2.
Прибавив к первому уравнению второе, получаем
Решим первое уравнение системы ,
Так как 15 + 14 — 29 = 0, то х 1 = 1, х 2 = — .
5) Метод умножения уравнений.
Идея метода. Если нет таких пар (х;у), при которых обе части одного из уравнений обращаются в ноль одновременно, то это уравнение можно заменить произведением обоих уравнений системы.
Решить систему уравнений
Решим второе уравнение системы.
; Возведя обе части уравнения в квадрат, имеем:
(у – 3)( + 2) 2 = у 2 ; (у – 3)(у + 4 + 4) = у 2 ;
у 2 + 4у + 4у – 3у — 12 -12 = у 2 ; 4у + 4у – 3у — 12 — 12 = 0.
Пусть = t, тогда 4t 3 + t 2 -12t -12 = 0.
Применяя следствие из теоремы о корнях многочлена, имеем t 1 = 2.
Р(2) = 4∙2 3 + 2 2 — 12∙2 – 12 = 32 + 4 — 24 — 12 = 0.
Понизим степень многочлена, используя метод неопределенных коэффициентов.
4t 3 + t 2 -12t -12 = (t – 2) (at 2 + bt + c).
4t 3 +t 2 -12t -12 = at 3 + bt 2 + ct — 2at 2 -2bt — 2c.
4t 3 + t 2 — 12t -12 = at 3 + (b – 2a) t 2 + (c -2b) t — 2c.
Получаем уравнение 4t 2 + 9t + 6 = 0, которое не имеет корней, так как D = 9 2 — 4∙4∙6 = -15
Возвращаясь к переменной у, имеем = 2, откуда у = 4.
6) Метод деления уравнений.
Идея метода. Если нет таких пар (х; у), при которых обе части одного из уравнений обращаются в ноль одновременно, то это уравнение можно заменить уравнением, которое получается при делении одного уравнения системы на другое.
Решить систему уравнений
Разделим первое уравнение на второе
7) Метод введения новых переменных.
Идея метода. Некоторые выражения от исходных переменных принимаются за новые переменные, что приводит к более простой, чем первоначальная, системе от этих переменных. После того как новые переменные будут найдены, нужно найти значения исходных переменных.
Решить систему уравнений
Введем новые переменные: х + у = u, = v.
Возвращаясь к старым переменным, имеем:
Решаем первую систему.
Находим решение второй системы.
8) Применение теоремы Виета .
Идея метода. Если система составлена так, одно из уравнений представлено в виде суммы, а второе — в виде произведения некоторых чисел, которые являются корнями некоторого квадратного уравнения, то применяя теорему Виета составляем квадратное уравнение и решаем его.
Решить систему уравнений
х, у корни уравнения: а 2 — 5а + 4 = 0. Откуда а 1 = 1, а 2 = 4.
Следовательно(1) или (2)
9) Симметричные системы.
Идея метода. (Многочлен от двух переменных х и у называется симметричным, если он не изменяется при замене х на у и у на х.). Свойство симметричных систем: если пара чисел (х 0 ;у 0 ) является решением системы, то и пара (у 0 ;х 0 ) также является ее решением.
Для решения симметричных систем применяется подстановка: х + у = а; ху = в.
При решении симметричных систем используются следующие преобразования:
х 2 + у 2 = (х + у) 2 – 2ху = а 2 – 2в; х 3 + у 3 = (х + у)(х 2 – ху + у 2 ) = а(а 2 -3в);
х 2 у + ху 2 = ху (х + у) = ав; (х +1)∙(у +1) = ху +х +у+1 =а + в +1;
Решить систему уравнений
Сделаем замену: х + у = а; ху = в; х 2 + у 2 = (х + у) 2 – 2ху = а 2 – 2в.
Решим уравнение . а 1 = 2, а 2 = 3.
Возвращаясь к исходным переменным, рассмотрим два случая.
10) «Граничные задачи».
Идея метода. Решение системы получаются путем логических рассуждений, связанных со структурой области определения или множества значений функций, исследование знака дискриминанта квадратного уравнения.
Решить систему уравнений
Особенность этой системы в том, что число переменных в ней больше числа уравнений. Для нелинейных систем такая особенность часто является признаком «граничной задачи».
Исходя из вида уравнений, попытаемся найти множество значений функции , которая встречается и в первом, и во втором уравнении системы. Так как х 2 + 4 ≥ 4, то из первого уравнения следует, что ≥ 4, а значит, ≥ 16. С другой стороны, исходя из области определения функции , получаем, что 16 – ≥ 0, откуда ≤ 16.Таким Образом,16 ≤ ≤ 16, т. е. = 16. Подставим полученное значение в систему:
11) Графический метод.
Идея метода . Строят графики функций в одной системе координат и находят координаты точек их пересечения.
Решить систему уравнений
1) Переписав первое уравнение систем в виде у = х 2 , приходим к выводу: графиком уравнения является парабола.
2) Переписав второе уравнение систем в виде у = , приходим к выводу: графиком уравнения является гипербола.
3) Парабола и гипербола пересекаются в точке А. Точка пересечения только одна, поскольку правая ветвь параболы служит графиком возрастающей функции, а правая ветвь гиперболы — убывающей. Судя по построенной геометрической модели точка А имеет координаты (1;2). Проверка показывает, что пара (1;2) является решением обоих уравнений системы.
Решите системы уравнений.
1.Алгебра. ЕГЭ: шаг за шагом / А.А.Черняк, Ж.А.Черняк.- Волгоград: Учитель,2012.
2.Методы решения задач по математике: Пособие для поступающих в НПИ. Ч1 / Ред. журн. « Изв. вузов. Электромеханика». Новочеркасск,1993.
3.Алгебра, 9 класс, В 2 ч. Ч.1. Учебник для учащихся общеобразовательных учреждений/ А.Г. Мордкович, П.В. Семенов. – 12-е изд., стер. – М. : Мнемозина, 2010.
По теме: методические разработки, презентации и конспекты
Методы решения систем уравнений
Урок по алгебре в 9 классе по теме: «Методы решения систем уравнений» учителя математики Шевченко ТИИспользованные программы:1C Математический конструктор 3.0Диск Алгебра. Электронное сопр.
Урок алгебры в 9классе по теме «методы решения систем уравнений»
Подготовка к ГИА по теме «Решение систем уравнений».
Методическая разработка урока алгебры в 7 классе «Различные способы решения систем линейных уравнений» способы решения систем уравнений
Урок алгебры в 7 классе направлен на обобщение и систематизацию различных способов решения систем уравнений: метода сравнения, сложения, подстановки, графического метода, метода Крамера, выбора рацион.
Материалы к практическому занятию по математике для студентов специальности Экономика и бухгалтерский учет по теме «Графический метод решения систем линейных уравнений»
Данная разработка содержит конспект и презентацию к практическому занятию «Графический метод решения экономических задач» , завершающему изучение темы «Графический метод решения систем линейных уравне.
Методы решения систем логических уравнений
Методы решения систем логических уравнений при подготовке к ЕГЭ (задание В15).
Презентация Методы решения систем линейных уравнений (метод подстановки)
Системы уравнений с двумя переменными. Графический метод решения систем двух линейных уравнений с двумя переменными
Урок объяснения нового материала по учебнику «Алгебра, 7 класс» А.Г. Мерзляк, параграф 26. Презентация составлена для объяснения новой темы в Zoom при дистанционном обучении.
Дипломная работа: Сравнительный анализ численных методов
Название: Сравнительный анализ численных методов Раздел: Рефераты по информатике, программированию Тип: дипломная работа Добавлен 17:41:36 12 августа 2009 Похожие работы Просмотров: 1842 Комментариев: 20 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно Скачать | |||||||||||||||||||||||||||||||||||||||
i | Xi | Yi |
0 | -0,7 | -0.34091 |
1 | -0,5 | -0.02638 |
2 | -0,3 | 0.21059 |
3 | -0,1 | 0.37098 |
4 | 0,1 | 0.4559 |
Поскольку n=4 строим интерполяционный многочлен L4 (y):
В результате получаем многочлен:
L4 (y) = 7.99*y 4 -0.8176*y 3 — 0.4932* y 2 +0.9008*y — 0.4759
Подставляя заданное значение функции, получаем ответ:
Таким образом, получаем приближенное значение корня:
При подстановки этого аргумента в заданную функцию, получаем результат:
f (-0,47591) = 0.00625
3.4.3 Интерполяция сплайнами
На участке [b,b+2] выбрать 3 точки (b,b+1,b+2), построить два сплайна на двух отрезках, убедиться в том, что в точке b+1 производная не терпит разрыва.
i | 1 | 2 | 3 |
xi | 0 | 1 | 2 |
yi | 0.42279 | -0.4955 | -1.93404 |
Для построения сплайна используем формулы:
h=
Таким образом, нам необходимо, чтобы вторая производная была непрерывна, т.е. получить сплайн с дефектом 1.
Для построения глобального сплайна необходимо, начиная со второго узла поставить условие непрерывности 2-ой производной, т.е.2-ая производная при подходе к точке 2 и дальше слева (x1 -0) должна равняться 2-ой производной при подходе справа (x1 +0):
Приравнивая эти значения, получаем:
Для нашей функции получаем:
0.42435
— 2.10346
После того, как мы нашли m1 , можем построить графики (рисунок 3.2).
|
|
Рисунок 3.2 — Глобальная интерполяция сплайнами
Также можно сравнить с графиком самой функции (рисунок 3.3).
|
|
|
Рисунок 3.3 — Сравнение графика функции и глобальной интерполяции
3.5 Программа для использования интерполяции
На рисунках 3.4 представлена программа для использования интерполяции сплайнами. Пользователь вводит необходимые данные и при нажатии кнопки «График» строится кубический сплайн.
Листинг программы представлен в приложении В.
Рисунок 3.4 — Программа для использования интерполяции сплайнами
4. Итерационные методы решения систем линейных алгебраических уравнений
4.1 Общие сведения
К численным методам линейной алгебры относятся численные методы решения систем линейных алгебраических уравнений. Методы решения СЛАУ разбиваются на две группы. К первой группе принадлежат так называемые точные или прямые методы — алгоритм, позволяющий получить решение системы за конечное число арифметических действий. Вторую группу составляют приближенные методы, в частности итерационные методы решения СЛАУ.
4.2 Метод простой итерации
4.2.1 Описание метода
Рассмотрим СЛАУ вида
Ax = B, где А — матрица. (1)
Если эту систему удалось привести к виду x = Cx + D, то можно построить итерационную процедуру
xk → x*, где х* — решение заданной системы.
В конечном варианте система будет имееть вид:
Условием сходимости для матрицы С выполняется, если сумма модулей коэффициентов меньше единицы по строкам или по столбцам, т.е.
, или .
Необходимо, чтобы диагональные элементы матрицы А были ненулевыми.
Для преобразования системы можно выполнить следующие операции:
В результате получим систему:
В ней на главной диагонали матрицы С находятся нулевые элементы, остальные элементы выражаются по формулам:
Итерационный процесс продолжается до тех пор, пока значения х1 ( k), х2 ( k), х3 ( k) не станут близкими с заданной погрешностью к значениям х1 ( k-1), х2 ( k-1), х3 ( k-1).
4.2.2 Решение СЛАУ методом простых итераций
Решить СЛАУ методом простых итераций с точностью .
Для удобства преобразуем систему к виду:
,
Принимаем приближение на 0-ом шаге:
,
,
На 1-м шаге выполняем следующее:
Подставляем принятые приближения в первоначальную систему уравнений
Смотрим не выполняется ли условие остановки итерационного процесса:
:
На 2-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса
:
На 3-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса
:
На 4-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса
:
На 5-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса:
:
На 6-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса:
:
Необходимая точность достигнута на 6-й итерации. Таким образом, итерационный процесс можно прекратить.
4.2.3 Программа для решения СЛАУ методом простых итераций
На рисунке 4.1 представлена программа для решения систем алгебраических линейных уравнений методом простых итераций.
Листинг программы приведен в приложении Г.
Рисунок 4.1 — Программа «Метод простых итераций»
4.3 Метод Зейделя
4.3.1 Описание метода
В этом методе результаты, полученные на k-том шаге, используются на этом же шаге. На (k+1) — й итерации компоненты приближения вычисляются по формулам:
Этот метод применим к система уравнений в виде Ax=B при условии, что диагональный элемент матрицы коэффициентов A по модулю должен быть больше, чем сумма модулей остальных элементов соответствующей строки (столбца).
Если данное условие выполнено, необходимо проследить, чтобы система была приведена к виду, удовлетворяющему решению методом простой итерации и выполнялось необходимое условие сходимости метода итераций:
, либо
4.3.2 Решение СЛАУ методом Зейделя
Решить СЛАУ методом Зейделя с точностью .
Эту систему можно записать в виде:
В этой системе сразу видно, что выполняется условие, где диагональные элементы матрицы коэффициентов по модулю больше, чем сумма модулей остальных элементов соответствующей строки.
Для удобства преобразуем систему к виду:
,
Принимаем приближение на 0-ом шаге:
На 1-м шаге выполняем следующее:
Подставляем принятые приближения в первоначальную систему уравнений
Смотрим не выполняется ли условие остановки итерационного процесса
:
На 2-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса
:
На 3-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса:
:
На 4-м шаге выполняем следующее:
Смотрим не выполняется ли условие остановки итерационного процесса
:
Необходимая точность достигнута на 4-й итерации. Таким образом, итерационный процесс можно прекратить.
4.3.3 Программа дл решения СЛАУ методом Зейделя
На рисунке 4.2 представлена программа для решения систем алгебраических линейных уравнений методом простых итераций.
Листинг программы приведен в приложении Г.
Рисунок 4.2 — Программа «Метод Зейделя»
4.4 Сравнительный анализ
Можно заметить, что в методе Зейделя быстрее мы достигаемой нужной точности, в нашем случае в точность была достигнута на 4-й итерации, когда в методе простых итераций она была достигнута на 6-й итерации. Но в то же время в методе Зейделя ставится больше условий. Поэтому вначале нужно произвести иногда довольно трудоемкие преобразования. В таблице 4.1 приведены результаты решения СЛАУ методом простой итерации и методом Зейделя на различных шагах итерации:
http://nsportal.ru/shkola/algebra/library/2013/03/10/metody-resheniya-sistem-nelineynykh-uravneniy
http://www.bestreferat.ru/referat-142541.html