sorting list of structures in a structure

3 次查看(过去 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
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
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
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 CenterFile Exchange 中查找有关 Downloads 的更多信息

产品


版本

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by