I need to display a data
3 ビュー (過去 30 日間)
古いコメントを表示
Can someone assist please:
1 件のコメント
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
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)]});
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Dates and Time についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!