identifying and removing a double within a structure
Afficher commentaires plus anciens
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
le 2 Juil 2021
dpb
le 2 Juil 2021
Essentially no chance we're going to be able to figure out the details without a sample of the struct array you're trying to deal with. Attach a .mat file that illustrates the problem -- with the answer(s) expected and how arrived at.
Sheer Wolff
le 2 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)
Jonas
le 2 Juil 2021
another possibility with cellfun
allFields={myStruct.myDoubleField};
lastVal =@(in) in(end);
mean(cellfun(lastVal,allFields))
Sheer Wolff
le 3 Juil 2021
Jonas
le 3 Juil 2021
great. i move it down to the answers section
Réponses (1)
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))
Catégories
En savoir plus sur Structures dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
