这是我写的一个函数,找不到错误。需要帮助。谢谢。双熵(节点a)是第24行
double entropy(Node a)
{
double a1=0,a2=0,a3=0,a4=0,sum=0;
for(int i=0;i<(a.data).size;i++)
{
int x=test[a.data[i]][a.pos];
if(x==0)
a1++;
else if(x==1)
a2++;
else if(x==2)
a3++;
else if(x==3)
a4++;
}
double total=a1+a2+a3+a4;
sum+=-(a1/total)*(math.log(a1/total))-(a2/total)*(math.log(a2/total))-(a3/total)*(math.log(a3/total))-(a4/total)*(math.log(a4/total));
return sum;
}