Предмет «Математика»
Решение нелинейных уравнений
С использованием языков программирования.
1. Время работы – 2 часа
2.Цель работы: научиться уточнять корни нелинейных уравнений двумя методами: хорд и касательных.
Теоретические сведения
Метод хорд
I) Метод хорд (метод секущих).
Рассматриваемый метод так же, как и метод половинного деления, предназначен для уточнения корня на интервале , на концах которого функция принимает значения разных знаков. Очередное приближение в отличие от метода половинного деления берем не в середине отрезка, а в точке , где пересекает ось абсцисс прямая линия (хорда), проведенная через точки А и В.
Запишем уравнение прямой, проходящей через точки А и В:
.
Для точки пересечения прямой с осью абсцисс получим уравнение .
В качестве нового интервала для продолжения итерационного процесса выбираем тот из двух и , на концах которого функция принимает значения разных знаков. Для рассматриваемого случая выбираем отрезок , так как или . Следующая итерация состоит в определении нового приближения как точки пересечения хорды с осью абсцисс и т.д.
|
|
|
|
|
|
|
|
Получим формулу:
В случае, когда или
В первом случае за начальное приближение берут b, т.е. , во втором a,
Образец программы для метода хорд:
program mx;
function f(x: real): real;
begin
f:=…….;
end;
function z(x: real): real;
begin
z:= вторая производная f;
end;
var
a,b,e,x0,x: real;
begin
a:=…;
b:=…;
write(' e ='); read (e);
if f(a)*z(a)>0 then
begin
x0:=a;
x:=b
end
else
begin
x0:=b;
x:=a
end;
while abs(f(x))>e do
x:=(x0*f(x)-x*f(x0))/(f(x)-f(x0));
writeln('x=',x:6:6,' f(x)=',f(x):7:7);