все нашел человеческое описанние
http://www.cyberforum.ru/post2138977.html писал(а):
Идея состоит в том, что если нам даны такие точки a и b, что f(a) < 0 < f(b), то функция f должна иметь по крайней мере один ноль на отрезке между a и b. Чтобы найти его, возьмем x, равное среднему между a и b, и вычислим f(x). Если f(x) > 0, то f должна иметь ноль на отрезке между a и x. Если f(x) < 0, то f должна иметь ноль на отрезке между x и b. Продолжая таким образом, мы сможем находить все более узкие интервалы, на которых f должна иметь ноль.
-- 29.10.2012, 22:24 --Программу следует переписать с нуля. Чтобы на этот раз она хоть как-нибудь использовала данное в условии уравнение.
Я так и делаю, теперь сам не понимаю как такую фигню мог написать=)
-- 29.10.2012, 22:49 --вот что получилось для нахождения на определенном интервале
double a = 0, b = 0,x;
if (interval[0] < 0)
{
a = interval[0];
b = interval[1];
}
else if(interval[1] < 0) {
a = interval[1];
b = interval[0];
}
do{
x = (a + b) / 2;
if (x > 0) b = x;
else if (x < 0) a = x;
Console.WriteLine(x);
}while(Math.Abs(x) > accuracy);
цикл останавливается но результат получается какой то сильно маленький