- •Часть 2. «Решение уравнений и систем уравнений»
- •Харьков, 2010
- •Самостоятельные работы. Самостоятельная работа №2. Решение систем линейных уравнений. Примеры выполнения практических заданий.
- •Контрольные вопросы и задания.
- •Индивидуальные задания.
- •Самостоятельная работа №3. Решение нелинейных уравнений. Уточнение корней методом половинного деления (дихотомии)
- •Метод Ньютона для решения систем нелинейных алгебраических уравнений.
- •Индивидуальные задания.
- •Лабораторные работы. Лабораторная работа №5. Реализация методов решения уравнений и их систем средствами vba.
- •Прямой ход метода Гаусса
- •Лабораторная работа №6. Решение уравнений средствами Excel. Подбор параметра
- •Поиск решения
- •С помощью средства Подбор параметра ;
Самостоятельная работа №3. Решение нелинейных уравнений. Уточнение корней методом половинного деления (дихотомии)
Самым простейшим из методов уточнения корней является метод половинного деления, или метод дихотомии, предназначенный для нахождения корней уравнений, представленных в виде f(x)=0.
Пусть непрерывная функция f(x) на концах отрезка [a,b] имеет значения разных знаков, т.е. f(a)f(b) 0 (рис. 1), тогда на отрезке имеется хотя бы один корень.
|
Рис. 1. Метод деления отрезка пополам |
Возьмем середину отрезка с=(a+b)/2. Если f(a) f(c) 0, то корень явно принадлежит отрезку от a до (a+b)/2 и в противном случае от (a+b)/2 до b.
Поэтому берем подходящий из этих отрезков, вычисляем значение функции в его середине и т.д. до тех пор, пока длина очередного отрезка не окажется меньше заданной предельной абсолютной погрешности (b-a)<e.
Так как каждое очередное вычисление середины отрезка c и значения функции f(c) сужает интервал поиска вдвое, то при исходном отрезке [a,b] и предельной погрешности e количество вычислений n определяется условием (b-a)/2n<e , или n~log2((b-a)/e ). Например, при исходном единичном интервале и точности порядка 6 знаков (e ~ 10-6) после десятичной точки достаточно провести 20 вычислений (итераций) значений функции.
С точки зрения машинной реализации этот метод наиболее прост и используется во многих стандартных программных средствах, хотя существуют и другие более эффективные по затратам времени методы.
Метод Ньютона для решения систем нелинейных алгебраических уравнений.
Пусть известно некоторое приближение к корню . Запишем исходную систему нелинейных уравнений в виде
где . Разлагая эти уравнения в ряды и ограничиваясь первыми дифференциалами, т.е. линеаризуя функцию, получим
Это система уравнений, линейных относительно приращений ; все коэффициенты системы выражаются через последнее приближение . Решив эту систему, например, методом исключения найдем новое приближение .
Отметим, что система (6.13) в матричной форме имеет вид:
где значения производных в матрице коэффициентов и функций в векторе свободных членов вычислены при текущем приближении корня .
Матрица частных производных носит название матрицы Якоби. Для ее формирования возможны два пути: а) получить аналитические выражения для всех частных производных и вычислить их значение при – прием предпочтительный в смысле корректности подхода, но зачастую трудоемкий, особенно при большом числе аргументов; б) заменить частные производные в матрице Якоби их приближенными конечно-разностными значениями
где – малое приращение .
Алгоритм решения системы нелинейных уравнений методом Ньютона складывается из следующих этапов:
1) задают относительную погрешность вычисления аргументов , вектор начальных приближений , максимальное число итераций M для выхода из алгоритма в случае медленной сходимости или программных ошибок пользователя;
-
вычисляют матрицу Якоби по аналитическим выражениям или конечно-разностным методом, причем в последнем случае можно принять
-
решают систему линейных алгебраических уравнений (6.14) относительно приращений
4) вычисляют уточненное значение аргументов – новое приближение по формуле
5) проверяют выполнение условий по всем аргументам и если хотя бы одно выполняется, то возвращаются к п.2 для новой итерации; в противном случае полученный вектор считают решением.