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

'Variable not found' bei load - Warum?

 

Dennis7

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.12.2009, 17:56     Titel: 'Variable not found' bei load - Warum?
  Antworten mit Zitat      
Hallo zusammen,

Eine Messdaten Datei (mat Datei) besteht aus vielen Messkanälen (Strom, Spannung, .....) Die Namen dieser Kanäle sind aber sehr verwirrend. Deshalb bietet meine GUI die Möglichkeit dass Sie nach dem entspr. Kanal sucht wenn man einfach einen Radiobutton auf "Strom" setzt.
Aus der Liste aller Kanalnamen wird der Kanal extrahiert via:

Code:

content = get(hObject, 'String')
lineNumber = get(hObject, 'Value)
channel = content(lineNumber,:)
 


Jetzt übergebe ich den channel hier in Matrixschreibweise an die Funktion die ihn auswertet und erst in der Funktion soll der (sehr große!) Messdaten Kanal geöffnet werden via:

Code:

A = load(dataFile, cell2str(channel))
name = char(fieldnames(A))
Data = A.(name)
 


Das gibt aber den Error: Variabe not found! Obwohl es diese nachweislich gibt.
Versuche ich es ohne cell2str, geht es gar nicht weil als Argument ein String gefordert ist.

Was nun, wo kann der Fehler liegen?? Was mache ich falsch?


tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 01.12.2009, 18:03     Titel:
  Antworten mit Zitat      
Hallo,

evtl. falsche Schreibweise, z.B. ein Blank im Variablennamen?

Ich verstehe übrigens den weiteren Programmablauf nach dem load nicht:

Code:
name = char(fieldnames(A))
Data = A.(name)


Wenn A mehrere Felder besitzt, wird mit A.(name) nur das erste Feld ausgelesen, übrigens ohne Fehlermeldung... Ist das so beabsichtigt?

Gruß tompie
Private Nachricht senden Benutzer-Profile anzeigen
 
Dennis7

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.12.2009, 18:12     Titel:
  Antworten mit Zitat      
Richtig. Das ist vielleicht ein bischen kompliziert gemacht: ich möchte letztlich dass der eigentliche Variablenname mit den Messdaten in eine neue Variable gespeichert wird, da dieser wie gesagt lang und kompliziert ist... Gibt es da einen schnelleren Weg?

Nein ein Leerzeichen ist da nicht dazwischen.... ? Sonst noch eine Idee?
 
tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 01.12.2009, 19:04     Titel:
  Antworten mit Zitat      
Wie genau wurden denn die Daten abgespeichert? Bist Du sicher, daß der Variablenname übereinstimmt?
Private Nachricht senden Benutzer-Profile anzeigen
 
Dennis7

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.12.2009, 10:15     Titel:
  Antworten mit Zitat      
Der Variablenname seint okay zu sein. Wenn ich nicht die Variable sondern direkt den string angebe funktioniert es prima. Aber die Zeile

Code:

A = load(dataFile, cell2str(paramUGenSoll))   % Funktioniert NICHT

A = load(dataFile, 's_Usoll_t0')  % Funktioniert
 


führt immer zu folgendem Error:

Code:

Warning: Variable '{'s_Usoll_t0';}' not found.
 


Vielleicht mach ich grundsätzlich was falsch, ich will einfach die Messkanalnamen in einer Variablen der Funktion übergeben und die soll diese dann laden. load benötigt den Namen dazu als String.
 
tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 02.12.2009, 11:31     Titel:
  Antworten mit Zitat      
Warum schickst Du nicht gleich die Fehlermeldung? Du hast nämlich einfach den Variablennamen falsch konstruiert, der load-Befehl sucht offensichtlich nach der Variablen '{'s_Usoll_t0';}' und eben nicht nach der gewünschten Variablen 's_Usoll_t0'. Also weg mit den geschweiften Klammern!

Gruß tompie
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 - 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.