【发布时间】:2017-04-06 18:45:51
【问题描述】:
我正在尝试在 matlab 中检查一个向量。例如,一个向量有 3 个不同的可能性 0 1 和 2。现在我想检查 matlab 中这个向量内部有多少个 0 1 和 2,所以我可以确定我的决策树的最佳分割选择。也许有更简单的方法来做到这一点?
最好的问候
【问题讨论】:
标签: matlab decision-tree
我正在尝试在 matlab 中检查一个向量。例如,一个向量有 3 个不同的可能性 0 1 和 2。现在我想检查 matlab 中这个向量内部有多少个 0 1 和 2,所以我可以确定我的决策树的最佳分割选择。也许有更简单的方法来做到这一点?
最好的问候
【问题讨论】:
标签: matlab decision-tree
使用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
...
【讨论】:
虽然我喜欢 Brendan 的回答,但我更喜欢下面的代码。
array = [1 2 1 0 3 1 1 4];
num_1 = numel( find(array==1) );
find 为您提供值的索引。您也可以使用~=、< 和>。
我建议你把它改成一个函数。
【讨论】: