Verfasst am: 07.12.2018, 09:39
Titel: Dynamische Funktion mit 3-dimensionalen Matrizen
Hallo,
nach langem Umherprobieren, möchte ich mich nun an euch wenden:
ich habe 24 Matrizen in einer 3-D Matrix zusammengefasst(7,7,24).
Aus der letzten Matrix soll der Maximalwert von Spalte 4 (:,4:24) eruiert werden und die Position ausgegeben werden.
Wenn ich weiß in welcher Zeile der Minimalwert/die Maximalwerte (ja es können auch mehrere Werte als Maximum vorkommen - das muss abgefangen werden) ist, soll das als Ausgangsparameter für Matrix (7,7,23) benutzt werden.
WIe man im Beispiel unten sieht:
Bei Matrix (:,:,24) wird Spalte 4 untersucht. Diese liefert in Zeile 4 und Zeile 5 einen Maximalwert.
Das wiederrum dient als Ausgangsbasis für Matrix (:,:,23). Hier werden die Spalten 4 und 5 (Aufgrund von Zeile 4 und 5!) betrachtet. Diese liefern zum Einen in Spalte 4 in Zeile 4 und Zeile 5 einen Maximalwert und zum Anderen in Spalte 5 in Zeile 5 einen Maximalwert.
So spielen wir das Spiel nochmal weiter. Wir betrachten also in Matrix (:,:,22) Spalte 4 und 5 und beide liefern uns in Zeile 5 einen Maximalwert. Dementsprechend wird in der nächsten Matrix nur Spalte 6 betrachtet ... usw für alle Matrizen.
Was sollte rauskommen?
Im Endeffekt sollte ein Vektor rauskommen der für jeden dritte Dimension der Matrix die zugehörigen Spaltenwerte liefert und es sollte ein Plot generiert werden.
also
x = [1,2,3....,21,22,23,34]
y = [.......,6, 4&5, 4&5,5]
Ich denke fürs plotten sollte es möglich sein, die x Werte zweimal vorkommen zu lassen und 2 y Werte zuordnen zu können.
Mein Ansatz wäre folgender für die letzte Matrix:
Code:
a = Kum_Kosten(:,4,24); %5. Spalte24.Dim
maximum = max(a) %Zeigt Maximalwert an
position = find(abs(a-maximum) < 0.001) %gibt Position aus
Ich bleibe bei der Erklärung im ersten Absatz hängen:
Zitat:
ich habe 24 Matrizen in einer 3-D Matrix zusammengefasst(7,7,24).
Aus der letzten Matrix soll der Maximalwert von Spalte 4 (:,4:24) eruiert werden und die Position ausgegeben werden.
Was bedeutet "Spalte 4 (:,4:24)"` bei einem 7x7x24 array?
Zitat:
soll das als Ausgangsparameter für Matrix (7,7,23) benutzt werden.
Was bedeutet das? Was ist "als Ausgangsparameter benutzen"?
Zitat:
a = Kum_Kosten(:,4,24); %5. Spalte 24.Dim
Wieso ist das die 5. Spalte?
Zitat:
Code:
position = find(abs(a-maximum) < 0.001) %gibt Position aus
Nach intensiver Arbeit konnte ich mein Problem nun lösen
Aber eine abschließende Frage habe ich noch
Ich habe 2 Vektoren x und y und ein X Wert kann teilweise 2 y-Werte haben. Im angehängten Diagramm seht ihr meine Visualisierung. Ich bräuchte in diesem Diagramm aber zwischen den Punkten ganz rechts (jene mit 2 Y Werten) auch eine Verbindung nach rechts. Quasi wie bei einem Decision-Tree.
Also hier nochmal um den Sachverhalt zu verdeutlichen:
Es soll quasi immer der aktuelle Punkt mit den nachfolgenden Punkten verbunden werden. Ich hab zum Vergleich das Ausgangsbild bearbeitet und mit grün die gewünschten Linien eingezeichnet.
als x und y Werte dienen einfach 2 Vektoren, wo manchen X-Werten 2 Y-Werte zugeordnet werden.
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.