|
|
Auf durchnummerierte Vektoren in Schleife zugreifen |
|
Thisisnotthed |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2016, 15:23
Titel: Auf durchnummerierte Vektoren in Schleife zugreifen
|
 |
Hi,
folgendes Problem:
ich habe mehrer Vektoren Lij die mit L11 bis L1100 bis L2100 nummeriert sind und jeweils zehn Zeilen und eine Spalte haben.
in einer For-schleifen würde ich gerne nacheinander auf die diese zufreifen und unterschiedliche Werte auslesen.
das ganze (verkürze) sieht dann so aus.
irgendwie muss ich Matlab sagen das der gebildete string name L11 auch die variabel L11 sein soll?
kann das jemand nachvollziehen ?
Vielen dank für jede Hilfe!
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 04.02.2016, 15:30
Titel:
|
 |
hallo. du hast einen index im namen versteckt. ein index sollte immer als index benutzt werden. dynamisch varaiablen namen zu erzeugen ist verwirrend und aufwändig. diese dann noch weiter zu verwenden ist noch aufwändiger. sihe dazu die vielen beiträge zum thema eval und warum man das nicht macht.
ich kann dir nur raten den index nicht im namen zu verstecken sondern zb cells oder structs oder mehr dimmensionale arrays zu verwenden. dann kann man den index nämlich ohne probleme auch als solchen verwenden.
grüße
_________________
richtig Fragen
|
|
|
Thisisnotthed |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.02.2016, 09:24
Titel:
|
 |
Hallo Winkow,
vielen Dank für deine Antwort!
Ja der Problematik war ich mir bewusst und hätte es gerne auch lieber über eine Matrixindizierung realisiert. Leider lese ich sehr große Datenmengen ein deren Namen automatisch erzeugt werden. Bisher ist mir noch keine geeignete Methode eingefallen um diese so zu verwalten, dass sie spaltenweise in eine Matrix geschrieben werden. Weil auch in diesem Fall muss man ja auf den Index im Namen zugreifen.
Ich bin über weitere Hinweise und Tipps sehr dankbar.
Viele Grüße!
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 05.02.2016, 10:10
Titel:
|
 |
Zitat: |
Leider lese ich sehr große Datenmengen ein deren Namen automatisch erzeugt werden |
dann setz da an und mach das nicht.
Zitat: |
Bisher ist mir noch keine geeignete Methode eingefallen um diese so zu verwalten, dass sie spaltenweise in eine Matrix geschrieben werden. |
das verstehe ich nicht.
Zitat: |
Weil auch in diesem Fall muss man ja auf den Index im Namen zugreifen. |
wenn sie spaltenweise in einer matrix stehen kann der spalten index als index benutzt werden und steht ja nicht im namen.
_________________
richtig Fragen
|
|
|
Thisisnotthed |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.02.2016, 11:02
Titel:
|
 |
Hi,
danke für dein Beitrag.
Winkow hat Folgendes geschrieben: |
dann setz da an und mach das nicht. |
Die Datenerzeugung liegt leider nicht in meinem Einflussbereich sondern geschieht mit verschiedenen Geräten auf die ich kein Einfluss habe. An dieser Stelle ist für eine gezielte Analyse eine Indexschreibeweise im Namen auch durchaus erwünscht.
Winkow hat Folgendes geschrieben: |
das verstehe ich nicht. |
Ich will genau das erreichen was du beschriebst. Die Datensätze "nebeneinander" in jeder Spalte. Dafür muss ich aber die Daten erst einmal chronologisch einlesen und in einer gesamt Matrix absspeichern:
Winkow hat Folgendes geschrieben: |
wenn sie spaltenweise in einer matrix stehen kann der spalten index als index benutzt werden und steht ja nicht im namen. |
und genau dafür muss ich doch einzelnen Daten gemäß ihres Indizies im Namen auch aufrufen oder nicht?
Viele Grüße und vielen Dank für die schnellen Antworten!
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 05.02.2016, 11:05
Titel:
|
 |
wie kommen die daten denn in den workspace?
Zitat: |
An dieser Stelle ist für eine gezielte Analyse eine Indexschreibeweise im Namen auch durchaus erwünscht. |
ein index hat im namen nix verloren sondern sollte als index benutzt werden. daten haben nix im variablen namen verloren. das ist einfach sehr unhandlich. wenn die bezeichnun wichtig ist dann gehört sie zu den daten und sollte auch so abgespeichert werden. zb in einem struct oder so.
_________________
richtig Fragen
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 05.02.2016, 12:00
Titel:
|
 |
Hallo Thisisnotthed,
Bitte beschreibe die vorhandenen Input-Daten und die gewünschten Output-Daten so klar wie möglich.
Zitat: |
An dieser Stelle ist für eine gezielte Analyse eine Indexschreibeweise im Namen auch durchaus erwünscht. |
Nein, das glaube ich nicht. Wie Winkow schon schrieb: Indices haben im Namen von Variablen nichts verloren. Das wiederspricht einfach der Natur eines "Namens".
Zitat: |
Ich will genau das erreichen was du beschriebst. Die Datensätze "nebeneinander" in jeder Spalte. |
Das verstehe ich nicht.
Zitat: |
Dafür muss ich aber die Daten erst einmal chronologisch einlesen und in einer gesamt Matrix absspeichern: |
Wie wäre dann dies - je nach dem, was "chronologisch" genau bedeutet:
Und so kann man beliebig viele Files alphabetisch sortiert einlesen und in eine Matrix speichern. Das könnte man nun noch nach irgendwelchen Bestandteilen des File-Namens sortieren, oder nach dem File-Datum.
Gruß, Jan
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 05.02.2016, 12:11
Titel:
|
 |
Hallo,
@ "Fragenbeantworter":
es gibt z.B. Programme, die von Instrumenten Daten einlesen und leider .mat-Dateien mit solchen Variablennamen ausspucken.
@ ~d:
Man müsste wissen, in welcher Form die Daten vorliegen, um mehr sagen zu können.
Grüße,
Harald
|
|
|
Thisisnotthed |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.02.2016, 15:05
Titel:
|
 |
Hi,
vielen Dank für alle Beiträge und Ratschläge.
Ich habe das jetzt so umgesetzt, dass ich die Dateien in einer sinnvollen Reihenfolge einlese und anschließend weiterverarbeite (hierfür fehlten mir grundlegende Befehle) . Hat einiges an Aufwand bedeutet, hilft mir aber den eval Befehl zu umgehen (mit dem es dann auch geklappt hat).
Die Problematik der Namensgebung kann ich durchaus nachvollziehen. Leider geben zahlreiche Messgeräte/Sensoren ihre Datensätze mit verschiedenen Angaben wie Datum/Uhrzeit/Ortsangaben im Namen, und nich in einem Header (o.ä), mit ab. Für einzelne gezielte Zugriffe kann das auch meiner Meinung nach durchaus sinnvoll sein. Werde das bei eigenen Programmen zukünftig versuchen zu umgehen.
Noch mal vielen Dank für die guten Tipps und vor allem für die schnelle Hilfe! Das Problem wär hiermit dann beantwortet.
Viele Grüße
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 05.02.2016, 15:35
Titel:
|
 |
Hallo,
Zitat: |
Leider geben zahlreiche Messgeräte/Sensoren ihre Datensätze mit verschiedenen Angaben wie Datum/Uhrzeit/Ortsangaben im Namen, und nich in einem Header (o.ä), mit ab. |
Kenne ich wie bereits angedeutet. Da ist zu überlegen, ob man einmalig den Aufwand treibt, die Daten "vernünftig" zu organisieren, oder sich immer wieder mit eval herumplagt. Meine Meinung dazu dürfte leicht zu erraten sein ;)
Grüße,
Harald
|
|
|
|
|
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.
|
|