Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

10 minutes average for four hours data

Asked by PRIYA

PRIYA

on 29 Oct 2012
Accepted Answer by Pedro Villena

Pedro Villena

3793.197 3793.19735 3793.1977 3793.19805 3793.1984 3793.19875 3793.1991 3793.19945 3793.1998 3793.20015 3793.2005 3793.20085 3793.2012 3793.20155 3793.2019 3793.20225 3793.2026 3793.20295 3793.2033 3793.20365 3793.204 3793.20435........etc i have a data set for four hours....these datas are taken in 15 seconds interval and for four hours i will have 720 datas .....for the first hour i need to calculate average for first 10 minutes and remaining 50 minutes no need to calculate average and again for second hour, first 10 minutes i need to calculate average and so on til the completion of four hours.......since i m a beginner in matlab .....i need a help sir to write a matlab code for 10 minutes average for four hours data....

3 Comments

Azzi Abdelmalek

Azzi Abdelmalek

on 29 Oct 2012

why 720, in 4 hours you will have 4 * 60 *4 =960

Walter Roberson

Walter Roberson

on 29 Oct 2012

Please do not name individuals in your Tags. Please retag this question; see http://www.mathworks.co.uk/matlabcentral/answers/43073-a-guide-to-tags

PRIYA

PRIYA

on 30 Oct 2012

SORRY its 3 hours data

PRIYA

PRIYA

Tags

Products

3 Answers

Answer by Pedro Villena

Pedro Villena

on 29 Oct 2012
Accepted answer
nHours = 4; %number of hours
Ts = 15; %sampling period [s]
data = [3793.197...             %your data is 960x1 size
%data = rand(nHours*3600/Ts,1); %test data (4hours*3600second/15second)
meanT = 10*60; %test period [s]
matrix = reshape(data,3600/Ts,nHours);
out = mean(matrix(1:meanT/Ts,:));

0 Comments

Pedro Villena

Pedro Villena

Answer by Sachin

Sachin

on 29 Oct 2012

A=rand(960,1);

A=reshape(A,240,4);

A_OUT=mean(A(1:40,:))

0 Comments

Sachin

Sachin

Answer by Sachin

Sachin

on 30 Oct 2012

A=rand(720,1);

A=reshape(A,240,3);

A_OUT=mean(A(1:40,:))

3 Comments

Sachin

Sachin

on 30 Oct 2012

For your 3hrs requirment, above code will suffice.

PRIYA

PRIYA

on 30 Oct 2012

actually i m doing project regarding tsunami.....i need to collect tsunami data for 4 hours and each data will be taken for 15 seconds so for each minute i will have 4 data and for 4 hours 960 datas and i need to take average for first 10 minutes(i.e 40 data) in each hour and in second hour average of first 10 minutes and so on till 4th hour and i will get 4 average values and i need to apply those 4 average values in one formula that is Hp(t') = SUMMATION i=0 to 3 (w(i) H*(t-idt)) and weights is w(0) = 1.16818457031250 w(1) = -0.28197558593750 w(2) = 0.14689746093750 w(3) = -0.03310644531250 and the link for the above formula is (<http://www.ndbc.noaa.gov/dart/algorithm.shtml>) from this i will get Hp(t') value which is 961 value and again from 2 to 961 value i need to repeat the same procedure to get 962 value lik that we need to calculate for 5000 values , its like moving average ... for this process i need to create matlab code

Andrei Bobrov

Andrei Bobrov

on 30 Oct 2012
A=rand(720,1);
A=reshape(A,240,[]);
A_OUT=mean(A(1:40,:));
Sachin

Sachin

Contact us