identifying and removing a double within a structure

1 vue (au cours des 30 derniers jours)
Sheer Wolff
Sheer Wolff le 2 Juil 2021
Modifié(e) : Jonas le 3 Juil 2021
I'm trying to produce a mean of a column within a structure. the problem is that within this column one of the rows is a double 1X2.
Another problem is that the next step would be to get this mean for each participant (each participant produces a structure). Some of the participants may not have a double within or may have more than one, or have several doubles with different sizes.
When there is a double, I want to get only the last input number and ignore the rest.
I tried several solutions but eventually I got stuck.
Can someone put me in the right direction on how to identify a double within a structure and removing parts of it?
Thanks in advance!!!
  8 commentaires
Sheer Wolff
Sheer Wolff le 3 Juil 2021
yes! worked perfectly, thank you!
Jonas
Jonas le 3 Juil 2021
great. i move it down to the answers section

Connectez-vous pour commenter.

Réponses (1)

Jonas
Jonas le 3 Juil 2021
Modifié(e) : Jonas le 3 Juil 2021
maybe you thought about something like that.
myStruct(1).myDoubleField=[1 2];
myStruct(2).myDoubleField=[1 2 3];
myStruct(3).myDoubleField=[1 3 8];
myStruct(4).myDoubleField=[4];
lastVals=zeros(numel(myStruct),1);
for nr=1:numel(myStruct)
lastVals(nr)=myStruct(nr).myDoubleField(end);
end
meanResult=mean(lastVals)
another possibility with cellfun
allFields={myStruct.myDoubleField};
lastVal =@(in) in(end);
mean(cellfun(lastVal,allFields))

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by