Hello.
I am new to MATLAB and expecting some help. I have a structure array (1 x 50,000) with 30 fields. I want to divide this structure into multiple structures based on a condition.
I tried sometheing like this. Let the main structure be vel and it has 30 fields. Based on the values of the parameters in the field y of the structure vel, I want to create sub-structures.
for i=1:length(vel)
if y<=20
vel_sub1(i)=vel(i) % creating a new structure
else
vel_sub(i)=[] % null
end
if y>=20 && y<=100
vel_sub2(i)=vel(i) % creating another sub-structure
else
vel_sub(2)=[] % null
end
end
But, unfortunatley I am getting some empty fields in the sub-structure, is there any smart way to implement this without any empty rows in the fields?
4 Comments
Joel Handy (view profile)
Direct link to this comment
https://ch.mathworks.com/matlabcentral/answers/473262-how-to-divide-a-structure-into-sub-structures-based-on-a-condition#comment_728058
SS (view profile)
Direct link to this comment
https://ch.mathworks.com/matlabcentral/answers/473262-how-to-divide-a-structure-into-sub-structures-based-on-a-condition#comment_728190
Walter Roberson (view profile)
Direct link to this comment
https://ch.mathworks.com/matlabcentral/answers/473262-how-to-divide-a-structure-into-sub-structures-based-on-a-condition#comment_728193
SS (view profile)
Direct link to this comment
https://ch.mathworks.com/matlabcentral/answers/473262-how-to-divide-a-structure-into-sub-structures-based-on-a-condition#comment_728195
Sign in to comment.