Ich habe angefangen ein Programm zu schreiben, welches mir für ein Polynow 7ten Grades eine Kurvendiskussion durchführt. An einem Schritt in der Newton-Methode zur Annäherung der Nullstellen scheitert das Programm doch.
Es kommt die Fehlermeldung EXTERNAL SIGPFE. Dabei wird die folgende Zeile markiert.
Code: Alles auswählen
xneu:= xalt - ((a*(xalt**7) + b*(xalt**6) + c*(xalt**5) + d*(xalt**4) + e*(xalt**3) + f*(xalt**2) + g*xalt + h)/(a2*(xalt**6) + b2*(xalt**5) + c2*(xalt**4) + d2*(xalt**3) + e2*(xalt**2) + f2*xalt + g));
Der erste Gedanke, der mir kam war, dass ich durch Null teilen würde, das habe ich aber meiner Meinung nach durch folgende Zeilen behoben:
Code: Alles auswählen
if (x = 0) and (g = 0) then
begin
x:= 0.00001;
end;
wahrscheinlich ist es wieder nur ein dummer Fehler
