Matrix-Vektor Multiplikation

Puppilein

Mitglied
Hallo Leute, habe eine Aufgabe, und zwar soll ich eine symmetrische, quadratische Matrix und einen Vektor erstellen, die Einträge habe ich.
desweitern sollen die Klassen SymMatrix und Vektor über eine Methode zum Setzen und Holen eines Koeffizienten verfügen.
Zum Schluss soll ich die Matrix noch mit dem Vektor multiplizieren.
Bisher habe ich das hier gemacht, bekomme aber keine Ausgabe, was mache ich falsch? Bitte helft mir 🙁🙁🙁

Java:
package mathe;

public class SymMatrix {

public double [][] Matrix = null; 
    
public double i , j;    

     public SymMatrix(double [][] Matrix) {
    	 
    	 for(int j=1; j< Matrix.length + 1; j++){
    	 for(int i=1; i< Matrix.length + 1; i++){
    		 
    	 if (j <= i){
          this.Matrix = new double[i][j];
    	 }
    	 else{
          Matrix[i][j] = Matrix [j][i];
          }
    	 }
    	 }
          }
    
    public double get(int zeile, int spalte) {
        return Matrix [zeile][spalte];
    }
    
    public void set(int zeile, int spalte, double wert){
        this.Matrix [zeile][spalte] = wert;
    }
    
    
    
}

Java:
package mathe;
import mathe.SymMatrix;

public class Vektor {

	

	public double [][] Vektor = null; 
	public double [][] Vektor2 = null;
	
	public int i;
	public int j ;

	     public Vektor(double [][] Vektor) {
	    	 
	    	 for(int i=1; i < Vektor.length +1; i++){
	    	 this.Vektor = new double [i][1];
	         }
	     }
	     public void Vektor2(double [][] Vektor2) {
		    	 
		    	 for(int j=1; j < Vektor2.length +1; j++){
		    	 this.Vektor2 = new double [i][1] ;
		    	 }
	    	 
	          }
	    
	    public double get( int zeile) {
	        return Vektor [zeile][1];
	    }
	    
	    public void set(int zeile, double wert){
	        this.Vektor [zeile][1] = wert;
	     
	    }     
	     
	    
	    
	    double multiMatVek(int [][] Vektor, int [][] Vektor2){
	    	
	    
        for(int i = 0; i < Vektor.length; i++);
        {
        	for(int j = 0; j < Vektor2.length; j++);
        	
        	{
        		
				
				Vektor2[i] += Matrix[i][j]*Vektor[j];
        		
        	
        	}
        }
        return i;
        
}
	
	
}


Java:
package programme;

import mathe.*;


public class Test {

	public static void main(String args[]) {
		double[][] Matrix = {
	    { 1.0, -1.0, 0.0, 0.0},
        { -1.0, 2.0, -1.0, 0.0},
	    { 0.0, -1.0, 2.0, -1.0},
        { 0.0, 0.0, -1.0, 2.0}		
		
		};
	}
	
		public static void main1(String args[]) {
			double[][] Vektor = {
					{0.3},
					{0.2},
					{0.1},
					{0.0}
			};
	}	

}
 
In deiner main-Methode erstellst du aber nur eine MAtrix und dann beendet das Programm sofort wieder. Da wird weder ein Vektor erstellt, noch eien Multiplikation durchgeführt, noch irgendetwas ausgegeben...

Abgesehen davon dürfte dein Code nicht mal kompilieren.
 
Zuletzt bearbeitet:
....dir wird hier aber niemand einfach so deine kompletten Hausaufgaben erledigen (es sei denn, du nimmst ein paar Euro dafür in die Hand). Dazu muss wenigstens ein wenig Eigeninitiative kommen, aber da kommt von deiner Seite aus ja wirklich nichts.
 
Wirklich nichts? Ich habe einen kompletten Quellcode geschrieben und hab lediglich gefragt ob mir jemand sagen kann wo meine Fehler sind. Wenn der komplett falsch ist dann hab ich halt einfach keine Ahnung.
Unter null Eigeninitiative verstehe ich hier die Aufgabe reinstellen und sagen Hey löst das mal bitte für mich
 
wo liegt der/die Fehler? Was funktioniert nicht?
Momentan passiert ja nichts außer, wie stg schon sagte, der initialisierung einer Matrix. Du rufst keine deiner geschriebenen Methoden auf und du gibst auch nichts aus!
 
Pack erstmal beide Aufrufe/Initialisierungen, die du machst (Matrix und Vektor) in die main() - Methode und lass sie dir ausgeben

Dann versuchst du, auf die beiden Arrays deine Methode anzuwenden
Immer dabei per sysout überprüfen, ob alles stimmt

Gruß eMmiE
 

Zurück
Oben