首页 > 解决方案 > 如何结合 sum、if 和 log 来计算这个 sum(-a1:a3*log(a1:a3,2))?

问题描述

我想从 A 列的概率分布中计算(信息源的)熵:

    A
1: 0.75
2: 0.25
3: 0

熵 h 等于:

h = -0.75*log2(0.75) -0.25*log2(0.25) = 0.812(近似值)

我试过这样的事情:

=SUM(-A1:A3*if(A1:A3<>0,log(A1:A3,2)))

但它不起作用,我收到错误“找不到数组值”

这是我第一次使用谷歌表格,如果我不清楚,对不起。

标签: google-sheetssumgoogle-sheets-formulaentropy

解决方案


你应该试试这个公式:

=SUMPRODUCT(-A1:A3*IF(A1:A3<>0,LOG(A1:A3,2),A1:A3))

推荐阅读