I need to display a data

3 ビュー (過去 30 日間)
Aswas
Aswas 2015 年 7 月 14 日
編集済み: Aswas 2015 年 7 月 18 日
Can someone assist please:
  1 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2015 年 7 月 14 日
編集済み: Azzi Abdelmalek 2015 年 7 月 14 日
Do you mean for the first week of each month or of what? can you give more details about your first column?

サインインしてコメントする。

採用された回答

Andrei Bobrov
Andrei Bobrov 2015 年 7 月 14 日
編集済み: Andrei Bobrov 2015 年 7 月 15 日
% data - your data; first column - data+time, second - Power
data = [timeprac1,P];
v = datevec(data(:,1));
a = datenum(unique(v(ismember(v(:,[2,3]),[1 1],'rows'),[1:3]),'rows'));
z = weekday(a);
dd = bsxfun(@minus,2:8,z - a)';
[lo,ii] = ismember(fix(data(:,1)),dd(:));
ii = ceil(ii/7);
out = accumarray(ii(lo),data(lo,2),[],@(x){[mean(x),max(x)]});
add variant, if "first week" - 1-7 January
v = datevec(timeprac1);
lo = v(:,2) == 1 & ceil(v(:,3)/7) == 1;
[a,~,c] = unique(v(lo,1));
out1 = accumarray(c,P(lo),[],@(x){[mean(x),max(x)]});
out = [a, cell2mat(out)];
third variant, here "first week" - first full week (Mon-Sun) each year's
v = datevec(timeprac1);
a = datenum(unique(v(ismember(v(:,[2,3]),[1 1],'rows'),[1:3]),'rows'));
z = weekday(a);
dd = bsxfun(@plus,a + 9 - z,0:6);
[lo,ii] = ismember(fix(timeprac1),dd(:));
ii = ceil(ii/7);
out = accumarray(ii(lo),P(lo),[],@(x){[mean(x),max(x)]});
  6 件のコメント
Aswas
Aswas 2015 年 7 月 15 日
Works, thank you very much.
Aswas
Aswas 2015 年 7 月 17 日
Hi Andrei,
And how can I get only first years max and mean please, not every year?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by