【发布时间】:2017-07-10 14:28:23
【问题描述】:
我有一个包含日期的矩阵,我想将这些日期按行聚合为句点:
[01-01-2017;31-12-2017] [01-01-2018;31-12-2018] [01-01-2019;31-01-2019]
这是我的代码:
a=[ 20170206 20170506 20170806 20171106 20180206 20180506 20180806 20181106
20190206 20190506;
20170402 20180402 0 0 0 0 0 0 0 0;
20170228 20170831 20180228 0 0 0 0 0 0 0;
20171016 20181016 20191016 0 0 0 0 0 0 0;
20171025 0 0 0 0 0 0 0 0 0]; %matrix with dates to aggregate
[r1,c1]=size(a);
p = [3;2;2;3;1]; %number of periods per line
yi=[2017;2017;2017;2017;2017];
mi=[01;01;01;01;01];
di=[01;01;01;01;01];
[m,n]=size(p);
datas(1:r1,1)=yi*10000+mi*100+di;
for i=1:m
for j=2:p(i)
datas(1:r1,j)=(yi+j-1)*10000+mi*100+di;
end
end
我的结果是
数据=[20170101 20180101 20190101; 20170101 20180101 20190101; 20170101 20180101 20190101; 20170101 20180101 20190101; 20170101 20180101 20190101]
但我想要一个这样的矩阵:
数据= [20170101 20180101 20190101; 20170101 20180101 0; 20170101 20180101 0; 20170101 20180101 20190101;20170101 0 0]
【问题讨论】:
-
请提供minimal reproducible example 和/或明确说明问题(您当前的输出是什么?)。
-
@m7913d 已经澄清,你能帮忙吗?
-
@m7913d 已经找到了,谢谢
标签: matlab for-loop matrix vector