How to unstructure the structure data?

Illustration
riyanath54 - 2021-10-21T12:03:31+00:00
Question: How to unstructure the structure data?

I want to find the mean of all rows in the data set .   But the data in the workspace is in the following formate.   let A be data set.   A=<54×10 struct>   where each row of A is in the following format   <1x1 struct> <1x1 struct> <1x1 struct> <1x1 struct> <1x1 struct> <1x1 struct> <1x1 struct> <1x1 struct> <1x1 struct> <1x1 struct>   How can I find the mean of each row of A.

Expert Answer

Profile picture of Neeta Dsouza Neeta Dsouza answered . 2025-11-20

If you use the normal dot indexing with a struct array, that will generate a comma separated list.
 
You can put that between brackets to concatenate the resulting values, but you will need to use reshape to restore the original shape:
fn=websave('DATA.mat','https://www.mathworks.com/matlabcentral/answers/uploaded_files/742259/DATA.mat');
S=load(fn);npcr=S.npcr
npcr = 54×10 struct array with fields:
    npcr_score
     .
     .
     .
reshape([npcr.npcr_score],size(npcr))
ans = 54×10
    0.9959    0.9965    0.9963    0.9966    0.9959    0.9964    0.9963    0.9963    0.9958    0.9963
    0.9960    0.9962    0.9962    0.9960    0.9966    0.9960    0.9962    0.9960    0.9962    0.9962
    0.9959    0.9965    0.9963    0.9966    0.9959    0.9964    0.9963    0.9963    0.9958    0.9963
    0.9960    0.9965    0.9960    0.9959    0.9966    0.9957    0.9960    0.9963    0.9960    0.9965
    0.9961    0.9964    0.9961    0.9960    0.9962    0.9958    0.9961    0.9960    0.9963    0.9962
    0.9961    0.9964    0.9961    0.9960    0.9962    0.9958    0.9961    0.9960    0.9963    0.9962
    0.9959    0.9959    0.9958    0.9962    0.9960    0.9962    0.9958    0.9960    0.9958    0.9956
    0.9960    0.9962    0.9962    0.9960    0.9966    0.9960    0.9962    0.9960    0.9962    0.9962
    0.9959    0.9965    0.9963    0.9966    0.9959    0.9964    0.9963    0.9963    0.9958    0.9963
    0.9960    0.9962    0.9961    0.9960    0.9963    0.9963    0.9961    0.9961    0.9962    0.9962

 


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!