我有一个巨大的模拟数据,需要在MATLAB中进行后期处理。
假设我的矩阵是A,其列被命名为变量ID
,X
,Y
,Z
,s1
,s2
和{{ 1}}。实际上我的要求是我想找出重复s3
的行(这里我的意思是我有一个x坐标值的多个点)并添加列X
和{的所有相应元素{1}},并将每个除以否。 s1
的出现次数。最后,我希望s2
,X
和s1
对其出现频率进行平均。
这可能是一个非常微不足道的问题,但是,作为一个初学者,我搜索了&在这个网站上做了很多尝试,但反复无常进展。我知道我们可以通过使用模式或唯一等命令找出重复的行及其频率,但是我无法添加相应的列元素并进行平均。
最后,当我想描述s2
与s3
时,X
的每个值应该只有一个s1
值。 (即s1
需要对所有重复x1
)
我们是否有任何直接的matlab命令,或者我们需要使用一些循环?
请帮帮我。
答案 0 :(得分: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
您可以在Matlab中输入help grpstats
以获取更多信息。