WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Nicht vorhandene Variablen anzeigen

 

Chris79
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 11.02.08
Wohnort: Braunschweig
Version: 7.5.0 Release 2007b
     Beitrag Verfasst am: 11.02.2008, 08:38     Titel: Nicht vorhandene Variablen anzeigen
  Antworten mit Zitat      
Hallo Leute,

ich lese Variablen aus dem Workspace in eine Matrix ein. Dabei suche ich vorher nach dem entsprechenden Variablennamen.
Code:
vor = 'Variablenvorname';
nach = 'Variablennachname';
zws = 'Variablenzwischenname';
dat=eval([vor zws nach]);
FzgDATA(1:anz,15)=dat;


Es kann auch vorkommen, dass die gesuchte Variable im Workspace nicht vorkommt. Dann kommt natürlich eine Fehlermeldung. Wie kann ich die Fehlermeldungen umgehen (die Funktion komplett durchlaufen lassen), und mir nachher eine Liste oder Matrix ausgeben lassen, welche Variablen nicht gefunden wurden?

Danke schon mal in Vorraus!
Private Nachricht senden Benutzer-Profile anzeigen


Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 11.02.2008, 14:41     Titel:
  Antworten mit Zitat      
Hallo Chris79,

das kann man mit try und catch machen:
Code:
try
dat=eval([vor zws nach]);
catch
missing=[missing,[vor zws nach]];
end
FzgDATA(1:anz,15)=dat;


missing muss man am Anfang so initialisieren:
Code:
missing = cell(0);


Darin sind dann am Schluss alle fehlenden Variablen anthalten.

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Chris79
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 11.02.08
Wohnort: Braunschweig
Version: 7.5.0 Release 2007b
     Beitrag Verfasst am: 11.02.2008, 14:59     Titel:
  Antworten mit Zitat      
Jawoll, danke!
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 11.02.2008, 15:40     Titel:
  Antworten mit Zitat      
Moin,
eine kleine Frage zur Syntax:
Statt
Code:
dat = eval([vor zws nach]);
müsste doch auch
Code:
dat = [vor zws nach];
funktionieren, oder?
War es nicht so, dass sich eval nicht unbedingt positiv auf die Rechenzeit auswirkt?

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 11.02.2008, 16:38     Titel:
  Antworten mit Zitat      
Hallo Alex,

ohne eval enthält dat nur den string. Es soll aber der Wert der Variable, die so heißt, wie der string angibt, zugewiesen werden.
eval ist nicht schön, das stimmt. Aber so ohne Kenntnis, wie die Variablen in den Workspace gelangen, wüsste ich nicht allgemein, wie man es vermeiden kann.

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 11.02.2008, 16:46     Titel:
  Antworten mit Zitat      
Ahhh ok, ich hab nicht gesehen, dass es um den Wert der Variablen geht...
Ich dachte es geht nur um den Namen der Variablen...

So macht eval() dann natürlich wieder Sinn Wink
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.