Показать сообщение отдельно
Старый 28.02.2014, 21:49   #19 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

И вообще, хотел бы я понять, откуда берется вот эта, вставляемая Вами во все программы, ахинея:
if f1(a)*f2(a)>0 then x:=a
else x:=b;
Ни малейшего смысла в ней я, извините, не вижу. Требуется проверка условия положительности произведения производных на концах интервала:
if f2(a)*f2(b)>0 then
Если это условие НЕ выполняется, то задача заведомо методом Ньютона не решается. Если выполняется, то тоже не факт, что решается: функция может оказаться сильно осциллирующей и производная внутри интервала может несколько раз пройти через ноль.
Поэтому, как я Вам уже писал и повторю снова: исходная точка должна выбираться "вручную", например, по графику функции. Алгоритмов выбора ее не существует. Мне, по крайней мере, они не известны.
Эх, разбирали-разбирали задачу, график рисовали, про выбор исходных точек жевали-переживали - да всё, как видно, впустую...
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070