how do i run a loop that extract some file into nested structure

gaitvariable is the structure that i have. Inside that there are more structures called P#. Each P# contains more row vectors. I would like to create a loop that give me the concatanation of the pic's vector, as follow:
t_stride_total=[t_strideP345,t_strideP89....]
I only started the code because I found difficulties with fields of structure
adult_abs=[];
adult_rel=[];
filename = 'gaitvariables_adults.mat';
T = load(filename);
C = struct2cell(T);
folder= C{1}
D= struct2cell(folder);
subfolder= D{1}

 채택된 답변

Ameer Hamza
Ameer Hamza 2020년 5월 17일
Try something like this
S.a = [1 2 3]; % example struct
S.P123.t_stride = [4 5 6];
S.P345.t_stride = [3 2 1];
S.P1234.t_stride = [7 6 8];
names = fieldnames(S);
t_stride = cell(1,numel(names));
for i=1:numel(names)
name = names{i};
if name(1)=='P'
t_stride{i} = S.(name).t_stride;
end
end
t_stride = [t_stride{:}];

댓글 수: 10

Your code computes empty t_stride, like [ ] [ ] [ ] [ ]
Can you attach your data as a .mat file?
load gaitvariables_adults.mat
names = fieldnames(gaitvariables);
t_stride = cell(1,numel(names));
for i=1:numel(names)
name = names{i};
if name(1)=='P'
t_stride{i} = S.(name).t_stride;
end
end
t_stride = [t_stride{:}];
and the error is this
Unable to resolve the name S.P431S1.t_stride.
Error in fase3 (line 12)
t_stride{i} = S.(name).t_stride;
This line should be
t_stride{i} = gaitvariables.(name).t_stride;
I'm sorry I've understood only now how does it work, because I forgot the example struct. I deleted it because I've understood wrongly that it works without the calling of all file firslty.
Thank you so much
I am glad to be of help,
Hi man, what have I to change if I need now not more final concatenation but I want a vector for each patient?
Remove this line
t_stride = [t_stride{:}];
It will give you a cell array.
I need to understand the structure better in some way. Thank you so much Ameer

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Structures에 대해 자세히 알아보기

태그

질문:

2020년 5월 17일

댓글:

2020년 5월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by