我正在研究计算矩阵A的累积出现频率。
考虑到我们有一个具有以下值的矩阵
A = [...
-76 23 -0.23; ...
-0.23 23 -0.23; ...
-76 23 -0.23; ...
-0.23 21 0.23; ...
-76 23 -0.23 ];
*请注意,第1,2和4行是相同的。
如何在矩阵中进行A(3,:)的CFO(发生累计频率)?
答案 0 :(得分:0)
如果我理解正确,我不认为有一种超级干净的方法可以做到这一点。但它可能看起来像这样:
modelRow = A(3,:);
rowMatches = A(:,1)==modelRow(1) & A(:,2)==modelRow(2) & A(:,3)==modelRow(3);
cumulativeOccurance = cumsum(rowMatches);
结果是:
cumulativeOccurance =
1
1
2
2
3
答案 1 :(得分:0)
即使@Pursuit答案应该有效,我也想提议我的
pattern = -0.23 21 0.23;
CFO = sum(ismember(A, pattern, 'rows')) / size(A,1);
如果您不希望A(3,:)包含在您的首席财务官中,请执行
CFO = (sum(ismember(A, pattern, 'rows')) - 1) / size(A,1);