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에서 Adding custom doc에 대해 자세히 알아보기

태그

질문:

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