Hey Leute, ich häng schon wieder fest 
Mein Prob: liegt in der Methode getNewton. Ich soll das Newtonverfahren anwenden und das heißt hier in dem Fall:
Funktion / Erste Ableitung
f(x)/ f '(x)
den Wert für f(x) bekomme ich raus.. blos die Division gelingt mir nicht
das f(x) ist vom Typ double und das f '(x) ist vom Typ Polynom
Mein Prob: liegt in der Methode getNewton. Ich soll das Newtonverfahren anwenden und das heißt hier in dem Fall:
Funktion / Erste Ableitung
f(x)/ f '(x)
den Wert für f(x) bekomme ich raus.. blos die Division gelingt mir nicht
das f(x) ist vom Typ double und das f '(x) ist vom Typ Polynom
Java:
package Projekt;
public class Polynom
{
private double koeffizienten[] = { 0.0 }; // Null-Polynom
public Polynom(double[] koeffizienten)
{
this.koeffizienten = koeffizienten;
}
private Polynom polynom;
public Polynom getDerivative()
{
Polynom ableitung = null;
if (getDegree() > 0) {
double[] koeffizientenDerAbleitung = new double[koeffizienten.length - 1];
for (int i = 1; i < koeffizienten.length; i++) {
koeffizientenDerAbleitung[i - 1] = koeffizienten[i] * i;
}
ableitung = new Polynom(koeffizientenDerAbleitung);
} else {
ableitung = new Polynom();
}
return ableitung;
}
public Polynom()
{
}
public double getValue(double x)
{
double funktionsWert = 0.0;
for (int i = getDegree(); i >= 0; i--) {
funktionsWert *= x;
funktionsWert += getKoeffizient(i);
}
return funktionsWert;
}
public int getDegree()
{
return this.koeffizienten.length - 1;
}
public double getKoeffizient(int stelle)
{
return koeffizienten[stelle];
}
public double getNewton(double start, double precision, int iterations)
{
double start2 = 0;
start = start2;
start2 = start - polynom.getValue(start)
/ getDerivative().getValue(start);
return start2;
}
@Override
public String toString()
{
System.out.print("f(x)=");
if (getDegree() < 0)
System.out.println("ERROR: Grad negativ!");
if (getDegree() == 0)
System.out.println(koeffizienten[0]);
if (getDegree() > 0) {
System.out.print(koeffizienten[getDegree()]);
if (getDegree() > 1) {
System.out.print("*x^");
System.out.print(getDegree());
} else
System.out.print("x");
for (int i = getDegree() - 1; i >= 0; i--) {
if (koeffizienten[i] > 0)
System.out.print(" +");
if (koeffizienten[i] < 0)
System.out.print(" ");
if (koeffizienten[i] != 0) {
System.out.print(koeffizienten[i]);
if (i > 1) {
System.out.print("*x^");
System.out.print(i);
} else if (i == 1)
System.out.print("x");
}
}
}
return "";
}
public static void main(String[] args)
{
double x = 2;
double[] test1 = { -5 , -4.0 , -3.0 , -2.0, 10.0};
Polynom poly1 = new Polynom(test1);
System.out.println("Polynom " + poly1.getDegree() + ". Grades");
System.out.println(poly1);
System.out.println("_____________________");
System.out.println("Ableitung:");
System.out.println(poly1.getDerivative());
System.out.println("_____________________");
System.out.println("Funktionswert an der Stelle: "+x+" beträgt: \n"+ "f("+x+")="+poly1.getValue(x));
System.out.println("_____________________");
System.out.println("Newton-Verfahren für Nullstellen");
System.out.println(poly1.getNewton(1.0, 1.0, 1));
System.out.println();
}
}