vector - Mean of fields in a structure using structfun, Matlab -


i have structure in following format:

a.l1.data = <1000x3 double> a.l2.data = <1000x3 double> a.l3.data = <1000x3 double> 

i obtain mean of first column of fields, i.e. 1 vector of 1000 rows mean of l1, l2 , l3.

i have tried using structfun following code:

foo = structfun(@(x) mean(x.data(:,1)), a, 'uniformoutput', false) 

however, gives me mean (single value) of each first column rather mean of fields.

if do:

 foo = structfun(@(x) mean(x.data), a, 'uniformoutput', false) 

i obtain mean of each column each field.

how should modify code?

you can access data of struct struct2array.

get struct firstcolumnsofdata fields l1 l2 l3 first columns of data:

firstcolumnsofdata = structfun(@(x) x.data(:,1), a, 'uniformoutput', false) 

get mean of each element of l1 l2 l3:

ml123 =  mean(struct2array(firstcolumnsofdata')) % transpose not mean of each field 

Comments

Popular posts from this blog

php - Invalid Cofiguration - yii\base\InvalidConfigException - Yii2 -

How to show in django cms breadcrumbs full path? -

ruby on rails - npm error: tunneling socket could not be established, cause=connect ETIMEDOUT -