sorting list of structures in a structure
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
University
am 13 Nov. 2023
Bearbeitet: Stephen23
am 14 Nov. 2023
I have a list of structures in a structure.
I tried this:
%% Load data
matpath = 'C:\Users\..;
mydata = dir(fullfile(matpath ,'*.mat'));
full_file_names = fullfile(matpath,{mydata.name});
for n = 1:length(mydata)
mydata(n).data = load(full_file_names{n});
active_flow(n) = mydata(n).data;
end
The mydata(n) structure is ordered. To access of the structure I tried "active_flow(n) = mydata(n).data". But my active_flow is NOT longer ordered.
Please how can sort "active_flow" structure. See an attached screenshot of mydata structure.
1 Kommentar
Stephen23
am 13 Nov. 2023
"The mydata(n) structure is ordered... But my active_flow is NOT longer ordered."
There is nothing in the code that you show that changes the order.
Akzeptierte Antwort
Stephen23
am 13 Nov. 2023
Bearbeitet: Stephen23
am 14 Nov. 2023
It is unclear what the problem is, because you did not explain or show either the "wrong" order nor the "right" order. If you want the filenames in alpha-numeric order then you could DOWNLOAD the function NATSORTFILES:
P = 'C:\Users\..';
S = dir(fullfile(P,'*.mat'));
S = natsortfiles(S); % DOWNLOAD if you want alpha-numeric order of filenames
for n = 1:numel(S)
F = fullfile(S(n).folder,S(n).name);
S(n).data = load(F);
end
active_flow = [S.data] % optional, if all MAT files contain the same variable names
4 Kommentare
Stephen23
am 13 Nov. 2023
"which folder the function suppose to be in?"
It is exactly as with your own files: either in the current directory (simpler) or on the MATLAB Search Path:
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Structures finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!