Date: Mar 4, 2013 4:30 PM
Author: Curious
Subject: Re: Best way to "classify" a vector? ("averaging" subsampling)

"Luca " <l.presottoRE@MOVE.campus.unimib.NOTit> wrote in message <kh334d$k8h$1@newscl01ah.mathworks.com>...
> Hi everyone.
> Let's suppose to have these two vectors:
>
> t=0:0.01:1000; %timestamps
> val = rand(size(t)); %value associated with each timestamp
>
> Now let's suppose I want to calculate the mean value of val in each interval of "t" broad "1".
> What would be the best way to do it?
> The dumbest would be something _like_ (I'm sure somebody will find a couple of minor errors :-). But try to get the point!):
>
> t2 = ceil (t);
> [t2,I]= unique (t2,'first');
> [t2,J]=unique (t2,'last');
> meanVal= zeros(max(t2(:),1);
> for i=1:numel(meanVal)
> meanVal(i) = mean(val(I(i):val(J(i));
> end
>
> Now... I know that matlab always has some built in functions that does all of these basic operations better and faster.
> So.... what would be a smarter way to do this??


% This sounds like you are trying to compute a "running average" of the vector.
% If so, see the Examples section of

doc filter