1 sem octave lab 5
This commit is contained in:
parent
018bac4688
commit
df67329dea
2 changed files with 6 additions and 10 deletions
|
|
@ -8,15 +8,11 @@ function [b,n] = calc_info(msg, alph, alph_p)
|
|||
|
||||
b = 0;
|
||||
for i = 1:l_msg
|
||||
flag = false;
|
||||
for j = 1:l_alph
|
||||
if msg(i) == alph(j)
|
||||
flag = true;
|
||||
b -= log(alph_p(j));
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
if ~flag
|
||||
mask = alph == msg(i);
|
||||
if any(mask)
|
||||
comp = alph_p(mask);
|
||||
b -= log2(comp);
|
||||
else
|
||||
warning("[WARN] Symbol '%s' (at pos. %d from msg) not found in alphabet", msg(i), i)
|
||||
endif
|
||||
endfor
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ msg = gen_msg(ralph, 100);
|
|||
dlmwrite("msg.txt", msg, '');
|
||||
|
||||
#stage 7
|
||||
[b, n] = calc_info(msg, alph, ralph);
|
||||
[b, n] = calc_info(msg, alph, ralph)
|
||||
|
||||
#stage 8
|
||||
avg_b = b / length(msg);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue