Метод хорд

Пусть 1) функция y = F(x) определена и непрерывна на отрезке [ a,b ].

2) F(a)F(b)<0

Требуется найти корень на отрезке с точностью ε.

В качестве приближений к корню принимаются значения c0, c1, c2 точек пересечения хорды с осью абсцисс или

Точка c делит отрезок [ a,b ] на две части. Ту из них, на которой функция знака не меняет, отбрасываем (аналогично методу половинного деления).

В качестве условия окончания счета можно принять условия:

 (Минаева)

 (Турчак).

Корень уравнения: ci.

 

Программа уточнения корней методом хорд:

program met_hord;

var a, b, c, e, x, g: real;

N: integer;

function f(x: real): real;

begin

{записать, функцию в виде f: = [математическое выражение]}

f: = x * x * x - x + 4;

end;

begin

write ('Введите левую границу отрезка - a:'); readln (a);

write ('Введите правую границу отрезка - b:'); readln (b);

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

N: = 0; c: = a;

repeat N: = N + 1; g: = c;

c: = (a * f(b) - b * f(a))/(f(b) - f(a));

if f(a) * f(c)

until abs(g-c)<e;

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

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

readln

end.

Блок-схема метода хорд: Результаты выполнения программы:
Введите левую границу отрезка - a: -2 Введите правую границу отрезка - b: -1 Введите требуемую погрешность - e:.0001 Приближенное значение корня - Х = -1.7963190156E+00 Число итераций - N = 6

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: