Блок схема
Рис.1
Проверка метода простой итерации в MathCad
Для использования метода итерации исходное нелинейное уравнение f(х) = 0 заменяется равносильным уравнением
x = j(x). |
Пусть известно начальное приближение корня х = х0. Подставляя это значение в правую часть уравнения, получим новое приближение:
х1 = j(х0). |
|
Далее, подставляя каждый раз новое значение корня в, получаем последовательность значений:
|
Геометрически метод итерации может быть пояснен следующим образом. Построим на плоскости хОу графики функций у = х и у = j (х). Каждый действительный корень уравнения является абсциссой точки пересечения М кривой у = j (х) с прямой у = х (Рис.2, а).
Рис.2
Отправляясь от некоторой точки А0 [x0, j (x0)], строим ломаную А0В1А1В2А2… (“лестница”), звенья которой попеременно параллельны оси Ох и оси Оу, вершины А0, А1, А2, …лежат на кривой у=j (х), а вершины В1, В2, В3, …, - на прямой у = х. Общие абсциссы точек А1 и В1, А2 и В2, …, очевидно, представляют собой соответственно последовательные приближения х1, х2, … корня .
Возможен также другой вид ломаной А0В1А1В2А2 … – “спираль” (Рис.2, б). Решение в виде “лестницы” получается, если производная j' (х) положительна, а решение в виде “спирали”, если j' (х) отрицательна.
На Рисунке 6, а, б кривая у = j (х) в окрестности корня - пологая, то есть <1, и процесс итерации сходится. Однако, если рассмотреть случай, где >1, то процесс итерации может быть расходящимся (Рис.3).
Рис.3
Поэтому для практического применения метода итерации нужно выяснить достаточные условия сходимости итерационного процесса.
Теорема: Пусть функция j (х) определена и дифференцируема на отрезке [a, b], причем все ее значения j (х) [a, b].
Тогда, если существует правильная дробь q такая, что
q < 1
при a < x < b, то: 1) процесс итерации
сходится независимо от начального значения х0 I [a, b];
2) предельное значение является единственным корнем уравнения х = j (х) на отрезке [a, b].
Пример. Уравнение
f(x) = x3 – x – 1 = 0 |
имеет корень x [1, 2], так как f(1) = - 1 < 0 и f(2) = 5 > 0.
Уравнение можно записать в виде
х = х3 – 1. |
Здесь
j (х) = х3 – 1 и j' (х) = 3х2;
поэтому
j' (х) 3 при 1 х 2
и, следовательно, условия сходимости процесса итерации не выполнены.
Если записать уравнение в виде
|
|
то будем иметь:
.
Отсюда при 1 х 2 и значит, процесс итерации для уравнения быстро сойдется.
Найдем корень x уравнения с точностью до 10-2. Вычисляем последовательные приближения хn с одним запасным знаком по формуле
С точностью до 10-2 можно положить x = 1,324.
3Создание программы
Для начала мы создаем Form1 с использованием TextBox и Label. TextBox используется для ввода данных: начала промежутка, конца промежутка и погрешность. А также для решение уравнения. Label используется для обозначения различных данных.
Form1.
Также мы создаем меню. При помощи Menu Editor Мы создаем четыре основных пункта: Файл, Решение, График, Справка. Файл будет открывать два подпункта: Сохранить, который будет сохранить изменения программы на диске, и Выход, который будет выходить из Form1. Решение будет выводит на последний TextBox решение уравнение по заданным данным. График будет переводить на Form2. Справка будет выводит подпункт О программе…,в которой будет говорится о созданной программе.
Создание меню для Form1.
Создание меню для Form2.
Теперь создаем Form2 с использованием PictureBox. На всю Form2 растягиваем PictureBox. Также используем MenuEditor для создания меню во второй Form. Два основных пункта: Файл, в котором два подпункта: Вернуться, возвращение к Form1,Выход, выход из Form2, и График, построение графика по заданным данным.
Form2.
Полный код для Form1.
Полный код для Form2.
График функций y = 0.35 * x - 3.8 + 3 * Sin(Sqr(x)).