Mercurial > forge
changeset 2566:891abbea8ed4 octave-forge
Adding a new example and some sanity checks
author | gnumuthu |
---|---|
date | Tue, 03 Oct 2006 04:00:22 +0000 |
parents | 9674346902ee |
children | 69be1ed1e407 |
files | main/comm/inst/shannonfanodict.m |
diffstat | 1 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/main/comm/inst/shannonfanodict.m Tue Oct 03 03:01:17 2006 +0000 +++ b/main/comm/inst/shannonfanodict.m Tue Oct 03 04:00:22 2006 +0000 @@ -27,14 +27,25 @@ ## @group ## CW=shannonfanodict(1:4,[0.5 0.25 0.15 0.1]); ## assert(redundancy(CW,[0.5 0.25 0.15 0.1]),0.25841,0.001) +## shannonfanodict(1:5,[0.35 0.17 0.17 0.16 0.15]) +## shannonfanodict(1:8,[8 7 6 5 5 4 3 2]./40) ## @end group ## @end example ## @end deftypefn ## @seealso { shannonfanoenc, shannonfanodec } ## function cw_list=shannonfanodict(symbol,P) + + if nargin < 2 + error('Usage: shannonfanodict(symbol,P); see help'); + end + DMAX=length(P); S=1:DMAX; + + if(sum(P)-1.000 > 1e-7) + error('Sum of probabilities must be 1.000'); + end # #FIXME: Is there any other way of doing the #topological sort? Insertion sort is bad.