two for Nested Loops

How i can sum the third column to get the average over each 24 values of the second coloumn?

2 comentarios

KL
KL el 14 de Dic. de 2017
Editada: KL el 14 de Dic. de 2017
sounds more like making daily sum from hourly data. Use a timetable!
ahmad Saad
ahmad Saad el 14 de Dic. de 2017
KL
Yes, it is the daily sum from hourly data. but How the time table can be used?

Iniciar sesión para comentar.

Respuestas (6)

Jos (10584)
Jos (10584) el 14 de Dic. de 2017
Editada: Jos (10584) el 14 de Dic. de 2017

1 voto

Your question is a little unclear. Do you want to sum all values of the third row when the second row equals 0, equals 1, etc, so you end up with 24 summed values? That is easy:
A = xlsread('average24');
S = accumarray(A(:,2)+1, A(:,3), [24,1], @mean)
% S(k) is the average of all values of A(:,3) when A(:,2) equals (k-1)

1 comentario

Jos (10584)
Jos (10584) el 14 de Dic. de 2017
you want the average, answer corrected! :)

Iniciar sesión para comentar.

Jan
Jan el 14 de Dic. de 2017
Editada: Jan el 14 de Dic. de 2017

0 votos

Maybe
A = xlsread('average24');
% Average over blocks of 24 values:
S1 = mean(reshape(A(:, 3), 24, []), 1);
% Or average over all values belonging to 0, 1, 2, ...:
S2 = mean(reshape(A(:, 3), 24, []), 2);
KL
KL el 14 de Dic. de 2017
Editada: KL el 15 de Dic. de 2017

0 votos

An example with timetable,
EDITED
%import data
data = readtable('actual data.txt');
%create a proper datetime column
data.Timestamp = datetime(cell2mat(data{:,[1 2]}),'InputFormat','yyyy.MM.ddHH:mm');
%keep only datetime and measurements
data = data(:, [end 3]);
%create timetable
TT = table2timetable(data(:,2),'rowtimes',data.Timestamp);
%calculate daily mean
TT_mean = retime(TT,'daily','mean');
ahmad Saad
ahmad Saad el 14 de Dic. de 2017

0 votos

I'm very grateful for all. i'll check the answers and feek back
the answers are really helpfull
thanks again
ahmad Saad
ahmad Saad el 15 de Dic. de 2017

0 votos

This the actual data
from 1/10/2017 to 30/11/2017 the output should have 61 values

4 comentarios

KL
KL el 15 de Dic. de 2017
check my edited answer!
ahmad Saad
ahmad Saad el 15 de Dic. de 2017
First, thanks for your help
it seems that there is a error with respect to second line, i get: variable index exceeds table dimension
(i put the data in an excel file)
KL
KL el 15 de Dic. de 2017
Editada: KL el 15 de Dic. de 2017
The answer I gave you works on your text file. I tested it before posting it here!
This is the output
TT_mean =
61×1 timetable
Time Var3
__________ ______
2017-10-01 9383.2
2017-10-02 9388.9
2017-10-03 9420.8
2017-10-04 9449.3
2017-10-05 9463
2017-10-06 9456.5
2017-10-07 9406.2
2017-10-08 9364.3
2017-10-09 9386.4
2017-10-10 9440.3
...
ahmad Saad
ahmad Saad el 15 de Dic. de 2017
KL
OK
i'll try again and feedback; thanks for your kind attention

Iniciar sesión para comentar.

ahmad Saad
ahmad Saad el 15 de Dic. de 2017

0 votos

Birdman
deep thanks, it works fine, thanks : Birdman

Categorías

Preguntada:

el 14 de Dic. de 2017

Comentada:

el 15 de Dic. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by