Guten Morgen,
Ich stehe vor einem Problem und sehe sprichwörtlich den Wald vor lauter bäumen nicht mehr. Also ich bewege mich gedanklich in einer Schleife und komme auch durch Umformulierung des Problems und runter brechen auf die kleinsten Einheiten nicht mehr auf einen Lösungsansatz.
Gegeben sei ein Startvektor:
s=[1,2,3,4,5,6,7,8,9]
Auf diesen soll der zeilenvektor aus z.B dieser Matrix
0|0|0|0|0|0|0|-5b|b=b0e^f(dt,x) 2|1|0|3|0|0|0|-4|0 0|-2|-2.5|0|2|7|0|-1|0 -5|0|0|0|0|0|5|-2|0 -1|0|-1|0|0|0|0|5|0 0|0|0|0|0|0|-b*g(dt,x)|0|0
addiert werden um so auf einen Lösungsvektor zu kommen.
Bisher iteriere ich erst spaltenweise und dann zeilenweise über die Martrix und addiere auf den Startvektor.
Mein erstes Problem ist, dass falls der Startvektor, während der Iteration an einer Stelle kleiner Null wird, ändern sich die Werte in der Zeile der Matrix um das Verhältnis der Differenz zu Null und dem Eintrag in der Matrix, was noch nicht das Problem ist. Also zum Beispiel, wenn in der Iteration über den nullten Spaltenvektor, an Index 3 der Startvektor den Wert an Index 0, -2 annimmt, soll sich in der gleichen Zeile der Matrix an Index 6 die 5 zu einer 3 ändern.
Bei negativen Einträgen in einer Spalte, beeinflussen diese jede Zahl in der betreffenden Zeile, wenn die Summe erst in einer späteren Iteration kleiner Null wird. Also zum Beispiel der Spaltenvektor Index 2, wo der Startvektor 2 erst beim 5ten Iterationsschritt -0.5 wird, müssen sich alle Zahlen in Zeile 3 und 5 ändern, nur an diesem Punkt kann ich ja nicht mehr über die vorherigen Spalten- bzw. Zeilenvektoren Iterieren ( hier sollte sich die -2 an Index [1][2] zu -1 ändern also -2 * 0.5/1 ).
Hätte vielleicht jemand eine Idee wie ich eine Randbedingung formulieren könnte bzw generell vorgehen könnte?
Das Zweite, was aus dieser Randbedingung resultiert, ist die nicht Linearität, womit ich mich aber bisher noch nicht genau beschäftigt habe, da ich jetzt schon weiß, das die mathematische Formulierung nicht gerade trivial wird.
Gruß
Jo