我正在尝试在matlab中检查一个向量。例如,一个向量有3个不同的可能性0 1和2.现在我想检查matlab中这个向量内部有多少个1和2,所以我可以确定我的决策树的最佳分割选择。也许还有更简单的方法吗?
最好的问候
答案 0 :(得分:1)
使用vector == some_num
,您将在向量中返回some_num
的二进制数组位置。使用vector(binary_array)
,您将返回数组的子集,由binary_array
中的“1”表示。
把它们放在一起:
vec = [ 0 0 1 1 1 2 2 2 2 2];
num_0 = length(vec(vec==0)); % = 2
num_1 = length(vec(vec==1)); % = 3
...
答案 1 :(得分:1)
虽然我喜欢布兰登的回答,但我更喜欢以下代码。
array = [1 2 1 0 3 1 1 4];
num_1 = numel( find(array==1) );
find
为您提供值的索引。您还可以使用~=
,<
和>
。
我建议你将它改编成一个函数。