从MATLAB R2019a开始,您可以使用“groupcounts”函数来计算元素作为摘要出现在向量中的次数。换句话说,下面输出的“GC”中的元素是“GR”中对应元素值的计数(来自原始输入向量“x”):
X = [10 25 4 10 9 4 4]';
[GC, GR] = groupcounts (x)
GC =
3.
1
2
1
GR =
4
9
10
25
有关“groupcounts”的更多信息,请参阅下面的文档链接:
---
从MATLAB R2018b开始,如果您想计算一个元素在向量中出现的次数,并计算输入向量中每个对应元素的输出,您可以使用“grouptransform”函数。例如:
X = [10 25 4 10 9 4 4]';
y = grouptransform (x, x, @numel)
y =
2
1
3.
2
1
3.
3.
有关“grouptransform”的更多信息,请参阅下面的文档链接:
---
在MATLAB R2018b之前,虽然没有单个函数来计数每个元素的出现次数,但有几种方法来计数向量中的元素:
1.逻辑索引:
下面的代码片段将给出所需的输出:
y = 0(大小(x));
为i = 1:长度(x)
y (i) =总和(x = = x (i));
结束
对于MATLAB R2016b及后续版本,可以使用隐式展开进一步简化代码:
2.装箱:
你可以使用“历史”和“独特”功能,如这里所示:
X = [10 25 4 10 9 4 4]
[a, b] =嘘(x,独特的(x))
3.第三方工具:
另一个解决方案,请参见下面的文件'CountMember '。m',这是由MATLAB用户贡献的,用于从单个函数执行相同的操作:
注意,MathWorks不保证或保证使用或内容提交到MATLAB中央文件交换。任何问题、问题或抱怨都应直接向投稿作者提出。