根据一段时间计算矩阵中的项目数

时间:2016-12-28 19:00:14

标签: matlab matrix

我有一点问题。

例如,我有一个矩阵

m=[11 1 9 ;
22 2 10; 
33 3 11; 
44 4 14; 
55 1 15;
66 4 20; 
77 1 20; 
88 1 24; 
99 2 24 ]

其中第一列是产品的ID,第二列是买方的ID,第三列是购买日。

我想计算购买者购买的物品数量,期限为delta = 5天。

我尝试了这段代码,但我有一个问题:我想获得一个最终矩阵,其中行中有用户ID,列中列出了每个时段购买的文章数量。

m=[11 1 9 ;22 2 11; 33 3 10; 44 4 15; 55 1 15;66 4 20; 77 1 20; 88 1 24; 99 2 24 ]
D=m(:,3)
p=0;
delta=5
res=zeros(length(unique(m(:,2))),(div(max(D),delta)))
NbA=zeros(1,length(unique(m(:,2))))
while p<max(D)+1
    p
    pos=find((m(:,3)>=p)& (m(:,3)<p+delta))
    Mtemp=u(pos,:);
    [r c]=size(Mtemp);
    Ustemp=Mtemp(:,2);
    UnUstemp=unique(Ustemp);
    for i=1:length(UnUstemp)clc
         us=UnUstemp(i);
        [n l]=size(find(Ustemp==us));
        NbA(i)=n;
    end    
        res=[res ;NbA];
     p=p+delta; 
end  

0 个答案:

没有答案