Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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
有没有一种方法可以在matlab中对矩阵进行部分平均_Matlab_Matrix_Conditional - Fatal编程技术网

有没有一种方法可以在matlab中对矩阵进行部分平均

有没有一种方法可以在matlab中对矩阵进行部分平均,matlab,matrix,conditional,Matlab,Matrix,Conditional,我有一个从文件导入的矩阵(实际上是表): 1.0000 1.9736 4.0000 0.2016 9.0000 0.0584 10.0000 0.0495 5.0000 0.1845 2.0000 0.6873 1.0000 1.4177 2.0000 0.4699 5.0000 0.1555 10.0000 0.0435 13.0000 0.032

我有一个从文件导入的矩阵(实际上是表):

    1.0000    1.9736
    4.0000    0.2016
    9.0000    0.0584
   10.0000    0.0495
    5.0000    0.1845
    2.0000    0.6873
    1.0000    1.4177
    2.0000    0.4699
    5.0000    0.1555
   10.0000    0.0435
   13.0000    0.0326
    8.0000    0.0860
    5.0000    0.1685
    4.0000    0.1956
    5.0000    0.1433
    8.0000    0.0675
   13.0000    0.0335
   13.0000    0.0327
   10.0000    0.0431
    9.0000    0.0582
   10.0000    0.0551
   13.0000    0.0308
我想得到左栏中每个事件的平均值。即:

avg = [
  1.0000    1.69565
  2.0000    0.5786
  4.0000    0.1978]
等等。我可以用wile或for group来做,但这不是matlab的方法。那我该怎么做呢

a=[randi(5,10,1) rand(10,1)];
a=

ans=

a=

ans=


如果矩阵名为
a
,请尝试

>> accumarray(grp2idx(a(:,1)),a(:,2),[],@mean)
ans =
       1.6957
       0.5786
       0.1986
      0.16295
      0.07675
       0.0583
       0.0478
       0.0324

请注意,
grp2idx
是统计工具箱的一部分。如果没有,可以使用
unique
命令获得相同的结果。

如果矩阵名为
a
,请尝试

>> accumarray(grp2idx(a(:,1)),a(:,2),[],@mean)
ans =
       1.6957
       0.5786
       0.1986
      0.16295
      0.07675
       0.0583
       0.0478
       0.0324

请注意,
grp2idx
是统计工具箱的一部分。如果没有,可以使用
unique
命令获得相同的结果。

谢谢。这将在Comutation服务器上运行,我不知道这台机器上安装了什么。我无法使用你的解决方案。对不起,谢谢。这将在Comutation服务器上运行,我不知道这台机器上安装了什么。我无法使用你的解决方案。很抱歉
>> accumarray(grp2idx(a(:,1)),a(:,2),[],@mean)
ans =
       1.6957
       0.5786
       0.1986
      0.16295
      0.07675
       0.0583
       0.0478
       0.0324