![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
VAR
A,B,E:REAL; X: REAL;
Function f(x:real): real;
Begin
f:= x*x-x-2;
End;
Begin
writeln('введите отрезок локализации корня [a,b] и точность');
Read(a,b,e);
k:=0;
REPEAT
X:= (A+B)*0.5;
IF f(X)*f(B)<0 THEN
a:=x
Else
b:=x
UNTIL ABS(B-A)<e;
writeln('корень уравнения =', (A+B)*0.5);
END.
В данной программе используется подпрограмма функция f, которая вычисляет левую часть исходного уравнения:
.
Переменная x используется в программе для сохранения значения середины отрезка [a, b].
Численное решение нелинейных уравнений
методом Ньютона
Положим:
,
где x – корень уравнения f(x) = 0, hn считаем малой величиной. Отсюда, применяя формулу Тейлора, получим:
.
Следовательно, . Подставив это выражение, получим:
Геометрическая интерпретация метода представлена на рисунке 29.
Через точку А0(х,у) с координатами х = x0, у = f(x0) проводим касательную. По формуле
находим точку пересечения касательной с осью ОХ (точка х1).
Находим точку А1(х1,у), проводим касательную через точку А1 для нахождения х2.
Этот процесс продолжаем до тех пор, пока разница |хi+1-xi| не станет меньше, чем значение e, т.е. пока не будет найдено значение корня с заданной точностью e.
Рисунок 29 – Геометрическая интерпретация решения уравнения методом Ньютона
Приведём программу, реализующую итерационный метод уточнения корня уравнения:
.
Дата публикования: 2014-11-26; Прочитано: 225 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!