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.

3 commentaires

Stephen23
Stephen23 le 18 Sep 2021
@Noor Bano: please upload your data (in a mat file) by clicking on the paperclip button.
Stephen23
Stephen23 le 18 Sep 2021
Rik
Rik le 18 Sep 2021
Your data is a struct array. Does it have only 1 field?

Connectez-vous pour commenter.

 Réponse acceptée

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

6 commentaires

Ammy
Ammy le 18 Sep 2021
Thank you very much.
Rik
Rik le 18 Sep 2021
Why did you delete your comments?
Ammy
Ammy le 18 Sep 2021
Modifié(e) : Ammy le 18 Sep 2021
Sorry, I thought they are unnecessary after acceptance.
Rik
Rik le 18 Sep 2021
Why would you think that? They provide context for the question and the comments of others. In this case it also contained the data this answer is loading.
Please don't delete comments again.
Ammy
Ammy le 18 Sep 2021
Sorry ,
Sure
thanks
Image Analyst
Image Analyst le 18 Sep 2021
Modifié(e) : Image Analyst le 18 Sep 2021
@Rik, this happens so often that's why I (when I remember) to attach their data to my answer so that in case they delete it (which for some reasons they often do), it's still there. Perhaps you still have it, if you downloaded it, and can attach it. I always download rather than read it directly off the Mathworks server because (as we've found out here), if the user deletes it, it's no longer on the Mathworks server.
Also if it's the user's first or second post (not the case here), I also copy the question and attach it as a text file "OriginalQuestion.txt" to my Answer. And if it's their first or second question and they have flags that said they deleted their question, I just won't answer, and sometime tell them why I won't answer.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by