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

function variabel halten

 

Atmos_kk
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 93
Anmeldedatum: 23.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.09.2011, 09:28     Titel:
  Antworten mit Zitat      
Ja moin,

haste recht. Das Problem bei dem dir ist, wenn ich einen kompletten ordner einlesen lasse gibt er mir einen 32x1 struct. Erstmal nicht schlimm aber wenn ich in einen reinschaue, gibt er mir den name,data,bytes,isdir und datenum ( hier ist der "Müll" zu finden, da mich diese Angaben nicht interessieren ) wieder. Allerdings fehlen dort meine ganzen Daten. Vielleicht mache ich auch irgendwo noch einen Fehler. Außerdem sieht das für mich nicht so aus, als ob ich da variabel viele Eingaben tätigen kann und dementsprechend viele Ausgaben kommen. Kann ich mir nicht richtig vorstellen.

Wenn du dir meine Funktion (s.u.) kurz anschaust, bleib bitte nicht bei der zweiten if-Schleife stehen, die muss noch verändert werden, dann hab ich da die Möglichkeit einen Pfad anzugeben oder 100 und ich bekomme immer meine Ausgaben so wie ichs mir fertig gemacht hab.
Allerdings glaube ich, dass die function noch etwas aufwendig ist.
Mit dem "falls jemand weis wie das mit struct funktioniert" , meinte ich, ob jemand mir diese Funktion mit einem Beispiel anhand von meiner function erklären kann oder ob jemand eine laufende function hat, die man sich anschauen kann.

hier erstmal meine fertige Funktion:

Code:


function [varargout] = einlesen_test (Delimiter,Anfang_Zeile,Anfang_Spalte,varargin)
 
tic
 
nout = max(nargout,1);
   
 for k= 1 : size(varargin,2)
     
     Ausgabe = dlmread(varargin{k},Delimiter,Anfang_Zeile,Anfang_Spalte);
     
     Rohdaten(:,:,k) = Ausgabe;    
 
 end
 
 k = 0;
 
 for i = 1:nout;
     
   
     if (k >= 2)
         
         k = 1;
         
     else
     
         k = k+1;
         
     end
     
     if (i <= 2)
         
         h = 1;
         
     else if ( i <=4)
             
             h = 2;
             
         else
             
             h = 3;
             
         end
         
     end
   
     varargout(i) = {Rohdaten(:,k,h)};
     
     
 end
 
 toc

 


Diese function erfüllt das was ich brauche. Kleine Verbesserungen an der 2. if-Schleife müssen noch gemacht werden, damit es voll flexibel bleibt aber fürs erste funktioniert diese Funktion.
Private Nachricht senden Benutzer-Profile anzeigen


Micha85

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.09.2011, 11:10     Titel:
  Antworten mit Zitat      
Hi,

der "dir" Befehl war nur dazu gedacht Dir eine Liste der einzulesenden Dateien zu erzeugen, nicht zum eigentlichen Einlesen, was dann in Deiner Schleife passieren soll.

Hab ich richtig verstanden, dass Du manuell die Dateipfade angeben musst?
Das ist recht umständlich und könnte eben mit "dir" gelöst werden oder mit einem kleinen Dialog (z.B. uigetfile).

Wenn die Funktion mit varargin funktioniert und das so ok für Dich ist passt ja alles. Structs sind sehr komfortabel und einfach zu handeln. Aber sorry, Beispiele stehen in diesem Thread schon genug...

Grüße
Micha
 
_Peter_
Moderator

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 09.09.2011, 12:39     Titel:
  Antworten mit Zitat      
Vielleicht helfen dir die Hilfe Seiten um dies zu verstehen. (Die Hilfe ist generell zu empfehlen bei Matlab, da diese sehr gut ist in meinen Augen)

dir-Befehl: http://www.mathworks.de/help/techdoc/ref/dir.html
struct: http://www.mathworks.de/help/techdoc/ref/struct.html

Schau dir bei dem struct Kapitel am Besten mal die Kapitel die unter "How To" aufgelistet sind an(http://www.mathworks.de/help/techdoc/matlab_prog/br04bw6-38.html) . Die sollten dir für das Verständnis helfen, wie man mit structs arbeitet.
_________________

Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
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

Gehe zu Seite Zurück  1, 2

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.