sorting list of structures in a structure
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Stephen23
2023 年 11 月 13 日
"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.
採用された回答
Stephen23
2023 年 11 月 13 日
編集済み: Stephen23
2023 年 11 月 14 日
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 件のコメント
Stephen23
2023 年 11 月 13 日
"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:
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Structures についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!