|
demolic |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.11.2010, 17:49
Titel: Variablenzugriff
|
 |
|
 |
|
Hi Leute,
ich bräuchte mal eure Hilfe. Ich habe 2 Probleme in Matlab.
1.)
ich habe einen Datensatz aus einem Programm in ein *.m File exportiert. Darin sind diverse Variablen gespeichert, mal Vektoren, mal Matrizen usw.
Gibt es einen Befehl, mit dem ich all diese Variablen der Reihe nach abrufen kann?
Konkret geht es darum, das ich überprüfen will, ob in den Variablen ein Wert ist, oder nicht. Das nötige Programm dazu hab ich schon geschrieben, allerdings hab ich keine Lust das Programm für 200 Variablen von Hand zu starten...
2.) ich hab eine Funktion geschrieben die 2 Eingabeparameter hat, z.B. Geschwindigkeit und Abstand.
Der Aufruf erfolgt dann mit funktion(geschwindigkeit, abstand), wobei für Geschwindigkeit z.B. objekt3_v und für abstand objekt3_d eingesetzt wird.
GIbt es einen Befehl in Matlab, der mir später genau diese 2 eingesetzten "Worte" auslesen kann.
Also wenn ich die Funktion Aufrufe, soll sie am Ende eine printf Ausgabe ausspucken in der steht "für objekt3_v und objekt3_d passt es nicht"
Ich hoffe das war irgendwie verständlich.
DAnke auch Leute!
Michi
|
|
|
|
|
Thomas84 |

Forum-Meister
|
 |
Beiträge: 546
|
 |
|
 |
Anmeldedatum: 10.02.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.11.2010, 18:00
Titel:
|
 |
1) mit who kannst du die Namen der variablen ermitteln und mit eval(isempty(variable)) überprüfen ob die Variable leer ist.
2) versteh ich noch nicht richtig. Sind Geschwindigkeit und Abstand Zahlen oder Strings?
viele Grüße
Thomas
|
|
|
demolic |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.11.2010, 18:10
Titel:
|
 |
Danke für die Tipps Thomas,
aber nochmal zu 1)
kann ich das auch irgendwie so Aufrufen, das er alles automatisch durchläuft?
also das who die Namen rauszieht und aufruft?
2) Geschwindigkeit und Abstand sind Vektoren
mir geht es allerdings nur um den Namen.
Da das Programm für mehrere Geschwindigkeiten und mehrere Abstände ausgeführt werden soll, hätt ich gerne eine printf Zeile die mir am Ende neben Ergebnis auch die Aufrufparameter anzeigt. Aber nicht die eigentlichen Werte, sondern nur den Namen
vG
Michi
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 02.11.2010, 19:26
Titel: Re: Variablenzugriff
|
 |
Hallo demolic,
es ist ungewöhnlich einen Datensatz in ein M-File zu schreiben. Üblicherweise nutzt man dafür MAT-Files. Wie stehen die Daten denn im M-File?
Zitat: |
Gibt es einen Befehl, mit dem ich all diese Variablen der Reihe nach abrufen kann? |
Welcher Reihe nach? In der Reihenfolge, in der sie im File stehen?
Du könntest sie einfach als Cell definieren, dann ist erstens eine Reihenfolge überhaupt definiert und zweitens das Auslesen dieser Reihenfolge trivial.
Es scheint, als habest Du zum Speichern der Daten ein sehr umständliches Format gewählt. Alle Daten in ein CELL-Array zu schreiben, dass als MAT-File gespeichert wird, würde das Testen auf leere Elemente sehr einfach machen.
Zum Problem 2: Siehe INPUTNAME.
Gruß, Jan
|
|
|
Thomas84 |

Forum-Meister
|
 |
Beiträge: 546
|
 |
|
 |
Anmeldedatum: 10.02.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2010, 07:35
Titel:
|
 |
Ich hatte es eigentlich so verstanden das ein mat file mit verschiedenen Vektoren, etc geladen wird, die dann überprüft werden sollen.
|
|
|
demolic |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2010, 16:53
Titel:
|
 |
Danke Thomas,
genau so etwas habe ich gemeint!
Und Sorry Leute, habe mich vertan, meinte natürlich die Daten werden in ein .mat File exportiert nicht .m
1 Frage hätte ich noch.
Wie kann ich denn eine Variable mit einem Bereich überprüfen?
Ich hab eine konstante z.B. c und würde gerne wissen ob sie in dem Bereich von [-10,100] liegt. Konstante und Bereich sind allerdings jeweils nur ganze Werte.
Danke!
|
|
|
Thomas84 |

Forum-Meister
|
 |
Beiträge: 546
|
 |
|
 |
Anmeldedatum: 10.02.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.11.2010, 17:13
Titel:
|
 |
such mal unter dem Stichwort: Logical Indexing. Ich denke da findet sich was passendes.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 04.11.2010, 01:37
Titel: Re: Variablenzugriff
|
 |
Hallo demolic,
Aha, ein MAT File. Das ist schon etwas ganz anderes.
Zitat: |
Gibt es einen Befehl, mit dem ich all diese Variablen der Reihe nach abrufen kann? |
Z.B.:
Zitat: |
Ich hab eine konstante z.B. c und würde gerne wissen ob sie in dem Bereich von [-10,100] liegt. |
Gruß, Jan
|
|
|
|
|
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.
|
|