Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 数组中具有相同时间戳的两个值的平均值_Arrays_Matlab - Fatal编程技术网

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