
- •«Решение нелинейных уравнений средствами Microsoft Excel»
- •Ó Ростовский государственный строительный университет, 2011 Введение
- •1. Отделение корней
- •Лабораторная работа № 1 на тему: «Отделение корней нелинейного уравнения аналитически и графически»
- •Образец выполнения лабораторной работы №1
- •Варианты заданий для лабораторной работы №1
- •2. Уточнение корней нелинейного уравнения при помощи некоторых численных методов
- •2.1. Уточнение корней методом половинного деления (дихотомии)
- •2.2. Уточнение корней методом хорд
- •2.3. Уточнение корней методом касательных (метод Ньютона)
- •2.4. Уточнение корней методом простой итерации
- •2.5. Сравнение эффективности методов
- •Лабораторная работа № 2 на тему: «Уточнение корней нелинейного уравнения при помощи некоторых численных методов»
- •Образец выполнения лабораторной работы №2
- •3. Нахождение корней нелинейного уравнения средствами ms Excel
- •3.1. Нахождение корней с помощью циклических ссылок
- •3.2. Нахождение корней с помощью подбора параметра
- •3.3. Нахождение корней с помощью поиска решения
- •Лабораторная работа № 3 на тему «Решение нелинейных уравнений средствами программы ms Excel»
- •Образец выполнения лабораторной работы №3
- •Численные методы решения нелинейных уравнений средствами vba
- •4.1. Начальные сведения: vba-проект, редактор vba, модуль
- •Общие процедуры
- •Процедуры обработки событий
- •4.2.2. Процедуры-функции (Function) Встроенные функции
- •Функции преобразования типов
- •Математические функции
- •Системные функции
- •Определяемые функции
- •4.2.3. Создание процедур и (или) определяемых функций
- •4.3. Объявление переменных
- •Базовые типы переменных Visual Basic
- •Лабораторная работа № 4 на тему «Программирование некоторых численных методов решения нелинейных уравнений на vba»
- •Образец выполнения лабораторной работы №4
- •Варианты заданий для лабораторных работ №2, №3, №4
- •Ответы к лабораторной работе №1
- •Ответы к лабораторным работам №2, №3, №4
- •Использованная литература
2.4. Уточнение корней методом простой итерации
Если каким-либо способом получено приближенное значение x0 корня уравнения (1), то уточнение корня можно осуществить методом простых итераций. Для этого уравнение (1) представляют в виде
x=(x). |
( 0) |
Возьмём произвольное значение x0 из области определения функции (x) и будем строить последовательность чисел {xn}:
xn+1=( xn), n=0,1,2,… |
( 0) |
Процесс итераций продолжается до тех пор, пока |xn+1 – xn| < , и в качестве искомого приближенного значения корня x* следует взять x*= xn+1.
Для формулировки условий сходимости итерационной последовательности (9) нам нужно вспомнить один результат из математического анализа (формула конечных приращений Лагранжа). Предположим, что функция (x) дифференцируема на [a,b]. При сделанных предположениях о дифференцируемости справедлива следующая формула, называемая формулой конечных приращений Лагранжа (см. [5], теорема 15, с.29)
( x2)- ( x1)= ’()(x2- x1), [x1, x2][a,b].
Используя эту формулу, существование корня уравнения (8) можно установить с помощью предварительного исследования (8) с применением такого факта
Теорема (о сходимости метода простой итерации). Пусть x=v – корень уравнения (8) и пусть функция (x) имеет в окрестности корня [v-, v+], >0, производную ’(x), удовлетворяющую условию
|’(x)|q<1. |
( 0) |
Тогда при любом выборе x0 на отрезке [v-, v+] существует бесконечная итерационная последовательность {xn} (9) и эта последовательность сходится к корню x=v, который является единственным решением уравнения (8) на отрезке [v-, v+].
Сформулированная теорема имеет очень простой смысл. Будем говорить, что функция осуществляет отображение точки x на точку y=(x). Тогда условие (10) означает, что отображение является сжимающим: расстояние между точками x1 и x2 больше, чем расстояние между их изображениями y1=(x1) и y2=(x2). Корень v является неподвижной точкой отображения , он преобразуется сам в себя: v=(v). Поэтому каждый шаг в итерационном процессе (9), сжимая расстояния, должен приближать члены последовательности {xn} к неподвижной точке v.
Таким образом, итерационный процесс (9) сходится, если на отрезке [a,b], содержащем корень v и его последовательные приближения, выполнено условие (10). Важно отметить следующее. Если выполнено условие (10), но |’(x)| близко к 1, то метод итераций применить можно, но итерационная последовательность (9) сходится медленно, для получения достаточной точности нужно вычислить большое число членов последовательности. Если же |’(x)| мало, существенно меньше единицы, то итерационная последовательность сходится быстро, и в этом случае применение метода простых итераций выгодно. В качестве x0 можно взять произвольное значение из интервала, содержащего корень. Реализация алгоритма метода простой итерации представлена на блок-схеме в прил. 4. Отметим, что условие (10) является достаточным, но не необходимым. То есть, существуют функции, для которых условие (10) не выполнено, а итерационный процесс (9) сходится.
Отметим также, что
для приведения нелинейного уравнения
(1) к виду (8), чтобы выполнялось условие
(10), существует много способов. Иногда
используют следующий приём: заменяют
f(x)=0
на x=x-kf(x).
То есть (x)=x-kf(x)
и ’(x)=
=1-kf
’(x).
Из решения неравенства (10), а именно
|’(x)|
< 1, или
|1-kf
’(x)|
< 1,
получают неравенство 0<k<
,
где
.
Для определения оптимального значения
k
используют условие |1-kM|=|1-km|,
где
,
.
При этом k=2/(M+m).
Геометрическая интерпретация процесса представлена на Рис. 12.
а) б) в)
Рис. 12. Геометрическая интерпретация метода простой итерации
Здесь на первых двух рисунках (а, б) показано одностороннее и двустороннее приближение к корню, на третьем (в) — расходящийся процесс (|’(x)| > 1).