J o: Berechnung/Logik

Beitrag lesen

Hey,

Kannst du mal eine Musterrechnung mit einem 3er Vektor und einer 3x2 Matrix zeigen?

Fall 1 ohne eintreten der Randbedingung, (trivialer Fall):

var s = [5,9,3];
var M = [[1,-2,0],[0,2,-4],[-1,-1,0]]; //Spaltenvektoren in einem Array

// Rechnungenschritte:

s[0] = 5 + 1 -2 + 0; // s[0] + M[0][i]
s[1] = 9 + 0 + 2 - 4; // s[1] + M[1][i]
s[2] = 3 - 1 - 1 + 0; // s[2] + M[2][i]

// Ergebnis
s = [4,7,1];

Fall 2 mit eintreten der Randbedingung, (trivialer Fall):

var s = [1,9,3];
var M = [[1,-4,0],[0,2,-4],[-1,-1,0]]; //Spaltenvektoren in einem Array

// Rechnungenschritte:

s[0] = 1 + 1 -4 + 0; // < 0 Randbedingung

// M neu aus 2tem Zeilenvektor * 0.5:
M = [[1,-2,0],[0,1,-4],[-1,-0.5,0]];

s[0] = 1 + 1 -2 + 0;
s[1] = 9 + 0 + 1 - 4;
s[2] = 3 - 1 - 0.5 + 0;

// Ergebnis
s = [0,7,1.5];

Fall 3 mit eintreten der Randbedingung in mehreren Iterationsschritten, (Kopfrauchen):

var s = [1,9,3];
var M = [[1,-4,-2],[0,2,-4],[-1,-1,0]]; //Spaltenvektoren in einem Array

// Iterationsschritt 1:

s[0] = 1 + 1;

// Iterationsschritt 2:

s[0] = 2 - 4;  // < 0 Randbedingung

// M neu aus 2tem Zeilenvektor * 0.5:
Mneu = [[1,-2,-2],[0,1,-4],[-1,-0.5,0]];

// Iterationsschritt 3:

s[0] = 0 - 2;  // < 0 Randbedingung

// Zurück zu Iterationsschritt 2 ??

// M neu: M[1] und M[2] mal 1/3
// Gleichmäßiges verkleinerungs Verhältnis zwischen den Zeilenvektoren, folgt aus dem Mittelwert der Subtrahenden ( 4+2 = 6, 6/2 = 3 ), oder? Ich bin mir gerade selbst nicht sicher.
Mneu = [[1,-1.33,-0.66],[0,0.33,-1.33],[-1,-0.33,0]];

s[0] = 1 + 1 - 1.33 - 0.66;
s[1] = 9 + 0 + 0.33 - 1.33;
s[2] = 3 - 1 - 0.33 + 0;

// Ergebnis
s = [0,8,1.66];

Und wenn dieser Fall nun irgendwo auftritt, müsste ich in beiden Iterationen Schritte zurück gehen.

Gruß
Jo