Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧМ_1-5.doc
Скачиваний:
14
Добавлен:
25.08.2019
Размер:
595.46 Кб
Скачать

Метод простой итерации

Заменим уравнение F(x)=0 равносильным уравнением x = f(x).

Теорема.

Пусть уравнение x=f(x) имеет единственный корень на отрезке [a,b] и выполнены условия:

  1. функция f(x) определена и дифференцируема на отрезке [a,b];

  2. x  [a,b] f(x)  [a,b]

  3. qx[a,b] |f’(x)|q<1

Тогда итерационная последовательность xn=f(xn-1) (n=1,2,...) сходится при любом начальном члене x0[a,b].

Таким образом, наша задача: преобразовать уравнение F(x)=0 к виду = f(x), удовлетворяющему условиям теоремы 1-3 (хотя итерационная последовательность может сходиться и при невыполнении некоторых условий).

В зависимости от вида функции сходимость может происходить ступеньками либо по спирали.

y

y=x

y

y=x

f(x2)

y=f(x)

f(x1)

y=f(x)

f(x0)

f(x1)

f(x2)

f(x0)

O

x

x0

x1

x2

x3

O

x

x0

x1

x2

x3

Оценка погрешности метода итераций

Пусть xn – приближение к истинному значению x* корня уравнения x=f(x).

Абсолютная ошибка xn=|x*-xn|.

Для оценки погрешности n-го приближения используется формула . Приняв за нулевое приближение xn-1 и учитывая, что при 0<q<1 будет qn<q, для оценки погрешности n-го приближения можно использовать формулу .

Значение q можно получить как верхнюю грань модуля производной |f’(x)| при x[a,b]. Чем q меньше, тем быстрее сходится ряд.

Чтобы достаточно потребовать , откуда получим условие окончания счета

Преобразование к итерационному виду

1) Универсальный способ приведения уравнения F(x)=0 к виду x=f(x).

Уравнение F(x)=0 приводится к равносильному уравнению x = x – m F(x), таким образом, f(x) = xm F(x).

Исходя из третьего условия теоремы: (q) (x[a,b]) [ |f’(x)|q<1] следует, что должно выполняться неравенство: 0 < |1– mF’(x)| < 1.

Достаточно подобрать m так, чтобы выполнялось неравенство 0<mF’(x)<1, откуда следует и .

Тогда q можно принять .

Примечания:

  • Если (x[a,b]) f’(x)<0, то вместо уравнения F(x)=0 переходим к равносильному уравнению:F(x)=0 .

  • Если при приведении уравнения F(x)=0 к итерационному виду x=f(x) получилось, что x[a,b] |f’(x)|>1, то от функции вида y=f(x)переходят к функции x=g(y), обратной для f(x). При этом рассматривается уравнение y=g(y) или x=g(x), причем по свойству обратных функций .

2) Иногда удается преобразовать уравнение F(x)=0 к виду x=f(x) более простым способом, выразив x из уравнения.

Программа решения уравнения методом итераций:

program met_iter;

var x,y,e,q,a,p:real;

N:integer;

function f(x: real):real;

begin {записать, функцию в виде

f:=[математическое выражение], где f(x) удовлетворяет условиям сходимости итерационного процесса}

f:=x-1/11*(x*x*x-x+4)

end;

begin

write('Введите начальное приближение - x: ');readln(x);

write('Введите требуемую погрешность - e: ');readln(e);

write('Введите - q: '); readln(q);

a:=e*(1-q)/q;

N:=0;

repeat N:=N+1; y:=f(x);

p:=x-y; x:=y

until abs(p)<=a;

writeln('Приближенное значение корня - Х = ',x);

writeln('Число итераций - N = ',N);

readln

end.

Блок-схема метода итераций:

Результаты выполнения программы:

начало

Ввод x,ε,q

n:=0

|p|<a

Вывод x, n

конец

+

n:=n+1

y:=f(x)

p:=x-y

x:=y

Введите начальное приближение - x: -2

Введите требуемую погрешность - e: .0001

Введите - q: .82

Приближенное значение корня - Х = -1.7963237043E+00

Число итераций - N = 7