Wir sollen das Newtonverfahren implementieren - doch wie lass ich nach einen vernünftigen Definitionsbereich suchen [a,b], oder ist dass nicht gefragt?
(Die Frage ist nicht konkret auf eine Progr.-Sprache ausgelegt - suche nur vernünftigen Ansatz)
Fur das eigentliche Verfahren brauchst Du doch a und b gar nicht, nur x_0
?
Xo ist doch Element von [a,b] oder nicht?
Ich dachte mein prog muss dann ein vernünftiges Intervall und dann ein vernünftigen Wert innerhalb des Intervalls finden, oder ?
Startwert soll dein Programm nicht finden, den gibst du vor:
"…gib für x0 = 5 zu jedem der Beispiele…"
plz help whats wrong here?
public Newtoner(int startwert)
{
_x_0 = startwert;
while ( _f_auf_x_0 >= (10^(-8)) )
{
for (int kmax=0; kmax <40; kmax++;) // <- hier meckert
//der compiler
{
_f_auf_x_0 = (e^(_x_0)) - 2;
_f_auf_x_n = (e^( _x_0 + 10))-2;
x_0 = _x_0 - (_f_auf_x_0 / f`_auf_x_0);
}
}
}
public int ableitung()
{
double x_n = x_0 + 10;
f´_auf_x_0 = (_f_auf_x_n - _f_auf_x_0)/(x_n - x_0);
}
Ich würde auf das Semikolon nach dem "++" tippen.
EDIT: Manche C-Compiler stören sich zusätzlich an der im
Schleifenkopf deklarierten Variable (wenn ich mich richtig
erinnere, ist das zwar wohl inzwischen im C-Standard [jemand,
der da informiert ist, möge das bestätigen oder abstreiten],
aber bei älteren Compilern nicht implementiert).
EDIT2: Ups, ist ja C++. Dann ist's wohl an der Stelle mit dem
Löschen des Semikolons getan.
EDIT: Manche C-Compiler stören sich zusätzlich an der im
Schleifenkopf deklarierten Variable (wenn ich mich richtig
erinnere, ist das zwar wohl inzwischen im C-Standard [jemand,
der da informiert ist, möge das bestätigen oder abstreiten],
aber bei älteren Compilern nicht implementiert).
Jupp, das kann ich bestätigen, das ist definitiv in C++ UND in C erlaubt.
EDIT2: Ups, ist ja C++. [ … ]
Nee, C++ ist es wohl eher nicht. Bei dem "public" würde sonst ja ein Doppelpunkt folgen.
–
EP
EDIT: Manche C-Compiler stören sich zusätzlich an der im
Schleifenkopf deklarierten Variable (wenn ich mich richtig
erinnere, ist das zwar wohl inzwischen im C-Standard [jemand,
der da informiert ist, möge das bestätigen oder abstreiten],
aber bei älteren Compilern nicht implementiert).
Jupp, das kann ich bestätigen, das ist definitiv in C++ UND in C erlaubt.
Dann aber bitte genau [img]
http://www.fb18.de/gfx/24.gif[/img] Es ist in C99, also dem Standard von 99 erlaubt, die meisten Compiler kompilieren per default wohl nicht damit, der gcc z.B. gibt aber gleich dne expliziten hinweis, dass man den C99-Modus (-std=c99 afair) benutzen soll [img]
http://www.fb18.de/gfx/28.gif[/img]
Dann aber bitte genau
Das ist so genau wie nötig. Es gibt genau einen C-Standard (*), und das ist C99. C89 ist nicht mehr C!
Es ist in C99, also dem Standard von 99 erlaubt, die meisten Compiler kompilieren per default wohl nicht damit, der gcc z.B. […]
Ja, leider tut er das nicht. Aber z.B. der Sun-Compiler auf den Sunray-Terminals tut das meines Wissens.
(*) - Wenn man davon absieht, dass es den natürlich in mehreren nationalen Standards gibt, die aber alle quasi gleich lauten.
–
EP