Arrays 数组中具有相同时间戳的两个值的平均值
下面是我的问题:如果数组中的两个值具有相同的时间戳,我需要将它们组合起来并使用平均值。我怎样才能优雅地实现这一点 以下是一个例子:Arrays 数组中具有相同时间戳的两个值的平均值,arrays,matlab,Arrays,Matlab,下面是我的问题:如果数组中的两个值具有相同的时间戳,我需要将它们组合起来并使用平均值。我怎样才能优雅地实现这一点 以下是一个例子: %1列=时间;第二列=值 %有两个时间戳为“6”的值 C=[1,34;2,34;5,68;6,2;6,3;7,45] C= 1 34 2 34 5 68 6 2 6 3 7 45 %后处理 C_程序= 1.0000 34.0000 2.0000 34.0000 5.0000 68.0000 6.0000 2
%1列=时间;第二列=值
%有两个时间戳为“6”的值
C=[1,34;2,34;5,68;6,2;6,3;7,45]
C=
1 34
2 34
5 68
6 2
6 3
7 45
%后处理
C_程序=
1.0000 34.0000
2.0000 34.0000
5.0000 68.0000
6.0000 2.5000
7.0000 45.0000
这就是它的用途:
如果您不希望跳过的索引为零,请将其与组合,这也避免了第一种方法的整数时间戳的必要假设:
[a,~,u] = unique(C(:,1))
out = [a accumarray(u,C(:,2),[],@mean)]
[a,~,u] = unique(C(:,1))
out = [a accumarray(u,C(:,2),[],@mean)]
out =
1.0000 34.0000
2.0000 34.0000
5.0000 68.0000
6.0000 2.5000
7.0000 45.0000