J o: Berechnung/Logik

Beitrag lesen

Hey,

OK, dann mal eine Idee in Pseudocode, wie das gehen könnte.

Gegeben: Ein Startvektor s mit Elementen s[i] und eine Matrix M[i][j]

Ich spiele mal etwas:

for(i) {   										// über Spalten von M bzw Elemente von s
  while(!nichtok) {
   	sum = s[i]
   	for(j){ 									// über Zeilen von M
      sum += M[i][j]
			nichtok = sum<0   			// prüfen, ob Summe negativ
    	if(!nichtok)       			// korrigieren
				if(M[i][j]<0)					// prüfen ob Wert negativ
      		for(i){ 						// über Spalten von M
						f = l = 0
						for(j){
							if(M[i][j]<0)
								f += M[i][j]
								l++
						}
        		M[i][j] *= l/f  	// Zeile im Verhältnis verkleinern  	
					}
			}
		}
  }
}

Moment... ich bin schon wieder raus.

Nochmal ganz langsam Schritt für Schritt Formulieren.

  1. Die Summe der Spalte und dem Vektorelement soll positiv sein.
  2. Nur Zeilen in der Matrix die Negative Werte enthalten sollen skaliert werden, falls die Summe kleiner 0 wird, sodass die Summe 0 ergibt.
  3. Falls 2 Werte in der Spalte negativ sind sollen diese abhängig von einander skaliert werden, ebenfalls wenn die Summe kleiner 0 wird, sodass die Summe 0 ergibt

Soll heißen, ich versuche mich morgen weiter. Danke erstmal für die Axt, hoffe ich finde morgen die Kettensäge.

Gruß
Jo