J
java-fee
Gast
Hallo zusammen,
ich arbeite z.Zt. an einem Programm zur Wurzelberechnung. Dabei soll eine Klasse für die berechnungsschritte herhalten. Da ich mit der Umsetzung von Mathematischen Formeln in java etwas auf kriegsfuss stehe, komme ich auch nicht weiter als wie unten zu sehen...
Der Startwertsoll x/10 liefern, computeRoot stellt die Wurzelberechnungsfunktion dar (ich hoffe, die stimmt...?), und der Approximationsschritt macht mir die meisten sorgen. Irgendwie habe ich da auch den Überblick verloren, wäre schön, wenn mir einer da mal auf die Sprünge helfen könnte, wie diese approximierung am besten darstellbar ist. Ausserdem wollte ich noch eine Schleife integrieren, die nach einer best. Anzahl von Schritten abbricht. isCloseEnough prüft, ob die Punkte ausreichend nah genug beieinander sind, ich hoffe das habe ich richtig umgesetzt.
Zuletzt möchte ich den Funktionsaufruf mittels zweier Eingabefenster realisieren, (das schreibe ich gerade), das man per button click die 4. Wurzel aus der Zahl 100 berechnet. Aber das nur am Rande, was noch fehlt.
Kann mir jemand bei der approximierung weiterhelfen?
ich arbeite z.Zt. an einem Programm zur Wurzelberechnung. Dabei soll eine Klasse für die berechnungsschritte herhalten. Da ich mit der Umsetzung von Mathematischen Formeln in java etwas auf kriegsfuss stehe, komme ich auch nicht weiter als wie unten zu sehen...
Der Startwertsoll x/10 liefern, computeRoot stellt die Wurzelberechnungsfunktion dar (ich hoffe, die stimmt...?), und der Approximationsschritt macht mir die meisten sorgen. Irgendwie habe ich da auch den Überblick verloren, wäre schön, wenn mir einer da mal auf die Sprünge helfen könnte, wie diese approximierung am besten darstellbar ist. Ausserdem wollte ich noch eine Schleife integrieren, die nach einer best. Anzahl von Schritten abbricht. isCloseEnough prüft, ob die Punkte ausreichend nah genug beieinander sind, ich hoffe das habe ich richtig umgesetzt.
Zuletzt möchte ich den Funktionsaufruf mittels zweier Eingabefenster realisieren, (das schreibe ich gerade), das man per button click die 4. Wurzel aus der Zahl 100 berechnet. Aber das nur am Rande, was noch fehlt.
Kann mir jemand bei der approximierung weiterhelfen?
Java:
public class New {
public static void main(String[] args) {
}
class NewtonRoot {
static double computeRoot int n, double x) {
return x - (x - n /(x * x)) / 3;
}
static double getStartValue (double x) {
return x / 10;
}
static double doApproximationStep (int n, double x, double y) {
int n = 1;
double h = y - x;
double y0 = f.apply (x);
double yn = f.apply (y);
double y = h - x (yo + yn);
double yalt;
do {
yalt = y;
h = h / 2;
y = h * (y0 + yn) / 2 + h * summe (n, h, f, a)
} while (! isCloseEnough (y, yalt));
return y;
}
static boolean isCloseEnough (double x1, double x2) {
return Math.abs (x1 - x2) < 1E - 10;
}
}
}