Nun möchte ich aus diesen mat files nach folgendem Muster über einen loop neue vectoren generieren:
x1 aus mat_1.mat soll in der ersten Spalte des neuen vectors stehen, darunter folgt dann x2 aus mat_2.mat als auch x3 aus mat_3.mat. Der Name des neuen Vectors kann x1 sein (die namen meiner variablen sind länger...) und kann von variable x1 z.b übernommen werden.
Innsgesamt habe ich 4 mat files mit jeweils 70 variablen drinnen...
Hallo mimatopo,
Namen durchzunummerieren ist schlecht, da Du damit nicht sinnvoll z.B. in Schleifen weiterarbeiten kannst. Du kannst bei load ein Rückgabeargument angeben, so dass die ganze Datei in ein struct geladen wird, das Du mit fieldnames auch durchlaufen kannst.
Das Problem ist:
über fieldnames generierte ich 'regions' welches alle meine Parameter auflistet. In der for-Schleife bekomme ich unter Sname die verschiedenen 'regions' und stuff beinhaltet die entsprechenden numerischen Werte.
Ich schaffe es nicht diese Werte in das 'regions' file zu schreiben...
Im Code wird, denke ich, ersichtlich wie man in cells (regions) schreiben kann. Zudem habe ich die Schleife angepasst, durch verwenden von Zählvariablen kann man mMn leichter/verständlicher auf die Felder zugreifen.
Code:
% Beispieldaten
S = struct('Nummer1', [12]', 'Nummer2',[345]', 'Nummer3', [6721]');
save S.mat
S1 = struct('Nummer1', [43]', 'Nummer2',[7934]', 'Nummer3', [47]');
save S1.mat
% Daten aus .mat einlesen
filelist=dir('*.mat');
numfiles=length(filelist);
for ii = 1:numfiles
S_read = load(filelist(ii).name);
end
% Daten in cell speichern
regions = cell(numfiles+1, numregions); % pre-allocate
regions(1,:) = SName;
for jj = 1:numfiles
for ii = 1:numregions
regions{jj+1, ii} = S_read.(fn{jj}).(SName{ii});
end end
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
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.