close all; clear; clc; symbols = {'s', 'e', 'l', ' ', 'h', 'a'}; p = [0.3 0.2 0.2 0.15 0.1 0.05]; [code, L] = ShannonFanoFunc(p) % Entropy H=-sum(p.*log2(p)) % Efficacité E=H/L % Redondance R=1-E % msg codé msg =char('she sells sea shells'); code_msg=[]; for i=1:length(msg) for j=1:length(symbols) if msg(i)==symbols{j} code_msg = strcat(code_msg,code{j}); end end end % for i=1:length(msg) % if msg(i)==symbols{1} % code_msg=strcat(code_msg,code{1}); % elseif msg(i)==symbols{2} % code_msg=strcat(code_msg,code{2}); % elseif msg(i)==symbols{3} % code_msg=strcat(code_msg,code{3}); % elseif msg(i)==symbols{4} % code_msg=strcat(code_msg,code{4}); % elseif msg(i)==symbols{5} % code_msg=strcat(code_msg,code{5}); % else % code_msg=strcat(code_msg,code{6}); % end % end code_msg % taux de compression taux_comp=(1-(length(code_msg)/(20*8)))*100