entropdf.m

来自「Stanford的SRB实验室Quantitative Seismic Inte」· M 代码 · 共 44 行

M
44
字号
function [ent]=entropdf(p,units);%ENTROPDF  Shannon's Information Entropy%  ENTROPDF(p) calculates Shannon's information entropy from %  probability distribution function. %%  p:	   Input probability distribution function.%      	   (Can have any number of dimensions)%          Scaling will be applied if sum(p) is not equal to 1.%  units:  Defines the unit of entropy. Can be either a number or%	   one of the characters, 'nat','e', 'bit', or 'dit.'%%  Entropy is defined as%  	                      N%  	ENTROPY(p,units) = - sum p(n) log p(n) / log (units);%  	                     n=1 %  %  ENTROPDF(p), ENTROPDF(p,'nat') or ENTROPDF(p,'e') compute the entropy with %  base e, which is equal to ENTROPY(p,exp(1)). Its unit is called 'nat.'%  %  ENTROPDF(p,'bit') computes the entropy with base 2, which is equal to%  ENTROPDF(p,2). Its unit is called 'bit.'%  %  ENTROPDF(p,'dit') computes the entropy with base 10, which is equal to%  ENTROPDF(p,10). Its unit is called 'dit.'%%  Written by Isao Takahashi, 1/20/1999.%  Name changed to ENTROPDF from older version ENTROPY so as not to clash%  with MATLAB 7 Image Processing toolbox function ENTROPY. Tapan Mukerji,%  2/3/2005if nargin==1, units='e'; end;if any(lower(units(1))=='en'),	base=exp(1);elseif	lower(units(1))=='b',	base=2;elseif	lower(units(1))=='d',	base=10;elseif	~ischar(units(1)),	base=units;else	error('The second argument should be either of nat, bit, dit or a number');endp=p(:);p=p/sum(p);flag=p~=0;[ent]=-sum(log(p(flag)).*p(flag));ent=ent/log(base);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?