|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Maxim Lanovoy 2:463/1124.6 22 Feb 2002 11:20:04 To : Kirill Volkov Subject : Метод хорд -------------------------------------------------------------------------------- KV> Господа! KV> Подскажите, плз, что за такой метод решения уравнений? Буду крайне KV> признателен за информацию в любой форме - описание, сорцы и т.п. Общий алгоритм приблизительно такой: 1. Определяем интервалы, которые содержат корни на заданном отрезке (это делается простой проверкой f(x)*f(x+H) < 0, где x выбираем с некоторым шагом H, например 0.5). 2. Для каждого из интервалов уточняем корни итерационным методом хорд. Метод хорд: Пусть есть некоторая непрерывная на заданном отрезке [a,b] функция f(x). Причем f(a)*f(b) < 0, кроме того f'(x) и f''(x) сохраняют на этом отрезке свой знак. В основе метода хорд лежит линейная интерполяция функции по двум значениям, имеющим противоположные знаки. Входные данные: 1) некоторый отрезок [a, b] 2) критерий оценки точности результата. Hапример |y| < eps, где eps - константа. Hапример 0.001 Алгоритм: 1. Пусть x0 = a, x1 = b, y = f(x0) 2. Пока |y| > eps 1. x = x0 - f(x0)*(x1-x0)/(f(x1)-f(x0)) 2. y = f(x) 2. Если f(x)*f(x0) < eps то x1 = x иначе x0 = x --- С уважением, Максим Лановой (*mailto:* maxim(_*at_*)lanovoy.kiev.ua) --- GoldED/W32 3.0.1 * Origin: Думаю... 23% completed (2:463/1124.6) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/33223c760311.html, оценка из 5, голосов 10
|