Tricky644 Geschrieben 4. Juni 2009 Geschrieben 4. Juni 2009 Hallo. Ich bin zzt. dabei ein Programm zu schreiben, wo ich durch das Annäherungsverfahren die Nullstellen der Funktion 7*x^5+ 7*x^2+25 herauszufinden. Hier mein bis jetzt geschriebenes Programm: /* Name: Marc Schnoor Datum: 03.06.2009 Version: 1.0.0 Funktion: Nullstellen einer Funktion bestimmen durch das Anaehrungsverfahren */ #include <stdio.h> double solve (double lx, double rx, double (*fp) (double)); double f1 (double x) { return ((7*(x*x*x*x*x))+ (7*(x*x))+25); //f1 = 7*x^5+7x^2+25 } int main (int ac, char *av []) { double untere_grenze; double obere_grenze; double nullstelle; double mx; double x; printf ("Bitte geben Sie die Untere Grenze an.\n"); scanf ("%f",&untere_grenze); printf ("Bitte geben Sie die Obere Grenze an.\n"); scanf ("%f",&obere_grenze); mx =0.5 * (untere_grenze + obere_grenze); obere_grenze = mx; x = mx; if (*f1 == 0) { printf ("Nullstelle bei %lf gefunden", mx); } else { mx = 0.5 * (untere_grenze + obere_grenze); untere_grenze = mx; x = mx; } if (*f1 == 0) { printf ("Nullstelle bei %lf gefunden", mx); } /* if (untere_grenze > 0 && obere_grenze > 0) { printf ("Die obere Grenze und untere Grenze sind beide positiv.\n"); } */ system ("pause"); } Unser Lehrer hat uns einen Tipp gegeben, dass wir ein Programmteil auslagern soll, welches dann die Annäherung macht. Solche Werte soll das Programm mitgeliefert bekommen. lx = untere Grenze, rx = obere Grenze. Was der letzte Teil soll, weiss ich nicht. "double solve (double lx, double rx, double (*fp) (double)); Komme zzt. nicht weiter wie ich weiter programmieren soll. Bitte um Hilfe. Mfg Marc Zitieren
flashpixx Geschrieben 4. Juni 2009 Geschrieben 4. Juni 2009 Ich verweise einmal auf die Diskussion http://forum.fachinformatiker.de/algorithmik/126108-nullstellen-bisektion-finden.html Das Polynom hat 5 Nullstellen, eine reelle und 4 komplexe. Somit würde sich hier die gleiche Frage bezüglich der Lösbarkeit stellen Phil Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.