【发布时间】:2010-04-09 07:18:10
【问题描述】:
需要一些 MATLAB 帮助!
我有一组 1 和 0,我需要找出多少个 1 和多少个 0。
(即 x = [ 1 1 0 0 0 0 0 1 0 0 1 1 ....])。我正在查看一些搜索和计数内置功能,但是我没有成功。
【问题讨论】:
需要一些 MATLAB 帮助!
我有一组 1 和 0,我需要找出多少个 1 和多少个 0。
(即 x = [ 1 1 0 0 0 0 0 1 0 0 1 1 ....])。我正在查看一些搜索和计数内置功能,但是我没有成功。
【问题讨论】:
内置的sum 和length 函数呢,即
numOfOnes = sum(x);
numOfZeros = length(x)-numOfOnes;
这假设您的向量中实际上只有 0 和 1。如果您可以有不同的值但只想计算 0 和 1,则可以预处理向量并计算逻辑向量中的 1:
numOfOnes = sum(x==1);
numOfZeros = sum(x==0);
【讨论】:
你可以这样做
onesInList = sum(x == 1);
zerosInList = sum(x == 0);
这扩展到您在列表中拥有的任何值(即,如果您想找到所有的七人组,您可以直接使用sevensInList = sum(x == 7);)。
【讨论】:
一个不错的简单选择是使用函数NNZ:
nOnes = nnz(x);
nZeroes = nnz(~x);
【讨论】: