identifying and removing a double within a structure

1 回表示 (過去 30 日間)
Sheer Wolff
Sheer Wolff 2021 年 7 月 2 日
編集済み: Jonas 2021 年 7 月 3 日
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 件のコメント
Sheer Wolff
Sheer Wolff 2021 年 7 月 3 日
yes! worked perfectly, thank you!
Jonas
Jonas 2021 年 7 月 3 日
great. i move it down to the answers section

サインインしてコメントする。

回答 (1 件)

Jonas
Jonas 2021 年 7 月 3 日
編集済み: Jonas 2021 年 7 月 3 日
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))

カテゴリ

Help Center および File ExchangeWhos についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by