Matrixmultiplikation ohne einzelne Elemente aufzurufen

Coppelius

Mitglied
Nabend,

ich braeuchte dringend Hilfe bei einem Problem, bei dem ich einfach nicht weiterkomme. Und zwar will ich eine Matrixmultiplikation von zwei mehrdimensionalen Feldern(array1 und array2) durchführen ohne die einzelnen Werte der Felder aufzurufen (for-Schleifen). Stattdessen habe ich zwei Methoden, die mir jeweils Zeile und Spalte einer Matrix ausgeben. Mein Problem ist jetzt, dass ich nicht so richtig weiß, wie ich die Matrix mit dem Ergebnis meiner Multiplikation befüllen kann ohne einzelne Elemente aus array1 und array2 aufzurufen (bspw. array1[j]). Die Lösung sollte über getZeile(array2, zeilenNr.) und getSpalte(array1,spaltenNr.) fkt.

Hoffe, ihr koennt mir helfen.
 
Du willst zwei Matrizen multiplizieren aber ohne einzelne Elemente aufzurufen. Du willst also ein Buch lesen, ohne dir die Seiten anzugucken?

Mit getZeile und getSpalte bekommst du die Zeile und die Spalte und die musst du dann (per Skalarprodukt) miteinander multiplizieren. Um einzelne Elemente kommst du nicht umhin., siehe Buchgleichnis. 😉
 
Wenn's um große Matrizen geht und die Rechenzeit sehr wichtig ist, solltest du das nicht selber programmieren. Das haben andere schon (extrem) effizient umgesetzt, ein "Normalprogrammierer" sucht sich eine entsprechende Bibliothek (z.B. von einer renomierten Quelle, z.B. einer Universität oder einer Forschungseinrichtung).

Ich verwende z.B. 'colt' vom Cern.
 

Zurück
Oben