使用armadillo库C ++计算熵

时间:2016-07-14 10:17:48

标签: entropy

我正在尝试使用armadillo lib来计算向量的熵。代码如下。 vec的大小是相同的。什么时候出错了......如何解决它。

double ent(){

// arma :: vec imT(20);

arma :: mat A = randu(4,5);

arma :: vec imT = vectorise(A); ///矢量A是20乘1 col vec

双重;     ent = 0;

arma::uvec h = hist(imT);   
arma::mat hp = arma::conv_to<arma::mat>::from(imT); 

arma::mat prob = hp/hp.n_elem;

ent = -arma::accu(prob*log2(prob));      //entropy cal
prob.print("sd");
return 0;

}

错误:矩阵乘法:无法比较的矩阵维数20x1和20X1。

0 个答案:

没有答案