Problem 42859. Convert nested struct-array to numeric array

Solution 894369

Submitted on 24 May 2016 by Peng Liu
  • Size: 31
  • This is the leading solution.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
data_ref_temp = rand(5,4,3,2); data.siz = size(data_ref_temp); global data for i1 = 1:data.siz(1) data.altitude.location(i1) = rand; for i2 = 1:data.siz(2) data.floor.location(i1).room(i2) = rand; for i3 = 1:data.siz(3) data.scale.location(i1).room(i2).device(i3) = rand; for i4 = 1:data.siz(4) data.temperature.location(i1).room(i2).device(i3).sample(i4) = data_ref_temp(i1,i2,i3,i4); data.timestamp.location(i1).room(i2).device(i3).sample(i4) = i4; end end end end assert(isequal(struct2mat(data.temperature),data_ref_temp))

2   Pass
global data data_ref_time = repmat(shiftdim(1:data.siz(4),-2),data.siz(1:3)); assert(isequal(struct2mat(data.timestamp),data_ref_time))

3   Pass
global data assert(isequal(struct2mat(data.altitude),data.altitude.location.'))

4   Pass
global data assert(isequal(struct2mat(data.floor),cat(1,

5   Pass
global data data.scale.location;[];[ans.device]; assert(isequal(struct2mat(data.scale),permute(reshape(ans,3,4,5),[3 2 1])))

Suggested Problems

More from this Author31

Community Treasure Hunt

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

Start Hunting!