two for Nested Loops

1 次查看(过去 30 天)
ahmad Saad
ahmad Saad 2017-12-14
评论: ahmad Saad 2017-12-15
How i can sum the third column to get the average over each 24 values of the second coloumn?
  2 个评论
KL
KL 2017-12-14
编辑:KL 2017-12-14
sounds more like making daily sum from hourly data. Use a timetable!
ahmad Saad
ahmad Saad 2017-12-14
KL
Yes, it is the daily sum from hourly data. but How the time table can be used?

请先登录,再进行评论。

回答(6 个)

Jos (10584)
Jos (10584) 2017-12-14
编辑:Jos (10584) 2017-12-14
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)

Jan
Jan 2017-12-14
编辑:Jan 2017-12-14
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 2017-12-14
编辑:KL 2017-12-15
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 2017-12-14
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 2017-12-15
This the actual data
from 1/10/2017 to 30/11/2017 the output should have 61 values
  4 个评论
KL
KL 2017-12-15
编辑:KL 2017-12-15
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 2017-12-15
KL
OK
i'll try again and feedback; thanks for your kind attention

请先登录,再进行评论。


ahmad Saad
ahmad Saad 2017-12-15
Birdman
deep thanks, it works fine, thanks : Birdman

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by