1

我有大量的模拟数据需要在 MATLAB 中进行后处理。假设我的矩阵是 A 并且它的列被命名为variables IDXYZs1和。实际上我的要求是我想找出重复的行(这里我的意思是我有很多点对于 x 坐标的一个值)并添加列和的所有相应元素,并将每个元素除以 no。的出现次数。最后我想要,并平均它们的出现频率。s2s3Xs1s2Xs1s2s3

这可能是一个非常微不足道的问题,但是,作为一个初学者,我在这个网络上搜索并尝试了很多,但 cud 并没有太大进步。我知道我们可以通过使用 mode 或 unique 等命令找出重复的行及其频率,但我无法添加相应的列元素并进行平均。

最后,当我想绘制say Xvs.时,对于 的每个值s1,我应该只有一个 的值。(即需要对所有重复进行平均)s1x1s1X

我们是否有任何直接的 matlab 命令或者我们需要使用一些循环?

请帮我。

4

1 回答 1

3

matlab 中有一个名为的函数grpstats可以解决您的问题。它为矩阵或数据集数组中的数据计算分组汇总统计。

例子:

data = [1,2,3,4];
group = [1,1,1,3];
[name,mean] =  grpstats(data, group,{'gname','mean'})

会输出:

name = 

'1'
'3'


mean =

 2
 4

您可以输入help grpstatsMatlab 以获取更多信息。

于 2013-05-24T05:36:21.157 回答