Code:
double x0;
double x1 = 0;
do
{
x0 = x1;
for (int i = 0; i < (Grad + 1); i++) //f(x) bilden
{
f = f + kff[i] * Math.Pow(x0, (Grad - i));
}
for (int i = 0; i < (Grad); i++) //f1(x) bilden
{
f1 = f1 + (Grad - i) * kff[i] * Math.Pow(x0, (Grad - 1 - i));
}
x1 = x1 - (f / f1);
Console.WriteLine(x1); //Wiedergabe von x1
Console.ReadLine();
} while (x1 != x0);
Hallo,
irgendwie gibt mir die Console falsche Werte zurück. Nach dem ersten durchlauf sollte -1,5 rauskommen, was es auch tut und bei zweiten durchlauf sollte -1,05 raukommen, aber es kommt -1,607...
Bei jedem Durchlauf soll der Wert von x1 an x0 übergeben werden.
Was habe ich falsch gemacht?
PS: Newtonverfahren