C++ Newtonverfahren
-
Hallo zusammen,
nochmals Danke für die Unterstützung der letzten Aufgabe. Hat mir wirklich geholfen!
Nun gehts um die Programmierung des Newtonschen Iterationsverfahren.
Hier zuerst die Aufgabe:
http://imageshack.us/f/502/50276234.jpg/
Gefordert sind:
- max. 5 Iterationsschritte
- E mit Genauigkeit von 10^-10Bin bei der Aufgabe ordentlich ins Straucheln gekommen und weis nun leider mit der nun auftauchenden Fehlermeldung nicht weiter.
Hier erstmal mein Ansatz:#include <iostream> #include <cmath> using namespace std; int main () { double M, e, E, xalt, xneu; cout <<"Wert für epsilon und M eingeben"; cin>>e>>M; if(0.0>=e>=1.0 || 0.0>=M>=2.0*4.0*atan(1)); {cout << "Bitte 0<=epsilon<=1 und 0<=M<=2*pi eingeben" << endl;} else { for(i=0; i<=5; i++) { while (xneu>=pow(10,-10)) {xneu=xalt-(xalt-e*sin(xalt)-M)/(1.0-e*cos(xalt)); cout<<"Das Ergebnis ist" << xneu<< endl;}} } system("PAUSE"); return 0; }Meine Idee war dahingehend nach der Bestätigung, dass für Epsilon und M korrekte Werte eingegeben werden, ich eine Zählschleife, die max. fünf Durchläufe hat, vor die Berechnungsschleife, setz. Ist das so überhaupt durchführbar, oder muss ich mir eine andere Möglichkeit überlegen?
Wenns so garnicht umsetzbar ist, wär eine gewisse Hilfestellung toll. befindet sich in Zeile 16 und verlangt:16 A27.cpp expected primary-expression before "else"
16 A27.cpp expected `;' before "else"Hoff mir kann wieder weitergeholfen werden.
Gruß
-
Mach mal das Semikolon in der Zeile mit dem if weg.
-
0.0>=e>=1.0 || 0.0>=M>=2.0*4.0*atan(1)Das ist wahrscheinlich nicht, was du gemeint hast.