Hallo Leute,
häng schon seit einigen Tagen dran, aber komm einfach ned weiter. Ich hoffe es kann mir jemand helfen.
Problem:
Ich brauch die Ableitung eines Polynoms g. Zuerst muss ich mir aber das Polynom g erstellen. Was ich dazu habe, sind die Nst. des Polynoms g. Die Ableitung eines Polynoms ist ja mit JScience ganz einfach.....nur wie kann ich mittels JScience ein Polynom in Normalform aus den Nst erstellen???
Von (x-x0)*(x-x1)*....*(x-xn) ---- mittels JScience auf ---> a_n*x^n+....+a_1*x+a_0
Hier mein Code aber seh den Fehler ned....
[HIGHLIGHT="Java"]//cmplArr_Approx ist ein Complex-Array und enthält die Nst
Polynomial<Complex> g = null;
Polynomial<Complex> polynom_x = Polynomial.valueOf(Complex.ONE,cmpl_varX);
Polynomial<Complex> polynom_nan = Polynomial.valueOf(Complex.ZERO,cmpl_varX);
Polynomial<Complex> polynom_tmp = polynom_nan.plus(cmplArr_Approx[0]);
Polynomial<Complex> polynom_g = polynom_x.minus(polynom_tmp);
for (int i = 1; i < cmplArr_Approx.length; i++)
{
polynom_tmp = polynom_nan.plus(cmplArr_Approx);
polynom_tmp = polynom_x.minus(polynom_tmp);
polynom_g = polynom_g.times(polynom_tmp);
}[/HIGHLIGHT]
Als Beispiel:
1.Nst (2+0*i)
2.Nst (-2+0*i)
(x-(2+0*i))*(x-(-2+0*i)) -------> (1.0 + 0.0i)x² + (-4.0 + 0.0i)
Aber es kommt bei mir raus: (1.0 + 0.0i)x² + (2.0 + 0.0i)x + (-4.0 + 0.0i)
Sieht jemand nen Denk- oder Programmfehler??
häng schon seit einigen Tagen dran, aber komm einfach ned weiter. Ich hoffe es kann mir jemand helfen.
Problem:
Ich brauch die Ableitung eines Polynoms g. Zuerst muss ich mir aber das Polynom g erstellen. Was ich dazu habe, sind die Nst. des Polynoms g. Die Ableitung eines Polynoms ist ja mit JScience ganz einfach.....nur wie kann ich mittels JScience ein Polynom in Normalform aus den Nst erstellen???
Von (x-x0)*(x-x1)*....*(x-xn) ---- mittels JScience auf ---> a_n*x^n+....+a_1*x+a_0
Hier mein Code aber seh den Fehler ned....
[HIGHLIGHT="Java"]//cmplArr_Approx ist ein Complex-Array und enthält die Nst
Polynomial<Complex> g = null;
Polynomial<Complex> polynom_x = Polynomial.valueOf(Complex.ONE,cmpl_varX);
Polynomial<Complex> polynom_nan = Polynomial.valueOf(Complex.ZERO,cmpl_varX);
Polynomial<Complex> polynom_tmp = polynom_nan.plus(cmplArr_Approx[0]);
Polynomial<Complex> polynom_g = polynom_x.minus(polynom_tmp);
for (int i = 1; i < cmplArr_Approx.length; i++)
{
polynom_tmp = polynom_nan.plus(cmplArr_Approx);
polynom_tmp = polynom_x.minus(polynom_tmp);
polynom_g = polynom_g.times(polynom_tmp);
}[/HIGHLIGHT]
Als Beispiel:
1.Nst (2+0*i)
2.Nst (-2+0*i)
(x-(2+0*i))*(x-(-2+0*i)) -------> (1.0 + 0.0i)x² + (-4.0 + 0.0i)
Aber es kommt bei mir raus: (1.0 + 0.0i)x² + (2.0 + 0.0i)x + (-4.0 + 0.0i)
Sieht jemand nen Denk- oder Programmfehler??