Effacer les filtres
Effacer les filtres

Moving window of 100 points with 20 points overlap.

1 vue (au cours des 30 derniers jours)
davit petraasya
davit petraasya le 15 Fév 2016
Commenté : Image Analyst le 16 Fév 2016
Hi everybody
I have around 500 points. My x axis-times, y-magnitudes. I need to do plot moving window of 100 points averages with 20 point overlap over time. How I may do the plot? I attached something sample plot also. (Please see my code and excel file, I need to continue my this code ...
[NUMERIC,TXT,RAW]=XLSREAD('sihex.xlsx');
A= -0.59;
B = 43.45;
C=0.09;
x=NUMERIC(:,2);
y=NUMERIC(:,1);
Mag=NUMERIC(:,3);
for iii=1:length(TXT);
date_str(iii,:)=TXT(iii,1);
end
date_num=datenum(date_str,'dd/mm/yyyy');
condition11=(Mag >= 0.8 & x > A-C & x < A+C & y > B-C & y < B+C);
plot(date_num(condition11),Mag(condition11),'.b');
datetick('x','yyyy','keeplimits'))

Réponse acceptée

dpb
dpb le 15 Fév 2016
Nfilt=20;
b=ones(1,Nfilt)/Nfilt; % weights
magFiltered=[nan filter(b,1,mag)]; % weight average (includes end effects)
magFiltered(2:nFilt-1)=nan; % replace end effects w/ NaN keeping time location
  3 commentaires
dpb
dpb le 15 Fév 2016
I've no klew what the "100 events" means, the above is a moving average of nPoints.
Oh, rereading I missed part of the request...no, the above doesn't do the "jump", it's a step increment of unity. As IA says, use either blockproc or conv instead.
davit petraasya
davit petraasya le 15 Fév 2016
Sorry dpb for my a little bit confusion text. Actually events means points. 100 events=100 points. Thanks.

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 15 Fév 2016
An alternate way is to use blockproc(), if you have the Image Processing Toolbox. It gives you control over the window size and the "jump" length.
Or, you could use conv() (which moves over one element at a time) and then just subsample every 20th element from the result.
  2 commentaires
davit petraasya
davit petraasya le 15 Fév 2016
Thanks for the comment Image Analyst. I will try to use blockproc function.
Image Analyst
Image Analyst le 16 Fév 2016
I've attached two demos where I use the function in a wide variety of ways. Adapt as needed. Good luck.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Line Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by