Hallo Community,
Ich habe momentan einige Probleme bei einer Programmierarbeit.
Es soll auf Basis von Daten aus einem Excel-Sheet eine Approximationsfunktion dritten Grades erzeugt werden. Diese Approximationsfunktion soll danach dann an beliebigen Stellen ausgegeben und eventuell noch geplottet bzw. wiederum in einem Excel-Sheet ausgegeben werden.
Nun steh ich ein bisschen wie der Ochs vorm Berg. Ich habe damals in der Schule Java im Informatikunterricht gelernt, danach aber Jahre lang nichts mehr gemacht - Dementsprechend sind meine Kenntnisse zu Staub zerfallen.
Es fängt schon damit an, dass Java anscheinend nicht direkt aus Excel-Dateien lesen bzw. in sie schreiben kann. Da scheint es ja einige APIs zu geben, allerdings hab ich es nicht geschafft diese unter Mac OS zum laufen zu bekommen - Aber ich denke das bekomme ich alleine noch irgendwie hin.
Als Beispiel hab ich mir einfach mal ein paar Werte ausgedacht:
Wenn ich nun das mit Excel zum Laufen bringe, hatte ich vor die Messwerte aus Excel in ein zweidimensionales Array zu schreiben - in etwa so:
Allerdings hakt es jetzt beim erstellen der Matrix für die Koeffizientenberechnung.
Die Matrix muss dann ja folgendermaßen aussehen:
Hierbei ist n dann die Anzahl der Wertepaare (im Beispiel oben 6) und m die Anzahl der Koeffizienten ai (beim kubischen Polynom a0, a1, a2 und a3).
Per Hand bekomme ich sie locker gerechnet:
Aber ich bekomme sie auf Teufel komm raus nicht in Java hin! Wahrscheinlich liegt es daran, dass ich mich mit den vielen Schleifen verhaspel und ich mit den Array-Indizes komplett durcheinander komme. Mit Arrays stand ich schon damals auf dem Kriegsfuß und mit mehrdimensionalen Arrays erst recht. Wenn ich mit Worten erklären müsste, was zu machen ist, wär es absolut kein Problem. Allerdings scheiter ich gnadenlos an der Implementierung. Wenn ich die Matrix irgendwie hinbekommen würde, dann wäre der Rest glaube ich auch kein Problem mehr.
Wäre wirklich dankbar, wenn mir jemand zumindest ein paar Brocken hinwerfen könnte, an denen ich mich festhalten kann.
Mit freundlichen Grüßen,
Thomas
Ich habe momentan einige Probleme bei einer Programmierarbeit.
Es soll auf Basis von Daten aus einem Excel-Sheet eine Approximationsfunktion dritten Grades erzeugt werden. Diese Approximationsfunktion soll danach dann an beliebigen Stellen ausgegeben und eventuell noch geplottet bzw. wiederum in einem Excel-Sheet ausgegeben werden.
Nun steh ich ein bisschen wie der Ochs vorm Berg. Ich habe damals in der Schule Java im Informatikunterricht gelernt, danach aber Jahre lang nichts mehr gemacht - Dementsprechend sind meine Kenntnisse zu Staub zerfallen.
Es fängt schon damit an, dass Java anscheinend nicht direkt aus Excel-Dateien lesen bzw. in sie schreiben kann. Da scheint es ja einige APIs zu geben, allerdings hab ich es nicht geschafft diese unter Mac OS zum laufen zu bekommen - Aber ich denke das bekomme ich alleine noch irgendwie hin.
Als Beispiel hab ich mir einfach mal ein paar Werte ausgedacht:

Wenn ich nun das mit Excel zum Laufen bringe, hatte ich vor die Messwerte aus Excel in ein zweidimensionales Array zu schreiben - in etwa so:
Java:
int[][] wertetabelle = {
{0,1},
{1,2},
{2,1},
{3,3},
{4,2},
{5,2},
};
Allerdings hakt es jetzt beim erstellen der Matrix für die Koeffizientenberechnung.
Die Matrix muss dann ja folgendermaßen aussehen:

Hierbei ist n dann die Anzahl der Wertepaare (im Beispiel oben 6) und m die Anzahl der Koeffizienten ai (beim kubischen Polynom a0, a1, a2 und a3).
Per Hand bekomme ich sie locker gerechnet:

Aber ich bekomme sie auf Teufel komm raus nicht in Java hin! Wahrscheinlich liegt es daran, dass ich mich mit den vielen Schleifen verhaspel und ich mit den Array-Indizes komplett durcheinander komme. Mit Arrays stand ich schon damals auf dem Kriegsfuß und mit mehrdimensionalen Arrays erst recht. Wenn ich mit Worten erklären müsste, was zu machen ist, wär es absolut kein Problem. Allerdings scheiter ich gnadenlos an der Implementierung. Wenn ich die Matrix irgendwie hinbekommen würde, dann wäre der Rest glaube ich auch kein Problem mehr.
Wäre wirklich dankbar, wenn mir jemand zumindest ein paar Brocken hinwerfen könnte, an denen ich mich festhalten kann.
Mit freundlichen Grüßen,
Thomas