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

Hilfe: suchen von bestimmten.asc in iner filelist mit *.asc

 

X?
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 18.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2011, 12:13     Titel: Hilfe: suchen von bestimmten.asc in iner filelist mit *.asc
  Antworten mit Zitat      
hallo leute,
bin ein absoluter MatLab-Neuling und brauche eure Hilfe ich habe eine matrix A mit einer Spalte und 10 Zeilen und eine filelist mit (456x1 struct) jede der Zellen sind .asc Dateien die werte in meiner Matrix sind gleichzeitig in meiner filelist als .asc dateien zu finden nun möchte ich die 10 werte aus meiner Matrix A in meiner filelist finden und den Inhalt dieser *.asc in eine neue Matrix C (jede asc als zeilenvektor-> also eine Matrix mit 10 Zeilen und z Spalten) einlesen ....

würde mich sehr über eine baldige Hilfe freuen
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 18.05.2011, 14:23     Titel: Re: Hilfe: suchen von bestimmten.asc in iner filelist mit *.
  Antworten mit Zitat      
Hallo X?,

Du hast vergessen eine Frage zu stellen.
Poste doch mal, was Du bisher geschafft hast, und erkläre, wo welche Schwierigkeit aufgetreten ist.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
X?
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 18.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.05.2011, 13:16     Titel:
  Antworten mit Zitat      
upps du hast recht mein problem ist, dass ich nicht weiß wie ich das was ich will umsetzen soll

bis jetzt habe ich eignetlich nur


Code:

clear all;
DirMessungen = 'Messungen/';
DirBMessungen = 'bearbeitete_Messungen/';
Excelfile = 'Dateipfad\Dateiname.xlsx';
FilterESheets = true; %Filterung nach Excel Sheets an/aus
ExcelSheets = {'Sheetname'}; %Filterung nach Excel Sheets. Trennung mit ;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Start Code
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fprintf('[Start] Starte Script - %s\n',datestr(now));

filelist=dir([DirMessungen,'*.asc']); %Inhalt des Ordners bestimmen
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Lade Excel Übersichtsdatei
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[type,sheetname] = xlsfinfo(Excelfile); %Bestimme Namen der Sheets

%Filterung von Excel Sheets
SIndex = logical(zeros(length(sheetname(1,:)),1));

if (FilterESheets)
    fprintf('[Warnung] Filterung nach Sheets aktiviert. Kein Erkennen fehlender Datensätze möglich.\n');
    for i=1:length(ExcelSheets) %Mehrere Sheets filtern
        SIndex= SIndex | strcmp(char(sheetname{1,:}),ExcelSheets(i,:));
        fprintf('[Info] Filterung nach Sheet: "%s".\n',ExcelSheets{i});
    end
    sheetname=sheetname(SIndex);
end

m=size(sheetname,2); %Bestimme Anzahl der Sheets

if (m==0)
    fprintf('[Fehler] Keine Daten in der Excel-Übersicht vorhanden. Kontrollieren Sie die Sheet-Filterung. Abbruch.\n');
    return;
end

dsnumber=[];
dstext=[];
for i=1:m %Mehrere Sheets in eine Matrix!
    Sheet = char(sheetname(1,i)) ;
    [dsnumberadd, dstextadd] = xlsread(Excelfile, Sheet);
   
    dstextadd(1,:)=[]; %entferne 1. Zeile (Bezeichnubg der Spalten)
%     dstextadd=dstextadd(2:length(dstextadd),Smile; %entferne 1. Zeile (Bezeichnung der Spalten)
   
    dsnumber=[dsnumber;dsnumberadd];
    dstext=[dstext;dstextadd];
end
dsnumberneu=dsnumber(1:10,1); %im dsnummerneu sind die z.b. 10  Messungnummern die ich haben möchte und aus der exceltabelle entnommen sind%
 

danach weiß ich nicht weiter wie ich jetzt genau die zehn messungnummern aus meiner filelist oben finde und dann den Inhalt in eine neue matrix schreiben kann

ich hoffe dass es verständlich ist
danke im Voraus

Grüße X?
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 25.05.2011, 14:55     Titel:
  Antworten mit Zitat      
Hallo X?,

Ich habe Deinen Thread wieder gefunden.
Nun, Du hast immer noch keine Frage gestellt. Worauf könnte ich dann antworten?

Deshalb nur ein paar Kommentare zum Code:
Code:
clear all;
% Das löscht alle bereits eingelsenen Funktionen aus dem Speicher.
% Ausser eine Bremsung der Bearbeitung hat das wenig Vorteile.

% Absolute Pfade sind immer sicherer:
DirMessungen = 'Messungen/';
DirBMessungen = 'bearbeitete_Messungen/';
Excelfile = 'Dateipfad\Dateiname.xlsx';

% SIndex = logical(zeros(length(sheetname(1,:)),1));
% Einfacher:
SIndex = false(size(sheetname, 2), 1);

% ...strcmp(char(sheetname{1,:}),ExcelSheets(i,:));
% Das sieht verwirrend aus. Ist das CHAR hier nützlich?

dsnumber=[];
dstext=[];
for i=1:m %Mehrere Sheets in eine Matrix!
    % Sheet = char(sheetname(1,i)) ;
    Sheet = sheetname{i};

    [dsnumberadd, dstextadd] = xlsread(Excelfile, Sheet);
 


Zitat:
danach weiß ich nicht weiter wie ich jetzt genau die zehn messungnummern aus meiner filelist oben finde und dann den Inhalt in eine neue matrix schreiben kann

Das ist unklar. Welche "10 Messungsnummern"? Welchen "Inhalt" in welche neue Matrix??

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
X?
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 18.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.05.2011, 16:04     Titel:
  Antworten mit Zitat      
Hallo Jan zunächstmal danke
Also wenn man dsnumberneu eingibt erhält man als Ergebnis einen vektor/matrix (mit zehn zeilen)
dsnumberneu=
123456
385606
.....
und gleichzeitig sind die Einträge in dsnumberneu auch in filelist vorhanden und zwar in form von 1x1 struct und namen 123456.asc... . Aber in filelist sind tausende .asc Dateien. Mein Problem ist, dass ich zuerst mal die ausgewählten zehn messnummern die sich in dsnumberneu befinden in filelist zu finden und dann dessen Inhalt in eine neue matrix einzulesen aber alle zehn .asc sollen in eine matrix zb
matrixneu=
(123456.asc->inhalt) 1 3 6 88 09 88.....
(385606.asc->inhalt) 2 5 8 99 26 76.....
......
matrixneu hat zehn zeilen und x spalten (zehn zeilen wegen den zehn messnummern und die spalten stehen für verschiedene messergebnisse bzw untersuchten variablen)

gruß X?
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.