ich habe ein Problem, welches möglichst recheneffizient gelöst werden müßte, da ich an einem Echtzeitsystem arbeite.
Ich habe eine sehr große Matrix bei der jede Zeile um einen individuellen Wert verschoben werden muß.
z.B. Habe ich die Matrix A
A=[2 4 8 4; 5 8 2 0; 3 1 4 7] und den Verschiebungsvektor v
v=[2,1,3]
das Ergebnis B sollte folgendermaßen aussehen:
B=[8 4 2 4; 0 5 8 2; 1 4 7 3]
Wäre euch wirklich sehr dankbar, wenn ihr eine gute Lösung ohne Schleifen findet. Mit Schleifen ist es ja kein Problem
circshift kenne ich schon, trotzdem danke.
Hmm, ich denke eher an eine Indexmatrix, die die Elemente einer Matrix neu ordnet. Da sich der Verschiebungsvektor im Laufe des Programms nach den Einschwingvorgängen nicht mehr ändert, würde ich die Matrix am Anfang berechnen und speichern.
na klar, das war ja auch die Aufgabenstellung! Hab ich in meinem Überschwang ganz übersehen.
Jetzt muss es nur noch Bernhard gefallen.
Herzliche Grüße
Bijick
_________________
>> why
Bernhard
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 15.10.2008, 15:51
Titel:
Wirklich heftig! Hatte mich eigentlich schon damit abgefunden, dass es nicht geht. Ich sag mal Aufgabe erfüllt - danke an alle.
Grüße
Bernhard
P.S. sorry, wegen Doppelposting
Edit by Bijick: Doppelposting gelöscht. Melde Dich doch mal an, dann kannst Du das auch.
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.