|
|
Alle Vektoren im Workspace kürzen |
|
Bastio1989 |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 29.10.14
|
 |
|
 |
Wohnort: Österreich
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.02.2016, 11:14
Titel: Alle Vektoren im Workspace kürzen
|
 |
Hallo!
Gibt es eine Möglichkeit alle Vektoren im Workspace mit einem Befehl zu kürzen?
Ich lese ca 100 Vektoren ein und rund die erste hälfte der Zeit ist Mist. Das würde ich gerne bei allen rauslöschen. Klar kann ich jetzt Vektor1(tgewünscht:end) machen aber bei jedem Vektor ist ir das zu viel.
Kennt ihr was?
LG
Basti
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 19.02.2016, 11:25
Titel: Re: Alle Vektoren im Workspace kürzen
|
 |
Hallo Bastio1989,
Zitat: |
Gibt es eine Möglichkeit alle Vektoren im Workspace mit einem Befehl zu kürzen? |
Von Code der automatisch die Namen aller Variablen identifiziert und die Inhalte ändert, rate ich dringend ab. Solche Meta-Programmierung schafft viele Probleme und macht den Code schnell unwartbar.
Zitat: |
Ich lese ca 100 Vektoren ein und rund die erste hälfte der Zeit ist Mist. |
Wie liest Du die daten ein? Wie sind sie gespeichert? Verwendest Du wirklich unpraktische Namen wie "Vektor1", bei denen ein Index im Namen versteckt ist?
Zitat: |
aber bei jedem Vektor ist ir das zu viel. |
Bitte erkläre das genauer. Bisher müsste man für eine antwort noch zu viel raten.
Gruß, Jan
|
|
|
Bastio1989 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 29.10.14
|
 |
|
 |
Wohnort: Österreich
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.02.2016, 11:53
Titel:
|
 |
|
 |
|
Hey,
nein die namen sind bereits vergeben. Sind natürlich nicht "vektor1" usw. War nur als beispiel gedacht.
Es ist einfach eine Messdatei die ich einlese. Ich brauche allerdings nur einen Bestimmten bereich.
Die Vektoren stammen aus einer Fahrzeugmessung (sind CAN-Daten). Ich identifiziere meinen bereich (zum Beispiel von Sekunde 15000 bis 30000). Die Messung ist allerdings weitaus länger.
Zusätzlich habe ich mehrere Messdatein aus mehreren Messungen. Der "Bereich" tritt jedes Mal woanders auf.
Aber egal. Ich möchte nur alle Vektoren die sich im Workspace befinden (alle Vektoren sind gleich lang) von zB. 15000:30000 haben. Alles davor und danach löschen, da sonst die plots unlesbar werden
Bei jedem Vektor einzeln den Bereich herauszuschneiden ist mir zu viel arbeit. Das meine ich.
Ich könnte ja bei jedem Vektor hinten dran (15000:30000) schreiben. Dann hätte ich den Bereich. nur muss ich dann jeden der über 100 Vektoren rausschreiben und kürzen. Das ist mir zu viel arbeit
Ich dachte an soetwas wie "workspace(von:bis)" oder so. Aber ich finde weder in Google noch im Forum etwas.
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 19.02.2016, 12:01
Titel:
|
 |
Es ist möglich mit Befehlen wie WHOS, DIR zu arbeiten um Dateien und Variable einer gewissen Namenskonvention zu finden. Diese könnten dann in einer Schleife einem geeigneteten Postprocessing unterzogen werden. Es ist hier halt die Frage welche Logik entscheidet, dass die Daten nichts taugen. Aber generell wird das viel gemacht um Bereiche bevor einen Messung losgeht herauszuschneiden. In dem Beispiel lautet die Logik z.B. "Wenn mehr als 100 Werte hintereinander zwischen -0.1 und +0.1 leigen hat die Messung noch nicht begonnen.
Natürlich gibt es intelligentere Wege mit MATLAB zu messen, so dass diese "Mülldaten" erst gar nicht anfallen.
Andreas
|
|
|
Bastio1989 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 29.10.14
|
 |
|
 |
Wohnort: Österreich
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.02.2016, 12:18
Titel:
|
 |
|
 |
|
Zitat: |
Natürlich gibt es intelligentere Wege mit MATLAB zu messen, so dass diese "Mülldaten" erst gar nicht anfallen. |
Ja, aber die Messung stammt nicht von mir. Ich habe einfach das fertige Messfile.
Zitat: |
Aber generell wird das viel gemacht um Bereiche bevor einen Messung losgeht herauszuschneiden. In dem Beispiel lautet die Logik z.B. "Wenn mehr als 100 Werte hintereinander zwischen -0.1 und +0.1 leigen hat die Messung noch nicht begonnen. |
Geht leider nicht, da die Werte sich davor und danch auch ändern und auch wenn ich die Bereiche erkenne müsste ich trozdem bei allen Vektoren "vektorname"(event ein:event aus) machen. Und das ist mir eben zu viel arbeit.
Gut, ich denke ich werde einfach den händishcen mühsamen Weg gehen, da Matlab das anscheinen nicht mit einem relativ einfachen Befehl kann. Und ganz tief bin ich halt auch nicht in der Materie drinnen.
"gesamter Worspace" = "gesamter Workspace(von:bis)" gibt es nicht?
oder sowas ähnliches zumindest?
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 19.02.2016, 12:20
Titel:
|
 |
Hallo Bastio1989,
Es wäre praktisch alle Messdaten in einem Struct, Cell-Array etc. zu speichern. Dann wäre das Bearbeiten nahezu trivial.
Wenn man dagegen mit irgendwelchen Logiken nach bestimmten Vektoren im Workspace sucht, muss man zur Sicherheit prüfen, ob nicht vielleicht auf irgendwelche Datei-Namen oder was weiß ich aus Versehen mit erwischt wird.
Gruß, Jan
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.02.2016, 12:34
Titel:
|
 |
Hallo,
die Daten liegen wohl als .mat-Datei vor?
Dann würde es sich anbieten, mit
matfile
zu arbeiten und wirklich nur die gewünschten Daten einzulesen.
Selbst wenn die Namen schon vergeben sind, bietet sich für das weitere Arbeiten eine Umbenennung / Umstrukturierung an.
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.
|
|