这是输入矩阵
7 9 6
8 7 9
7 6 7
Run Code Online (Sandbox Code Playgroud)
基于它们在矩阵中出现的频率(注意:这些值是出于解释目的.我没有提前预先计算它们.这就是为什么我问这个问题)
number frequency
6 2
7 4
8 1
9 2
Run Code Online (Sandbox Code Playgroud)
和我期望的输出
4 2 2
1 4 2
4 2 4
Run Code Online (Sandbox Code Playgroud)
有一个简单的方法吗?
这是一个三线解决方案.首先准备输入:
X = [7 9 6;8 7 9;7 6 7];
Run Code Online (Sandbox Code Playgroud)
现在做:
[a m n] = unique(X);
b = hist(X(:),a);
c = reshape(b(n),size(X));
Run Code Online (Sandbox Code Playgroud)
其中给出了以下值c:
4 2 2
1 4 2
4 2 4
Run Code Online (Sandbox Code Playgroud)
如果您还想要频率矩阵,可以使用以下代码获取:
[a b']
Run Code Online (Sandbox Code Playgroud)