google-sheets - 如何结合 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)))
但它不起作用,我收到错误“找不到数组值”
这是我第一次使用谷歌表格,如果我不清楚,对不起。
解决方案
你应该试试这个公式:
=SUMPRODUCT(-A1:A3*IF(A1:A3<>0,LOG(A1:A3,2),A1:A3))
推荐阅读
- php - Laravel updateOrInsert 基于 whereBetween 的数据透视表
- mongodb - 批量删除mongodb中的文档
- c - free():释放二维指针时指针无效
- javascript - 一个变量在我的 JavaScript 工厂函数中没有得到更新
- reactjs - 在反应测试库中测试useEffect + jest
- php - MySQL 标签系统 - 如何选择与最后 N 个发布的帖子关联的所有标签?
- rust - Rust 可变迭代器问题 - 如何修复“无法推断适当的生命周期”错误?
- microsoft-edge - Microsoft Edge 商店拒绝了我的插件(搜索工具)。需要说明
- django - 无法将 CSV 文件导入 pgadmin 中的数据库
- c# - Brackeys Fps 控制器仅上下移动相机