Hallo ihrs,
ich muss eine Nullstelle berechnen und hab folgenden Code. Meine Frage ist, ob ich die Funktion -x^3+1 überall dahin schreiben muss wo ich eben "Funktion" geschrieben habe.
würde mich über ne antwort freuen
ich muss eine Nullstelle berechnen und hab folgenden Code. Meine Frage ist, ob ich die Funktion -x^3+1 überall dahin schreiben muss wo ich eben "Funktion" geschrieben habe.
Code:
public class MyFunction {
private Funktion funktion;
private double genauigkeit=0.00001;
public Nullstellensuche(Funktion funktion, double genauigkeit) {
this.funktion = funktion;
this.genauigkeit = genauigkeit;
}
/**
* Berechnet die Nullstelle der Funktion f(x) = -x^3+1 durch binaere Suche.
*
* @param unten
* untere Grenze.
* @param oben
* obere Grenze.
*
* @return Nullstelle der Funktion f(x) = -x^3+1.
*/
protected int berechneNullstelle(int unten, int oben) {
// TODO
int mitte=(unten+oben)/2;
if ( Math.abs( funktion.f(mitte) ) < genauigkeit ) {
return mitte;
} else
if ( funktion.f(mitte) * funktion.f(oben) < 0 ) {
return berechneNullstelle(mitte, oben);
} else{
// man überzeuge sich hier, dass f(mitte) * f(links) < 0 gelten muss!
return berechneNullstelle(unten, mitte);
}
return Integer.MIN_VALUE;
}
// Main-Methode zum Testen.
public static void main(String[] args) {
MyFunction analysis = new MyFunction();
System.out.println("Nullstelle bei: x = "
+ analysis.berechneNullstelle(-1000, 1000));
}
}
würde mich über ne antwort freuen