identifying and removing a double within a structure

1 Ansicht (letzte 30 Tage)
Sheer Wolff
Sheer Wolff am 2 Jul. 2021
Bearbeitet: Jonas am 3 Jul. 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 Kommentare
Sheer Wolff
Sheer Wolff am 3 Jul. 2021
yes! worked perfectly, thank you!
Jonas
Jonas am 3 Jul. 2021
great. i move it down to the answers section

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Jonas
Jonas am 3 Jul. 2021
Bearbeitet: Jonas am 3 Jul. 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))

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by