gpt4 book ai didi

matlab - 使用 Matlab 计算矩阵的熵

转载 作者:行者123 更新时间:2023-12-02 02:15:58 27 4
gpt4 key购买 nike

给定一个维度为 m x n 的矩阵 A,并且矩阵中的条目位于 [0,1]
例如

A = [0.5 0   0  0.5 0
0 0.5 0 0 0.5
1 0 0 0 0]

我想计算sum(sum(a_ij log(a_ij))),其中a_ij是第i行,<矩阵 A 中的第 j 列条目。由于矩阵中存在 0 个条目,因此我总是得到 NAN 结果。

我如何仅考虑非零条目来计算sum(sum(a_ij log(a_ij))) [矩阵的熵]。

最佳答案

要仅考虑矩阵的特定元素,您可以使用逻辑索引。例如,如果您只想选择 A 的非零条目,则可以使用 A(A~=0)。因此,对于您的问题,解决方案可以写为:

sum(A(A~=0).*log(A(A~=0)));

编辑:哇,这是某种巧合,我在发布此内容后刚刚看到您的评论。嗯,很高兴您自己解决了这个问题。

关于matlab - 使用 Matlab 计算矩阵的熵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6640046/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com