matlab香农熵代码
时间: 2023-09-13 08:03:31 浏览: 322
【图像分割】香农熵最大熵法图像分割(含香农熵阈值迭代 最佳阈值 直方图)【含Matlab源码 4513期】.zip
以下是基于MATLAB的香农熵计算代码示例:
```matlab
function H = shannonentropy(X)
% 香农熵计算函数
% X: 输入数据向量
% 计算数据向量中所有出现过的元素及其出现次数
[uniqueVals, ~, uniqueCounts] = unique(X);
counts = accumarray(uniqueCounts, 1);
% 计算香农熵
p = counts / numel(X);
H = -sum(p .* log2(p));
end
```
示例用法:
```matlab
X = [1 2 2 3 3 3 4 4 4 4];
H = shannonentropy(X); % H = 1.8464
```
阅读全文