|
|
Komma separierte Liste, multidimensionale Matrix verkleinern |
|
Nesta |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.07.2013, 10:56
Titel: Komma separierte Liste, multidimensionale Matrix verkleinern
|
 |
|
 |
|
Hallo Community,
ich habe eine multidimensionale Matrix Z, deren Dimension n erst während der Laufzeit bekannt wird und je nach Datensatz unterschiedlich sein kann. Die Anzahl der Elemente in jeder Dimension sei hier einfach x1, ... , xn.
Nun soll die Matrix in jeder Dimension immer um das letzte Element verkleinert werden, also so etwas wie Z = Z(1:x1-1, ... 1:xn-1). So könnte ich den Code aber nur schreiben wenn ich von Anfang an die Anzahl der Dimensionen kenne, was ja leider nicht der Fall ist.
Ähnliche Probleme konnte ich an anderer Stelle mit der "Komma separierten Liste" lösen. Z.B. gebe ich der Funktion histcn, die als einzelne Argumente, die Anzahl der Elemente in jeder Dimension braucht eine Komma separierte Liste mit hilfe eines Cell-Arrays:
Das funktioniert bei meinem Problem aber leider auch nicht, da hier die Komma separierte Argumente immer die Form: 1:x1-1 haben. Andere Möglichkeiten, wie zB.
klappen auch nur wenn die Anzahl der Dimensionen bekannt und immer gleich ist.
Für einen guten Tipp, ob und wie man das lösen könnte wäre ich wirklich sehr dankbar
Grüße
Nesta
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 30.07.2013, 10:58
Titel:
|
 |
sowas in der art ?
sonst währe ein lauffähigs beispiel das deine fehler verursacht sinnvoll. damit man das besser nachvollzihene kann was du versucht hast und was nicht klappt.
_________________
richtig Fragen
|
|
|
Nesta |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.07.2013, 11:16
Titel:
|
 |
Das ist leider nicht das was ich suche. Diese Lösung würde auch nur dann funktionieren, wenn ich die Anzahl der Dimensionen im vorhinein kenne und diese auch immer gleich ist.
Ich suche einen Code der mir für eine beliebige Anzahl an Dimensionen immer die Letzten Elemente in der Matrix Z streicht.
Grüße
Nesta
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 30.07.2013, 12:24
Titel:
|
 |
hmm vieleicht könnte man etwas mit eval ndims und ner forschleife basteln
_________________
richtig Fragen
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 30.07.2013, 12:48
Titel: Re: Komma separierte Liste, multidimensionale Matrix verklei
|
 |
Hallo Nesta,
Eine Idee, die zunächst etwas unhandlich aussieht, aber zumindest funktioniert:
Oder:
Das explizite Erstellen der Vektoren in "Index" könnte hier aber teuer werden. Dafür wird in der oberen Methode ein Array wiederholt verkleinert, was auch nicht effizient ist.
Vielleicht is Logical Indexing schneller:
Nun hast Du drei Ideen zum spielen. Viel Erfolg!
Gruß, Jan
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 30.07.2013, 12:57
Titel:
|
 |
das wäre meine obrige variante mit eval...
ich würde dir aber jans varianten empfehlen weil eval dumm zu debuggen ist. habs hier nur der vollständigkeit halber gepostet
_________________
richtig Fragen
|
|
|
Nesta |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.07.2013, 18:07
Titel:
|
 |
Vielen Dank für die ausführliche Hilfe !
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|