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

Ich komm bei mit meiner dynamischen Struktur nicht klar.

 

Markus SC33
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 04.08.11
Wohnort: Biberach
Version: ---
     Beitrag Verfasst am: 04.08.2011, 19:38     Titel: Ich komm bei mit meiner dynamischen Struktur nicht klar.
  Antworten mit Zitat      
Erstmal hallo zusammen, bin recht neu hier (hier und da schonmal als Gast ne Frage gestellt) und habe gleich ein "kleines" Problem.
Erstmal vorab zum Programm:

Ich lese Damit aus Excel Dateien ein, die mir ein Prüfstand "liefert". Bisher funktioniert das einlesen einer Datei und das anschließende plotten von bestimmten Messdaten die die Datei enthält. Die Messdaten werden in einem Unterprogramm ausgelesen und als Struktur ans "Hauptprogramm" der GUI zurückgegeben.
Nun möchte ich, dass mehrere Dateien gleichzeitig eingelesen werden können um danach die einzelenen Messungen direkt mitanander vergleichen zu können.
Hier mein Code:
3mal "%" am Anfang entspricht dem Code, der mir eine Datei einliest. EIn "%" am Ende ist das neu geschriebene.
Code:
%Auswahl der pfstd-Liste
liste_pfstd      =  get(handles.files_pfstd_listbox, 'String')

auswahl = get(handles.files_pfstd_listbox,'value')                          %
   
for i=1:length(auswahl)
   
    if strcmp(liste_pfstd,'PFSTD-File auswählen!')
        [file_pfstd, pfad_pfstd] = uigetfile({'*.xls';'*.txt'}, 'PFSTD-Datei aussuchen')
        set(handles.pfad_pfstd_edit, 'String', pfad_pfstd);   %pfstd-Pfad setzen
    else
        file_pfstd = liste_pfstd(auswahl)                                        %
%%%        file_pfstd = liste_pfstd{get(handles.files_pfstd_listbox, 'Value')}
        pfad_pfstd = get(handles.pfad_pfstd_edit, 'String');
    end
    assignin('base','pfad_pfstd',pfad_pfstd);

    %Einlesen der pfstd-Daten
   
    evalin('base',['clear(''','Labelliste',''')'])
   
    LABELS_TEMP = read_pfstd_export(pfad_pfstd,file_pfstd,1,pfstd_plot_checked);  

     assignin('base',['LABELS_PFSTD_' num2str(i)], LABELS_TEMP);                %
     
     clear 'LABLES_TEMP';                                                       %

%%%    assignin('base','LABELS_PFSTD',LABELS_PFSTD);
   
end


Ein Problem hab ich bereits erkannt. wenn ich den Dateiname über meine ursprüngliche Methode einlese(1. %%%), ist es ein String der z.B. Test.xls heißt
Bei der jetzigen Methode, heißt der String dann aber 'Test.xls'. und ich kann die ' nicht entfernen da das String nur noch ein Element hat.
Jemand ne Idee wie ich das gerade bieg?
Und dann zur dynamischen Struktur..... funktioniert das so? Kann ich eine Struktur gleich anlegen wie eine Variable?

Ablaufen soll das dann so:
Ich lese die erste xls ein, entzieh ihr die Daten, plotte die Messwerte und gebe meine struktur LABELS_TEMP zurück. Diese wird dann in kopiert in LABELS_PFSTD_"mit Laufnummer". Dann lösch ich meine LABELS_TEMP, lese die nächste xls ein und die Prozedur beginnt von vorn.

Ich hoffe ihr könnt mir helfen. Ich steh momentan aufm Schlauch Smile

Vielen Dank schonmal,
der 33er Treiber Wink
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 05.08.2011, 16:03     Titel:
  Antworten mit Zitat      
Hallo

es ziemlich schwer wegen vieler ASSIGNS deinen Code zu lesen
Einen Fehler sehe ich da, was dein Problem verursachen kann,
es ist in ELSE-Zweig:
Code:

    if strcmp(liste_pfstd,'PFSTD-File auswählen!')
        [file_pfstd, pfad_pfstd] = uigetfile({'*.xls';'*.txt'}, 'PFSTD-Datei aussuchen')
        set(handles.pfad_pfstd_edit, 'String', pfad_pfstd);   %pfstd-Pfad setzen
    else
% Hier schein mir dein Fehler zu sein
        file_pfstd = liste_pfstd{i}                                        %
%%%        file_pfstd = liste_pfstd{get(handles.files_pfstd_listbox, 'Value')}
        pfad_pfstd = get(handles.pfad_pfstd_edit, 'String');
    end
    assignin('base','pfad_pfstd',pfad_pfstd);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Markus SC33
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 04.08.11
Wohnort: Biberach
Version: ---
     Beitrag Verfasst am: 05.08.2011, 16:55     Titel:
  Antworten mit Zitat      
Hi denny,
das wars zwar noch nicht ganz aber der Anstoß war der richtige!!!

Vielen herzlichen Dank jetzt funkioniert alles!!!

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