在matlab中检查向量的多样性
Checking variety of a vector in matlab
我正在尝试检查 matlab 中的矢量。例如,一个向量有 3 种不同的可能性 0 1 和 2。现在我想检查 matlab 中这个向量内部有多少个 0 1 和 2,这样我就可以为我的决策树确定最佳分割选择。也许有更简单的方法吗?
此致
使用 vector == some_num
,您 return 向量中 some_num
位置的二进制数组。使用 vector(binary_array)
,您 return 数组的一个子集,由 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
...
虽然我喜欢 Brendan 的回答,但我更喜欢下面的代码。
array = [1 2 1 0 3 1 1 4];
num_1 = numel( find(array==1) );
find
为您提供值的索引。您还可以使用 ~=
、<
和 >
.
我建议你把它改编成一个函数。
我正在尝试检查 matlab 中的矢量。例如,一个向量有 3 种不同的可能性 0 1 和 2。现在我想检查 matlab 中这个向量内部有多少个 0 1 和 2,这样我就可以为我的决策树确定最佳分割选择。也许有更简单的方法吗?
此致
使用 vector == some_num
,您 return 向量中 some_num
位置的二进制数组。使用 vector(binary_array)
,您 return 数组的一个子集,由 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
...
虽然我喜欢 Brendan 的回答,但我更喜欢下面的代码。
array = [1 2 1 0 3 1 1 4];
num_1 = numel( find(array==1) );
find
为您提供值的索引。您还可以使用 ~=
、<
和 >
.
我建议你把它改编成一个函数。