# Polynom-Ableitung berechnen



## Nojo (8. Feb 2009)

Hi,

ich hab hier eine Klausuraufgabe zum üben liegen und komme nicht weiter. Hoffe daher Hilfe von euch zu erhalten. Ich poste einfach mal die Aufgabenstellung und hoffe auf eine oder mehrere Antworten 
Schon mal vielen Dank!!!


Programmieren Sie eine statische Methode ableit1(), mit der zu einem Polynom p(x) das Polynom q(x) der 1. Ableitung berechnet werden soll: q(x) = p'(x). Polynome sind durch die Folge Ihrer Koeffizienten gegeben. Es geht also darum, die Koeffizienten von q(x) zu berechnen. Das Feld a[] speichert die Koeffizienten von p(x).
Die Methode ableit1() hat folgenden Prototyp: Static double[] ableit1(double a [])

Mit freundlichen Grüßen

Nojo
[/code]


----------



## 0x7F800000 (8. Feb 2009)

Zwischen der Aufgabenstellung und den freundlichen Grüßen fehlt irgendwie die Problembeschreibung bzw. Lösungsansatz... Wo gibt's denn Stress, es ist doch alles denkbar straight-forward: einfach hinschreiben und laufen lassen, evtl nachträglich den einen oder den anderen index korrigieren, fertig... :roll: 


edit:
Wie man Polynome ableitet dürfte ja wohl auch bekannt sein?
http://de.wikipedia.org/wiki/Polynom#Eigenschaften
http://nl.wikipedia.org/wiki/Johannes_Hudde


----------



## Nojo (8. Feb 2009)

deshalb hab ich das ganze ja bei den anfängerfragen gefragt. hab keine ahnung wie ich ansetzten soll und  daher gehofft hier ne lösung zu finden...


----------



## 0x7F800000 (8. Feb 2009)

Viel mehr als in diesem Kapitel
http://openbook.galileocomputing.de...03_010.htm#mj198541638074949eac33530a0d77982d
steht, braucht man für diese Aufgabe eigentlich nicht zu wissen. 

Falls du dich zu einer Klausur über Java vorbereitest, dann würde ich auch zumindest mal die Basics aus den ersten 6-7 Kapiteln dringend empfehlen.

Und außerdem... bei dieser Aufgabe kan man doch nicht mehr zum Ansatz sagen, als in der Aufgabenstellung schon steht, ohne die Aufgabe zu lösen... Da sind ja schon die zwei Zeilen

```
public static double[] ableit1(double[] a){
}
```
vorgegeben, wenn dir jetzt noch jemand die dritte Zeile verrät, dann war's das mit der aufgabe... :roll:


----------



## 0x7F800000 (8. Feb 2009)

okay, 1 Zeile ist das dazwischen auch nicht... 

Da es keine Hausaufgabe ist, ausnahmsweise:

```
public class Poly {
	public static double[] derive(double[] p){
		if(p.length>1){
			double[] result=new double[p.length-1];
			for(int i=1; i<p.length; i++){
				result[i-1]=p[i]*i;
			}
			return result;
		}else{
			return new double[]{0};
		}
	}
	
	public static String polyToString(double[] p){
		String result="";
		for(int i=0; i<p.length; i++){
			result+="+"+(p[i]+"x^"+i);
		}
		return result;
	}
	
	public static void main(String[] args){
		double[] p=new double[]{3,2,4,5,7,2};
		do{
			System.out.println(polyToString(p));
			p=derive(p);
		}while(p.length>1);
	}
}
```
Hoffentlich bringt's was... :roll: Aber ehrlich: selber basteln bringt 1000 mal mehr, als code von jemand anders nur "nachzuvollziehen" :autsch: Erst recht bei so einer "Hinschreibaufgabe", die einfach nur dazu da ist, damit die Leute die Furcht von der Tastatur verlieren :roll:


----------



## Nojo (9. Feb 2009)

wow, vielen dank für den link!!! sehr hilfreich hab ja noch etwas zeit. vielen dank nochmal!!!!


----------

