Java < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 14:18 Di 12.12.2006 | Autor: | nicebear |
hallo, ich habe angefangen, ein Programm zu schreiben. Dies sieht so aus:
import Jama.Matrix;
public class matrixmultiplikation {
public static void main (String [] args){
int m = 2;
int n = 2;
Matrix A= Matrix.random(1, m); //Zeilenvektor
Matrix B= Matrix.random(m, n); //matrix
Matrix C= Matrix.random (n, 1); //Spaltenvektor
A.print(10, 2);
Matrix F = Multiplikation(A,B);
F.print(10, 2);
}
static Matrix Multiplikation (Matrix A, Matrix B)
{
Matrix M=A.arrayTimes(B);
return M;
}
}
ich möchte erstmal nur die Matrizen A und B multiplizieren. aber bei der Übersetzung bekomme ich eine Fehlermeldung, dass die Dimensionen der Matrizen nicht übereinstimmen. das verstehe ich nicht, weil ich denke, es muss eigentlich gehen, wenn ich eine 1 x m- Matrix mit einer m x n- Matrix multipliziere.
Hab ich doch irgendwo Fehler gemacht? ich selber kann meinen Fehler nicht entdecken. kann jemand mir bitte helfen? Vielen Dank schon mal.
Gruß
nicebear
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hallo,
du benutzt ja auch die falsche Funktion! Schau dir bitte die Dokumentation zu Jama einmal genauer und du wirst feststellen, dass du versuchst, eine elementweise Multiplikation durchzuführen. Dazu müssten A und B gleichgroß sein.
Die Funktion, die du suchst, ist times(...). Das ist die gewöhnliche Matrixmultiplikation.
Gruß
Martin
|
|
|
|