Rolf B: Berechnung/Logik

Beitrag lesen

Hallo Jo,

Du formulierst deine Randbedingung simpler als sie ist. Du hast ja vorgerechnet, dass du bei zweimaligem unterschreiten der 0 zwei Zeilenvektoren in balancierter Form anpasst. Muss auch sein, sonst würdest du nach der ersten Anpassung alle weiteren Zeilen auf 0 setzen müssen, die zur Unterschreitung führen.

Aber warum passt du jedes mal Einzeln an? Aus welchem Grund bleibt Zeile 1 unverändert, wenn Zeile 2 zum Unterlauf führt? Die Frage mag blöd sein, ich kenne den Hintergrund deiner Rechnung nicht. Worauf ich hinaus will, ist: kannst du nicht erstmal den Spaltenvektor aufsummieren, dann prüfen ob die Addition zum Element des Eingangsvektors negativ würde, und dann bei Bedarf die ganze Matrix skalieren?

Was du dann machst wenn es in der zweiten Spalte zum Unterlauf kommt, hängt von deiner Gesamtlogik ab. Eventuell bestimmst du Spalte für Spalte den erforderlichen Skalierungsfaktor, OHNE DEN EINGANGSVEKTOR ZU ÄNDERN, und skalierst mit dem höchsten.

Keine Ahnung ob das für dich passt...

Rolf

--
sumpsi - posui - clusi