Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Метод хорд. Метод основан на замене функции f(x) на каждом шаге поиска хордой, пересечение которой с осью Х дает приближение корня



Метод основан на замене функции f(x) на каждом шаге поиска хордой, пересечение которой с осью Х дает приближение корня.

При этом в процессе поиска семейство хорд может строиться:

а) при фиксированном левом конце хорд, т.е. z=a, тогда начальная точка х0=b (рис. 4.10а);

б) при фиксированном правом конце хорд, т.е. z=b, тогда начальная точка х0=a (рис. 4.10б);


Рис. 4.10.

В результате итерационный процесс схождения к корню реализуется рекуррентной формулой:

для случая а)

(4.11)

для случая б)

(4.12)

Процесс поиска продолжается до тех пор, пока не выполнится условие

(4.13)

Метод обеспечивает быструю сходимость, если f(z)f"(z) > 0, т.е. хорды фиксируются в том конце интервала [a,b], где знаки функции f(z) и ее кривизны f"(z) совпадают.

Схема алгоритма уточнения корня методом хорд

Пример программы:

double f(double x)

{

return sqrt(fabs(cos(x))) - x; // Заменить ф-ей, корни которой мы ищем

}

// a, b - пределы хорды, epsilon - необходимая погрешность

double findRoot(double a, double b, double epsilon)

{

while(fabs(b - a) > epsilon)

{

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

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

}

// a - i-1, b - i-тый члены

return b;

}





Дата публикования: 2015-02-03; Прочитано: 222 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...