|
Platin |

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.08.2010, 20:03
Titel: Schleife korrekt
|
 |
|
 |
|
Hey Leute,
mein Problem ist das ich Matlab nur auf Arbeit nutzen kann und deshalb mir zu hause immer überlege wie ich bestimmte dinge auf arbeit am nächsten tag schneller erledigen könnte.
Ich habe nun ein Teilproblem und habe mir gedacht folgende schleife dafür zu benutzen kann aber leider nicht testen ob die so korrekt ist.
Was sagt iht dazu, seht ihr fehler? Bin keine Matlab-Experte !
also mein Problem ist folgendes:
Ich habe viele Ordner und möchte aus jedem Ordner eine bestimmte txt datei auslesen.
Mein erstes Problem was sich stellt ist das ich erstmal alle Ordner einlesen muss und dann eine variable brauche in der die namen der ordner aufgeführt ist. Das brauche ich später für ne schleife(denke ich).
Aber das problem ist das in dem hauptordner nicht nur die ordner enthalten sind sondern auch alle möglichen andere dateien, so das ich sozusagen sortieren muss um nur die Ordner zu bekommen.
Ich habe mir das so gedacht:
clear all
ordner='Pfad' % hier liegen meine daten
list_1=dir('ordner') % das ist der teil wo nur ordner in list_2 sollen
anzahl=lenght(list_1)
for ii=1:1:anzahl
if list_1.isdir(ii;1)=true
list_2=list_1(ii;1)
else continue
end
end % ende des teils
name={list_2.name}
anzahl_2=length(name)
for j=1:1:anzahl_2
M(:,:,j)=dlmread(fullfile(ordner,name{j},*asd,' ',1,0) % liest aus jedem Ordner die benötigte txt
end
List_2 soll meine Variable sein die nur die ordner enthält und nich noch die anderen dateien.
Ab name={list_2.name} geht mein restliches Skript weiter, um die gewünschte txt Dateien der Ordner einzulesen.
Die gewünschte txt beginn als einizge immer mit "asd", deswegen dachte ich mir das ich das noch irgendwie in den namen mit dem sternchen reinkriege, weiß aber nicht ob das so geht?
ist das so korrekt ?
MfG[/b]
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 03.08.2010, 01:23
Titel: Re: Schleife korrekt
|
 |
Hallo Platin,
Der Code hat ein paar Bugs und das mit dem *asd wird mir nicht klar.
Platin hat Folgendes geschrieben: |
|
Du meinst wahrscheinlich: "dir(ordner)"
Platin hat Folgendes geschrieben: |
|
Das überschreibt die Variable "list_2" bei jedem Aufruf, statt sie zu verlängern. "list_1(ii; 1)" ist keine valide Matlab Syntax. Ich vermute, Du meinst "list(ii, 1)". Einfach wäre aber die ganze Schleife zu ersetzen:
Allerdings hast du dann noch '.' und '..' in der Liste.
Platin hat Folgendes geschrieben: |
|
Das verstehe ich nicht.
Gruß, Jan
|
|
|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.08.2010, 09:10
Titel:
|
 |
Hey jan,
danke für deine Antwort.
Naja meine Idee war es das er als erstes alle dateien einzeln checkt.
also guckt, ist list dir=true oder false ? wenn true handelt es sich um einen ordner und der soll diesen Ordner in list_2 speichern, wenn nicht fortfahren, so das ich zum schluss in list_2 nur die Ordner mit den Ergebnissen habe.
Dann soll er ja in jeden diesen Ordner gehen und mir meine gewünschte txt datein in meine 3-dimensionale Matrix M schreiben. Ich wollte also das er in Ordner 1 geht sich über dlmread ab der 1.Zeile und der 0.Spalte die *asx-Datei kopiert und dann zum nächsten ordner geht. also in ordner 2 und sich da dann wieder die *asx datei kopiert usw.
So das meine Matrix M zum schluss die *asx...txt datei aus jedem einzelnen ordner enthält.
Das wollte ich eben mit dm befehl dlmread(fullfile....) machen. Geht das so nicht?
MfG
|
|
|
|
|
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.
|
|