Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория информации. Лабораторный практикум в MATLAB. Учебное пособие
.pdf
Ⱦɢɫɤɪɟɬɧɵɟ ɤɚɧɚɥɵ ɫɜɹɡɢ
Ɋɢɫ Ⱦɢɚɝɪɚɦɦɚ ɩɟɪɟɯɨɞɧɵɯɜɟɪɨɹɬɧɨɫɬɟɣ
ɞɜɨɢɱɧɨɝɨɫɢɦɦɟɬɪɢɱɧɨɝɨɤɚɧɚɥɚɛɟɡɩɚɦɹɬɢ
pp p
a
p
a
ɉɪɨɩɭɫɤɧɚɹ ɫɩɨɫɨɛɧɨɫɬɶ ɞɨɫɬɢɝɚɟɬɫɹ ɩɪɢ
Ö
pa
i
i ɢɢɦɟɟɬɫɥɟɞɭɸɳɢɟɫɜɨɣɫɬɜɚ
Ö
a
Ö
a
pa
i
± ɩɪɨɩɭɫɤɧɚɹɫɩɨɫɨɛɧɨɫɬɶɨɝɪɚɧɢɱɟɧɚɧɟɪɚɜɟɧɫɬɜɚɦɢ
CVdd
± ɩɪɢ ɨɬɫɭɬɫɬɜɢɢ ɩɨɦɟɯ ɤɨɝɞɚ
ɩɪɨɩɭɫɤɧɚɹ ɫɩɨɫɨɛ
p
ɧɨɫɬɶɪɚɜɧɚɫɪɟɞɧɟɣɫɤɨɪɨɫɬɢɦɨɞɭɥɹɰɢɢ
CV
p
± ɩɪɢ ɨɛɪɵɜɟɤɚɧɚɥɚɤɨɝɞɚ
C
ɪɚɜɧɚɧɭɥɸ
ɩɪɨɩɭɫɤɚɹɫɩɨɫɨɛɧɨɫɬɶ
Ⱦɜɨɢɱɧɵɣ ɫɢɦɦɟɬɪɢɱɧɵɣ ɤɚɧɚɥ ɫɨɫɬɢɪɚɧɢɹɦɢ ɗɬɨɬɤɚ
ɧɚɥ ɹɜɥɹɟɬɫɹ ɫɢɦɦɟɬɪɢɱɧɵɦ ɩɨ ɜɯɨɞɭ ɧɨ ɧɟɫɢɦɦɟɬɪɢɱɧɵɦ ɩɨ
ɜɵɯɨɞɭɢɢɦɟɟɬɪɚɡɦɟɪɧɨɫɬɢm ɢn Ɉɧɨɬɥɢɱɚɟɬɫɹɨɬɞɜɨ
ɢɱɧɨɝɨ ɫɢɦɦɟɬɪɢɱɧɨɝɨ ɤɚɧɚɥɚ ɛɟɡ ɩɚɦɹɬɢ ɧɚɥɢɱɢɟɦ ɞɨɩɨɥɧɢ
ɬɟɥɶɧɨɝɨ ɜɵɯɨɞɧɨɝɨ ɫɢɦɜɨɥɚ
Ö
ɫɢɦɜɨɥɚ ɫɬɢɪɚɧɢɹ ɤɨɬɨɪɵɣ ɫ
a
ɜɟɪɨɹɬɧɨɫɬɶɸ q ɦɨɠɟɬ ɩɨɹɜɢɬɶɫɹ ɩɪɢ ɩɟɪɟɞɚɱɟɤɚɠɞɨɝɨ ɢɡɞɜɭɯ
ɜɯɨɞɧɵɯ ɫɢɦɜɨɥɨɜ Ɇɚɬɪɢɰɚ ɩɟɪɟɯɨɞɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ
ɢɦɟɟɬɜɢɞ
ÖÖ Ö
_ _ _
pa a pa a pa a
§·
Ȇ
¨¸
ÖÖ Ö
_ _ _
pa a pa a pa a
©¹
pq p q
§·
¨¸
ppqq
©¹
ɝɞɟp ± ɜɟɪɨɹɬɧɨɫɬɶ ɨɲɢɛɨɱɧɨɝɨɩɪɢɟɦɚ ɞɜɨɢɱɧɨɝɨ ɫɢɦɜɨɥɚ q ±
ɜɟɪɨɹɬɧɨɫɬɶɫɬɢɪɚɧɢɹɫɢɦɜɨɥɚ

Ʌɚɛɨɪɚɬɨɪɧɚɹ ɪɚɛɨɬɚ ʋ 5
ɊɢɫȾɢɚɝɪɚɦɦɚɩɟɪɟɯɨɞɧɵɯɜɟɪɨɹɬɧɨɫɬɟɣɞɜɨɢɱɧɨɝɨ
ɫɢɦɦɟɬɪɢɱɧɨɝɨɤɚɧɚɥɚɫɨɫɬɢɪɚɧɢɹɦɢ
pq
pq
ɂɡ ɦɚɬɪɢɰɵ ɜɢɞɧɨ ɱɬɨ ɧɚɪɹɞɭ ɫ ɪɟɲɟɧɢɹɦɢɨ ɩɟɪɟ
ɞɚɧɧɨɦɫɢɦɜɨɥɟ
a
ɢɥɢ
ɡɞɟɫɶɢɧɨɝɞɚɩɪɢɧɢɦɚɟɬɫɹɪɟɲɟɧɢɟ ɨ
a
ɫɬɢɪɚɧɢɢɩɪɢɧɹɬɨɝɨɫɢɦɜɨɥɚ ɋɬɢɪɚɧɢɟɩɪɨɢɫɯɨɞɢɬɜɫɥɭɱɚɟɤɨ
ɝɞɚɩɟɪɟɞɚɧɧɵɣɫɢɦɜɨɥɢɫɤɚɠɟɧ ɬɚɤɱɬɨɧɟɦɨɠɟɬɛɵɬɶɨɩɨɡɧɚɧ
ɢɜɯɨɞɧɵɦɢɫɨɛɵɬɢɹɦɢɦɨɝɭɬɛɵɬɶɫɢɦɜɨɥɵ
a
ɢɥɢ
ɫɪɚɜɧɵɦɢ
a
ɜɟɪɨɹɬɧɨɫɬɹɦɢ
Ⱦɢɚɝɪɚɦɦɚɩɟɪɟɯɨɞɧɵɯɜɟɪɨɹɬɧɨɫɬɟɣɩɨɤɚɡɚɧɚɧɚɪɢɫ
Ö
a
a
p
p
a
q
Ö
a
q
Ö
a
ɉɪɨɩɭɫɤɧɚɹɫɩɨɫɨɛɧɨɫɬɶɨɩɪɟɞɟɥɹɟɬɫɹɜɵɪɚɠɟɧɢɟɦ
CV q q
ORJ
^
>@
ORJ ORJ
pq pq p p
ɢɞɨɫɬɢɝɚɟɬɫɹɩɪɢ
ɯɨɞɧɵɯɫɢɦɜɨɥɨɜ
pa
i
ÖÖ
pa pa q
i ɤɨɝɞɚɪɚɫɩɪɟɞɟɥɟɧɢɟɜɵ
ɋɜɨɣɫɬɜɚɩɪɨɩɭɫɤɧɨɣɫɩɨɫɨɛɧɨɫɬɢ
±ɩɪɨɩɭɫɤɧɚɹɫɩɨɫɨɛɧɨɫɬɶɨɝɪɚɧɢɱɟɧɚɧɟɪɚɜɟɧɫɬɜɚɦɢ
±ɩɪɢ
ɤɨɝɞɚɩɨɦɟɯɢɜɤɚɧɚɥɟɨɬɫɭɬɫɬɜɭɸɬɩɪɨɩɭɫɤɧɚɹ
p
CV qdd
ɫɩɨɫɨɛɧɨɫɬɶɪɚɜɧɚ
CV q
±ɩɪɢɨɛɪɵɜɟɤɚɧɚɥɚɤɨɝɞɚɭɫɥɨɜɧɵɟɩɟɪɟɯɨɞɧɵɟɜɟɪɨɹɬɧɨ
ɫɬɢ
ɫɨɛɧɨɫɬɶɪɚɜɧɚɧɭɥɸ
ÖÖ
_ _
pa a pa a
ii
i ɢ
C
pq
`
Ö
pa q
ɩɪɨɩɭɫɤɧɚɹɫɩɨ

Ⱦɢɫɤɪɟɬɧɵɟ ɤɚɧɚɥɵ ɫɜɹɡɢ
ɉɪɢ
ɮɨɪɦɭɥɚɩɪɟɨɛɪɚɡɭɟɬɫɹɜɜɵɪɚɠɟɧɢɟ
q
ɞɥɹɩɪɨɩɭɫɤɧɨɣɫɩɨɫɨɛɧɨɫɬɢɞɜɨɢɱɧɨɝɨɫɢɦɦɟɬɪɢɱɧɨɝɨɤɚɧɚɥɚ
Ɋɚɫɱɟɬɧɵɟɡɚɞɚɧɢɹ
Ɂɚɞɚɧɢɟ ȼɟɪɨɹɬɧɨɫɬɢ ɩɨɹɜɥɟɧɢɹ ɫɢɦɜɨɥɨɜ ɢɫɬɨɱɧɢɤɚ ɫ
ɚɥɮɚɜɢɬɨɦ A ɫɨɫɬɚɜɥɹɸɬ
pa
pa
pa
Ɇɚɬɪɢɰɚɭɫɥɨɜɧɵɯɩɟɪɟɯɨɞɧɵɯɜɟɪɨɹɬɧɨɫɬɟɣɞɢɫɤɪɟɬɧɨɝɨɤɚɧɚɥɚ
ɛɟɡɩɚɦɹɬɢɢɦɟɟɬɜɢɞ
ÖÖ Ö
_ _ _
pa a pa a pa a
§·
¨¸
ÖÖ Ö
pa a pa a pa a
Ȇ
_ _ _
¨¸
¨¸
ÖÖÖ
pa a pa a pa a
_ _ _
©¹
Ɋɚɫɫɱɢɬɚɬɶɷɧɬɪɨɩɢɸɜɯɨɞɧɵɯɫɢɦɜɨɥɨɜ
Ö
ɲɭɦɚ
_HAA
ɧɨɫɬɶɤɚɧɚɥɚ
ɜɡɚɢɦɧɭɸ ɢɧɮɨɪɦɚɰɢɸ
ɷɧɬɪɨɩɢɸɜɵɯɨɞɧɵɯɫɢɦɜɨɥɨɜ
Ö
_HAA
ɫɨɜɦɟɫɬɧɭɸɷɧɬɪɨɩɢɸ
Ö
IAA
ɬɪɟɦɹ ɫɩɨɫɨɛɚɦɢ ɩɨ ɮɨɪɦɭɥɚɦ
§·
¨¸
¨¸
¨¸
©¹
HA
ɢɷɧɬɪɨɩɢɸ
Ö
ɢɧɟɧɚɞɟɠ
HA
Ö
HAA
ɢɫɪɟɞɧɸɸ
ɢ
%Script_5_1
%Ɋɚɫɱɟɬ ɜɡɚɢɦɧɨɣ ɢɧɮɨɪɦɚɰɢɢ ɞɢɫɤɪɟɬɧɨɝɨ ɤɚɧɚɥɚ ɛɟɡ
ɩɚɦɹɬɢ
%ɩɪɢ ɡɚɞɚɧɧɨɦ ɜɟɤɬɨɪɟ ɜɟɪɨɹɬɧɨɫɬɟɣ ɫɢɦɜɨɥɨɜ ɜɯɨɞɧɨɝɨ
ɚɥɮɚɜɢɬɚ
%ɢ ɦɚɬɪɢɰɟ ɭɫɥɨɜɧɵɯ ɩɟɪɟɯɨɞɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ ɉ
clear all; close all; clc
%Ɂɚɞɚɧɢɟ ɚɧɨɧɢɦɧɨɣ ɮɭɧɤɰɢɢ
%--------------------------fun=@(x) -x.*log2(x+(x==0));
%--------------------------%Ɂɚɞɚɧɢɟ ɜɟɪɨɹɬɧɨɫɬɟɣ ɫɢɦɜɨɥɨɜ ɜɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ
p_in=[.7 .2 .1];
disp('ȼɟɪɨɹɬɧɨɫɬɢ ɫɢɦɜɨɥɨɜ ɜɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ:')
disp(p_in)
%Ɂɚɞɚɧɢɟ ɭɫɥɨɜɧɵɯ ɩɟɪɟɯɨɞɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ
PI=[.98 .01 .01; .1 .75 .15; .2 .3 .5];
disp('Ɇɚɬɪɢɰɚ ɭɫɥɨɜɧɵɯ ɩɟɪɟɯɨɞɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ ɉ):')
disp(PI)

Ʌɚɛɨɪɚɬɨɪɧɚɹ ɪɚɛɨɬɚ ʋ 5
%Ɉɩɪɟɞɟɥɟɧɢɟ ɨɛɴɟɦɚ ɚɥɮɚɜɢɬɚ
[m, n]=size(PI);
%ɉɪɨɜɟɪɤɚ ɪɚɜɟɧɫɬɜɚ m = n
if m~=n
disp('Ɇɚɬɪɢɰɚ ɞɨɥɠɧɚ ɛɵɬɶ ɤɜɚɞɪɚɬɧɨɣ!')
end
disp('Ɉɛɴɟɦ ɚɥɮɚɜɢɬɚ:')
disp(m)
%Ɋɚɱɟɬ ɷɧɬɪɨɩɢɢ ɜɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ
H_in=sum(fun(p_in));
disp('ɗɧɬɪɨɩɢɹ ɜɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ, ɛɢɬ/ɫɢɦɜɨɥ:')
disp(H_in)
%Ɋɚɫɱɟɬ ɷɧɬɪɨɩɢɢɢ ɲɭɦɚ
H_noise=sum(p_in'.*sum(fun(PI),2));
disp('ɗɧɬɪɨɩɢɹ ɲɭɦɚ, ɛɢɬ/ɫɢɦɜɨɥ:')
disp(H_noise)
%Ɋɚɫɱɟɬ ɷɥɟɦɟɧɬɨɜ ɦɚɬɪɢɰɵ ɫɨɜɦɟɫɬɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ
P_joint=bsxfun(@times,PI,p_in(:));
disp('Ɇɚɬɪɢɰɚ ɫɨɜɦɟɫɬɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ ɫɢɦɜɨɥɨɜ:')
disp(P_joint)
%Ɋɚɫɱɟɬ ɜɟɪɨɹɬɧɨɫɬɟɣ ɫɢɦɜɨɥɨɜ ɜɵɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ
p_out=sum(P_joint,1);
disp('ȼɟɪɨɹɬɧɨɫɬɢ
disp(p_out)
%Ɋɚɱɟɬ ɷɧɬɪɨɩɢɢ ɜɵɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ
H_out=sum(fun(p_out));
disp('ɗɧɬɪɨɩɢɹ ɜɵɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ, ɛɢɬ/ɫɢɦɜɨɥ:')
disp(H_out)
%Ɋɚɫɱɟɬ ɷɥɟɦɟɧɬɨɜ ɦɚɬɪɢɰɵ ɭɫɥɨɜɧɵɯ ɚɩɨɫɬɟɪɢɨɪɧɵɯ
ɜɟɪɨɹɬɧɨɫɬɟɣ
P_ap=bsxfun(@rdivide,P_joint,p_out(:)');
disp('Ɇɚɬɪɢɰɚ ɭɫɥɨɜɧɵɯ ɚɩɨɫɬɟɪɢɨɪɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ:')
disp(P_ap)
%Ɋɚɫɱɟɬ ɧɟɧɚɞɟɠɧɨɫɬɢ ɤɚɧɚɥɚ
H_insec=sum(p_out.*sum(fun(P_ap),1));
disp('ɇɟɧɚɞɟɠɧɨɫɬɶ ɤɚɧɚɥɚ, ɛɢɬ/ɫɢɦɜɨɥ:');
disp(H_insec)
%Ɋɚɫɱɟɬ ɜɡɚɢɦɧɨɣ ɢɧɮɨɪɦɚɰɢɢ
I=H_in-H_insec;
disp('ȼɡɚɢɦɧɚɹ ɢɧɮɨɪɦɚɰɢɹ, ɛɢɬ/ɫɢɦɜɨɥ - ɩɟɪɜɚɹ
ɮɨɪɦɚ:')
disp(I)
I=H_out-H_noise;
ɫɢɦɜɨɥɨɜ ɜɵɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ:')

Ⱦɢɫɤɪɟɬɧɵɟ ɤɚɧɚɥɵ ɫɜɹɡɢ
disp('ȼɡɚɢɦɧɚɹ ɢɧɮɨɪɦɚɰɢɹ, ɛɢɬ/ɫɢɦɜɨɥ - ɜɬɨɪɚɹ
ɮɨɪɦɚ:')
disp(I)
%Ɋɚɫɱɟɬ ɫɨɜɦɟɫɬɧɨɣ ɷɧɬɪɨɩɢɢ
H_joint=sum(sum(fun(P_joint)));
disp('ɋɨɜɦɟɫɬɧɚɹ ɷɧɬɪɨɩɢɹ ɜɯɨɞɧɨɝɨ ɢ ɜɵɯɨɞɧɨɝɨ
ɚɥɮɚɜɢɬɨɜ, ɛɢɬ/ɫɢɦɜɨɥ:')
disp(H_joint)
I=H_in+H_out-H_joint;
disp('ȼɡɚɢɦɧɚɹ ɢɧɮɨɪɦɚɰɢɹ, ɛɢɬ/ɫɢɦɜɨɥ - ɨɛɳɚɹ
ɮɨɪɦɭɥɚ:')
disp(I)
Ɂɚɞɚɧɢɟ ȼɟɪɨɹɬɧɨɫɬɢ ɩɨɹɜɥɟɧɢɹ ɫɢɦɜɨɥɨɜ ɢɫɬɨɱɧɢɤɚ ɫ
ɚɥɮɚɜɢɬɨɦ A ɫɨɫɬɚɜɥɹɸɬ
pa
pa
pa
Ɇɚɬɪɢɰɚɭɫɥɨɜɧɵɯɩɟɪɟɯɨɞɧɵɯɜɟɪɨɹɬɧɨɫɬɟɣɞɢɫɤɪɟɬɧɨɝɨɤɚɧɚɥɚ
ɛɟɡɩɚɦɹɬɢɢɦɟɟɬɜɢɞ
§·
¨¸
Ȇ
¨¸
¨¸
©¹
HA
Ö
HA
Ö
HAA
ɢɷɧɬɪɨɩɢɸ
ɢɧɟɧɚɞɟɠ
ɢɫɪɟɞɧɸɸ
ȼɵɱɢɫɥɢɬɶɷɧɬɪɨɩɢɸɜɯɨɞɧɵɯɫɢɦɜɨɥɨɜ
Ö
ɲɭɦɚ
_HAA
ɧɨɫɬɶɤɚɧɚɥɚ
ɜɡɚɢɦɧɭɸɢɧɮɨɪɦɚɰɢɸ
ɷɧɬɪɨɩɢɸɜɵɯɨɞɧɵɯɫɢɦɜɨɥɨɜ
Ö
_HAA
ɫɨɜɦɟɫɬɧɭɸɷɧɬɪɨɩɢɸ
Ö
IAA
ɬɪɟɦɹɫɩɨɫɨɛɚɦɢ
ɍɤɚɡɚɧɢɟɢɫɩɨɥɶɡɨɜɚɬɶScript_5_1
Ɂɚɞɚɧɢɟ ȼɟɪɨɹɬɧɨɫɬɢ ɩɨɹɜɥɟɧɢɹ ɫɢɦɜɨɥɨɜ ɢɫɬɨɱɧɢɤɚ ɫ
ɚɥɮɚɜɢɬɨɦ A ɫɨɫɬɚɜɥɹɸɬ
pa
Ɇɚɬɪɢɰɚ
pa
ɭɫɥɨɜɧɵɯ ɩɟɪɟɯɨɞɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ ɞɢɫɤɪɟɬɧɨɝɨ ɤɚɧɚɥɚ ɛɟɡ ɩɚ
ɦɹɬɢɢɦɟɟɬɜɢɞ
ÖÖ
_ _
pa a pa a
§·
Ȇ
¨¸
ÖÖ
_ _
pa a pa a
©¹
§·
¨¸
©¹

Ʌɚɛɨɪɚɬɨɪɧɚɹ ɪɚɛɨɬɚ ʋ 5
Ɉɩɪɟɞɟɥɢɬɶ ɷɧɬɪɨɩɢɸ ɜɯɨɞɧɵɯ ɫɢɦɜɨɥɨɜ
Ö
ɧɨɫɬɶɤɚɧɚɥɚ
_HAA
ɢɫɪɟɞɧɸɸɜɡɚɢɦɧɭɸɢɧɮɨɪɦɚɰɢɸ
HA
ɧɟɧɚɞɟɠ
Ö
IAA
ɩɨɮɨɪɦɭɥɟ
ȼɵɱɢɫɥɢɬɶ ɦɚɤɫɢɦɚɥɶɧɨɟ ɡɧɚɱɟɧɢɟ
ɜɡɚɢɦɧɨɣ ɢɧɮɨɪ
I
PD[
ɦɚɰɢɢ ɩɨ ɮɨɪɦɭɥɟ ɫ ɭɱɟɬɨɦ ɨɝɪɚɧɢɱɟɧɢɣ ɢ
ɧɚɣɬɢɪɚɫɩɪɟɞɟɥɟɧɢɟɜɟɪɨɹɬɧɨɫɬɟɣɜɯɨɞɧɨɝɨɚɥɮɚɜɢɬɚɨɛɟɫɩɟɱɢ
ɜɚɸɳɟɟɟɝɨɞɨɫɬɢɠɟɧɢɟ
ɍɤɚɡɚɧɢɟɮɚɣɥɜɧɟɲɧɟɣɮɭɧɤɰɢɢfun_H_insecɫɨɯɪɚɧɢɬɶ
ɞɨɟɝɨɢɫɩɨɥɶɡɨɜɚɧɢɹɜɨɫɧɨɜɧɨɣɩɪɨɝɪɚɦɦɟ
%Script_5_3
%Ɋɚɫɱɟɬ ɜɡɚɢɦɧɨɣ ɢɧɮɨɪɦɚɰɢɢ ɞɢɫɤɪɟɬɧɨɝɨ ɤɚɧɚɥɚ ɛɟɡ
ɩɚɦɹɬɢ
%ɩɪɢ ɡɚɞɚɧɧɨɦ ɜɟɤɬɨɪɟ ɜɟɪɨɹɬɧɨɫɬɟɣ ɫɢɦɜɨɥɨɜ ɜɯɨɞɧɨɝɨ
ɚɥɮɚɜɢɬɚ
%ɢ ɦɚɬɪɢɰɟ ɭɫɥɨɜɧɵɯ ɩɟɪɟɯɨɞɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ ɉ
%Ɉɩɪɟɞɟɥɟɧɢɟ ɦɚɤɫɢɦɚɥɶɧɨɝɨ ɡɧɚɱɟɧɢɹ ɜɡɚɢɦɧɨɣ
ɢɧɮɨɪɦɚɰɢɢ
%ɢ ɪɚɫɩɪɟɞɟɥɟɧɢɹ ɜɟɪɨɹɬɧɨɫɬɟɣ ɜɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ,
ɨɛɟɫɩɟɱɢɜɚɸɳɟɟ
%ɞɨɫɬɢɠɟɧɢɹ ɦɚɤɫɢɦɭɦɚ
%ɂɫɩɨɥɶɡɭɟɬɫɹ ɜɧɟɲɧɹɹ ɮɭɧɤɰɢɹ fun_H_insec
clear all; close all; clc
%Ɂɚɞɚɧɢɟ ɚɧɨɧɢɦɧɨɣ ɮɭɧɤɰɢɢ
%--------------------------fun=@(x) -x.*log2(x+(x==0));
%--------------------------%Ɂɚɞɚɧɢɟ ɜɟɪɨɹɬɧɨɫɬɟɣ ɫɢɦɜɨɥɨɜ ɜɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ
p_in=[.9 .1];
disp('
disp(p_in)
%Ɂɚɞɚɧɢɟ ɭɫɥɨɜɧɵɯ ɩɟɪɟɯɨɞɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ
PI=[.84 .16;.04 .96];
disp('Ɇɚɬɪɢɰɚ ɭɫɥɨɜɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ ɉ:')
disp(PI)
%Ɉɩɪɟɞɟɥɟɧɢɟ ɨɛɴɟɦɚ ɚɥɮɚɜɢɬɚ
m=length(p_in);
disp('Ɉɛɴɟɦ ɚɥɮɚɜɢɬɚ:')
disp(m)
%Ɋɚɱɟɬ ɷɧɬɪɨɩɢɢ ɜɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ
H_in=sum(fun(p_in));
ȼɟɪɨɹɬɧɨɫɬɢ ɫɢɦɜɨɥɨɜ ɜɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ:')

Ⱦɢɫɤɪɟɬɧɵɟ ɤɚɧɚɥɵ ɫɜɹɡɢ
disp('ɗɧɬɪɨɩɢɹ ɜɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ, ɛɢɬ/ɫɢɦɜɨɥ:')
disp(H_in)
%Ɋɚɫɱɟɬ ɷɥɟɦɟɧɬɨɜ ɦɚɬɪɢɰɵ ɫɨɜɦɟɫɬɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ
P_joint=bsxfun(@times,PI,p_in(:));
disp('Ɇɚɬɪɢɰɚ ɫɨɜɦɟɫɬɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ ɫɢɦɜɨɥɨɜ:')
disp(P_joint)
%Ɋɚɫɱɟɬ ɜɟɪɨɹɬɧɨɫɬɟɣ ɫɢɦɜɨɥɨɜ ɜɵɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ
p_out=sum(P_joint,1);
disp('ȼɟɪɨɹɬɧɨɫɬɢ ɫɢɦɜɨɥɨɜ ɜɵɯɨɞɧɨɝɨ ɚɥɮɚɜɢɬɚ:')
disp(p_out)
%Ɋɚɫɱɟɬ ɷɥɟɦɟɧɬɨɜ ɦɚɬɪɢɰɵ ɭɫɥɨɜɧɵɯ ɚɩɨɫɬɟɪɢɨɪɧɵɯ
ɜɟɪɨɹɬɧɨɫɬɟɣ
P_ap=bsxfun(@rdivide,P_joint,p_out(:)');
disp('Ɇɚɬɪɢɰɚ ɭɫɥɨɜɧɵɯ ɚɩɨɫɬɟɪɢɨɪɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ:')
disp(P_ap)
%Ɋɚɫɱɟɬ ɧɟɧɚɞɟɠɧɨɫɬɢ ɤɚɧɚɥɚ
H_insec=sum(p_out.*sum(fun(P_ap),1));
disp('ɇɟɧɚɞɟɠɧɨɫɬɶ ɤɚɧɚɥɚ, ɛɢɬ/ɫɢɦɜɨɥ:');
disp(H_insec)
%Ɋɚɫɱɟɬ ɜɡɚɢɦɧɨɣ ɢɧɮɨɪɦɚɰɢɢ
I=H_in-H_insec;
disp('ȼɡɚɢɦɧɚɹ ɢɧɮɨɪɦɚɰɢɹ, ɛɢɬ/ɫɢɦɜɨɥ:')
disp(I)
%Ɂɚɞɚɧɢɟ ɰɟɥɟɜɨɣ ɮɭɧɤɰɢɢ
fun_I_max=@(p_in) -(sum(fun(p_in))fun_H_insec(p_in,PI));
disp('Ɉɝɪɚɧɢɱɟɧɢɹ ɰɟɥɟɜɨɣ ɮɭɧɤɰɢɢ:')
A=-eye(m);
disp('Ɇɚɬɪɢɰɚ ɥɢɧɟɣɧɵɯ ɨɝɪɚɧɢɱɟɧɢɣ-ɪɚɜɟɧɫɬɜ:')
disp(A)
b=zeros(m,1);
disp('ȼɟɤɬɨɪ ɥɢɧɟɣɧɵɯ ɨɝɪɚɧɢɱɟɧɢɣ-ɪɚɜɟɧɫɬɜ:')
disp(b)
%Ɂɚɞɚɧɢɟ ɥɢɧɟɣɧɵɯ ɨɝɪɚɧɢɱɟɧɢɣ-ɧɟɪɚɜɟɧɫɬɜ
Aeq=ones(1,m);
disp('Ɇɚɬɪɢɰɚ ɥɢɧɟɣɧɵɯ ɨɝɪɚɧɢɱɟɧɢɣ-ɧɟɪɚɜɟɧɫɬɜ:')
disp(Aeq)
beq=1;
disp('ȼɟɤɬɨɪ ɥɢɧɟɣɧɵɯ ɨɝɪɚɧɢɱɟɧɢɣ-ɧɟɪɚɜɟɧɫɬɜ:')
disp(beq)
%ȼɵɱɢɫɥɟɧɢɟ ɷɤɫɬɪɟɦɭɦɚ
options=optimoptions(@fmincon);
[p,I_max]=fmincon(fun_I_max,p_in,A,b,Aeq,beq);

Ʌɚɛɨɪɚɬɨɪɧɚɹ ɪɚɛɨɬɚ ʋ 5
disp('Ɇɚɤɫɢɦɚɥɶɧɨɟ ɡɧɚɱɟɧɢɟ ɜɡɚɢɦɧɨɣ ɢɧɮɨɪɦɚɰɢɢ,
ɛɢɬ/ɫɢɦɜɨɥ:')
disp(-I_max)
disp('Ɉɩɬɢɦɚɥɶɧɨɟ ɪɚɫɩɪɟɞɟɥɟɧɢɟ ɜɟɪɨɹɬɧɨɫɬɟɣ ɜɯɨɞɧɵɯ
ɫɢɦɜɨɥɨɜ:')
disp(p)
function y=fun_H_insec(p,PI)
%Ɋɚɫɱɟɬ ɧɟɧɚɞɟɠɧɨɫɬɢ ɞɢɫɤɪɟɬɧɨɝɨ ɤɚɧɚɥɚ H_insec
%p - ɜɟɤɬɨɪ ɜɟɪɨɹɬɧɨɫɬɟɣ ɫɢɦɜɨɥɨɜ
%PI - ɦɚɬɪɢɰɚ ɩɟɪɟɯɨɞɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ ɉ
%Ɂɚɞɚɧɢɟ ɚɧɨɧɢɦɧɨɣ ɮɭɧɤɰɢɢ
%--------------------------fun=@(x) -x.*log2(x+(x==0));
%--------------------------P=bsxfun(@times,PI,p(:));
pa=sum(P,1);
PA=bsxfun(@rdivide,P,pa(:)');
y=sum(pa.*sum(fun(PA),1));
Ɂɚɞɚɧɢɟȼɟɪɨɹɬɧɨɫɬɢ ɩɨɹɜɥɟɧɢɹ ɫɢɦɜɨɥɨɜ ɢɫɬɨɱɧɢɤɚ ɫ
ɚɥɮɚɜɢɬɨɦ A ɫɨɫɬɚɜɥɹɸɬ
pa
Ɇɚɬɪɢɰɚ
pa
ɭɫɥɨɜɧɵɯ ɩɟɪɟɯɨɞɧɵɯ ɜɟɪɨɹɬɧɨɫɬɟɣ ɞɢɫɤɪɟɬɧɨɝɨ ɤɚɧɚɥɚ ɛɟɡ ɩɚ
ɦɹɬɢɢɦɟɟɬɜɢɞ
§·
Ȇ
¨¸
©¹
HA
Ɉɩɪɟɞɟɥɢɬɶ ɷɧɬɪɨɩɢɸ ɜɯɨɞɧɵɯ ɫɢɦɜɨɥɨɜ
Ö
ɧɨɫɬɶɤɚɧɚɥɚ
_HAA
ɢɫɪɟɞɧɸɸɜɡɚɢɦɧɭɸɢɧɮɨɪɦɚɰɢɸ
ɧɟɧɚɞɟɠ
Ö
IAA
ɩɨɮɨɪɦɭɥɟ
ȼɵɱɢɫɥɢɬɶ ɦɚɤɫɢɦɚɥɶɧɨɟ ɡɧɚɱɟɧɢɟ
ɜɡɚɢɦɧɨɣ ɢɧɮɨɪ
I
PD[
ɦɚɰɢɢ ɩɨ ɮɨɪɦɭɥɟ ɫ ɭɱɟɬɨɦ ɨɝɪɚɧɢɱɟɧɢɣ ɢ
ɧɚɣɬɢɪɚɫɩɪɟɞɟɥɟɧɢɟɜɟɪɨɹɬɧɨɫɬɟɣɜɯɨɞɧɨɝɨɚɥɮɚɜɢɬɚɨɛɟɫɩɟɱɢ
ɜɚɸɳɟɟɟɝɨɞɨɫɬɢɠɟɧɢɟ
ɍɤɚɡɚɧɢɟɢɫɩɨɥɶɡɨɜɚɬɶScript_5_3
Ɂɚɞɚɧɢɟɉɨ ɮɨɪɦɭɥɟ ɩɨɫɬɪɨɢɬɶ ɝɪɚɮɢɤɢ ɡɚɜɢɫɢ
ɦɨɫɬɢ ɧɨɪɦɢɪɨɜɚɧɧɨɣ ɩɪɨɩɭɫɤɧɨɣ ɫɩɨɫɨɛɧɨɫɬɢ
CV
ɫɢɦɦɟɬ
ɪɢɱɧɨɝɨ mɢɱɧɨɝɨ ɤɚɧɚɥɚ ɛɟɡ ɩɚɦɹɬɢ ɨɬ ɜɟɪɨɹɬɧɨɫɬɢ ɨɲɢɛɤɢ p

Ⱦɢɫɤɪɟɬɧɵɟ ɤɚɧɚɥɵ ɫɜɹɡɢ
ɩɪɢɡɧɚɱɟɧɢɹɯ ɨɛɴɟɦɚɚɥɮɚɜɢɬɚ m Ɋɚɫɫɱɢɬɚɬɶɡɧɚɱɟ
ɧɢɹɜɟɪɨɹɬɧɨɫɬɢɨɲɢɛɤɢɩɪɢɨɛɪɵɜɟɤɚɧɚɥɚ
%Script_5_5
%Ɋɚɫɱɟɬ ɩɪɨɩɭɫɤɧɨɣ ɫɩɨɫɨɛɧɨɫɬɢ m-ɢɱɧɨɝɨ ɫɢɦɦɟɬɪɢɱɧɨɝɨ
ɤɚɧɚɥɚ ɛɟɡ ɩɚɦɹɬɢ
%ɩɪɢ ɪɚɡɥɢɱɧɵɯ ɡɧɚɱɟɧɢɹɯ m
clear all; close all; clc
%Ɂɚɞɚɧɢɟ ɡɧɚɱɟɧɢɣ ɜɟɪɨɹɬɧɨɫɬɢ ɨɲɢɛɤɢ
p=0:.001:1;
%Ɉɩɪɟɞɟɥɟɧɢɟ ɞɥɢɧɵ ɜɟɤɬɨɪɚ
np=length(p);
%Ɂɚɞɚɧɢɟ ɡɧɚɱɟɧɢɣ m
vm=[2 4 8 16];
%Ɉɩɪɟɞɟɥɟɧɢɟ ɞɥɢɧɵ ɜɟɤɬɨɪɚ
nm=length(vm);
%Ɂɚɞɚɧɢɟ ɪɚɡɦɟɪɧɨɫɬɟɣ ɦɚɫɫɢɜɨɜ
pe=zeros(1,nm);
c=zeros(nm,np);
str= cell(1,nm);
%Ɋɚɫɱɟɬ ɩɪɨɩɭɫɤɧɨɣ ɫɩɨɫɨɛɧɨɫɬɢ
for k=1:nm
m=vm(k);
pe(k)=(m-1)/m;
c(k,:)=log2(m)+(1-p).*log2(1-p)+p.*log2(p/(m-1));
str{k}=['m = ',num2str(m)];
end
%ɉɨɫɬɪɨɟɧɢɟ ɝɪɚɮɢɤɨɜ
plot(p,c)
grid
hold on
plot(pe,0,'r.')
xlabel('ȼɟɪɨɹɬɧɨɫɬɶ ɨɲɢɛɤɢ p')
ylabel('ɉɪɨɩɭɫɤɧɚɹ ɫɩɨɫɨɛɧɨɫɬɶ C / V, ɛɢɬ/ɫɢɦɜɨɥ')
title('ɉɪɨɩɭɫɤɧɚɹ
ɤɚɧɚɥɚ ɛɟɡ ɩɚɦɹɬɢ')
legend(str)
%ȼɵɜɨɞ ɡɧɚɱɟɧɢɣ ɜɟɪɨɹɬɧɨɫɬɢ ɨɲɢɛɤɢ ɩɪɢ ɨɛɪɵɜɟ ɤɚɧɚɥɚ
disp('ȼɟɪɨɹɬɧɨɫɬɢ ɨɲɢɛɤɢ ɩɪɢ ɨɛɪɵɜɟ ɤɚɧɚɥɚ:')
A=[vm;pe];
fprintf('%3s %4s\n','m','p');
fprintf('%3i %5.4f\n',A);
ɫɩɨɫɨɛɧɨɫɬɶ m-
ɢɱɧɨɝɨ ɫɢɦɦɟɬɪɢɱɧɨɝɨ

Ʌɚɛɨɪɚɬɨɪɧɚɹ ɪɚɛɨɬɚ ʋ 5
Ɂɚɞɚɧɢɟɉɨɮɨɪɦɭɥɟɩɨɫɬɪɨɢɬɶɝɪɚɮɢɤɡɚɜɢɫɢɦɨ
ɫɬɢ ɧɨɪɦɢɪɨɜɚɧɧɨɣ ɩɪɨɩɭɫɤɧɨɣ ɫɩɨɫɨɛɧɨɫɬɢ
CV
ɞɜɨɢɱɧɨɝɨ
ɫɢɦɦɟɬɪɢɱɧɨɝɨɤɚɧɚɥɚɛɟɡɩɚɦɹɬɢɨɬɜɟɪɨɹɬɧɨɫɬɢɨɲɢɛɤɢp
%Script_5_6
%Ɋɚɫɱɟɬ ɩɪɨɩɭɫɤɧɨɣ ɫɩɨɫɨɛɧɨɫɬɶ ɞɜɨɢɱɧɨɝɨ
ɫɢɦɦɟɬɪɢɱɧɨɝɨ ɤɚɧɚɥɚ ɛɟɡ ɩɚɦɹɬɢ
clear all; close all; clc
%Ɂɚɞɚɧɢɟ ɡɧɚɱɟɧɢɣ ɜɟɪɨɹɬɧɨɫɬɢ ɨɲɢɛɤɢ
p=0:.001:1;
%Ɋɚɫɱɟɬ ɩɪɨɩɭɫɤɧɨɣ ɫɩɨɫɨɛɧɨɫɬɢ
c=1+(1-p).*log2(1-p)+p.*log2(p);
%ɉɨɫɬɪɨɟɧɢɟ ɝɪɚɮɢɤɚ
plot(p,c)
grid
xlabel('ȼɟɪɨɹɬɧɨɫɬɶ ɨɲɢɛɤɢ p')
ylabel('ɉɪɨɩɭɫɤɧɚɹ ɫɩɨɫɨɛɧɨɫɬɶ C / V')
title('ɉɪɨɩɭɫɤɧɚɹ ɫɩɨɫɨɛɧɨɫɬɶ ɞɜɨɢɱɧɨɝɨ ɫɢɦɦɟɬɪɢɱɧɨɝɨ
ɤɚɧɚɥɚ ɛɟɡ ɩɚɦɹɬɢ')
Ɂɚɞɚɧɢɟɉɨ ɮɨɪɦɭɥɟ ɩɨɫɬɪɨɢɬɶ ɝɪɚɮɢɤɢ ɡɚɜɢɫɢ
ɦɨɫɬɢ ɧɨɪɦɢɪɨɜɚɧɧɨɣ ɩɪɨɩɭɫɤɧɨɣɫɩɨɫɨɛɧɨɫɬɢ
CV
ɞɜɨɢɱɧɨɝɨ
ɫɢɦɦɟɬɪɢɱɧɨɝɨ ɤɚɧɚɥɚ ɫɨ ɫɬɢɪɚɧɢɹɦɢ ɨɬ ɜɟɪɨɹɬɧɨɫɬɢ ɨɲɢɛɤɢ p
pdd
ɩɪɢ ɡɧɚɱɟɧɢɹɯ ɜɟɪɨɹɬɧɨɫɬɢ ɫɬɢɪɚɧɢɹ ɩɪɢɧɹɬɨɝɨ
ɫɢɦɜɨɥɚ q Ɋɚɫɫɱɢɬɚɬɶ ɡɧɚɱɟɧɢɹ ɜɟɪɨɹɬɧɨɫɬɢ
ɨɲɢɛɤɢɩɪɢɨɛɪɵɜɟɤɚɧɚɥɚ
%Script_5_7
%Ɋɚɫɱɟɬ ɩɪɨɩɭɫɤɧɨɣ ɫɩɨɫɨɛɧɨɫɬɢ ɞɜɨɢɱɧɨɝɨ
ɫɢɦɦɟɬɪɢɱɧɨɝɨ ɤɚɧɚɥɚ ɫɨ ɫɬɢɪɚɧɢɹɦɢ
clear all; close all; clc
%Ɂɚɞɚɧɢɟ ɡɧɚɱɟɧɢɣ ɜɟɪɨɹɬɧɨɫɬɢ ɨɲɢɛɤɢ
p=0:.001:1/2;
%Ɉɩɪɟɞɟɥɟɧɢɟ ɞɥɢɧɵ ɜɟɤɬɨɪɚ
np=length(p);
%Ɂɚɞɚɧɢɟ ɡɧɚɱɟɧɢɣ q
vq=[0 .2 .4 .5];
%Ɉɩɪɟɞɟɥɟɧɢɟ ɞɥɢɧɵ ɜɟɤɬɨɪɚ
nq=length(vq);
%Ɂɚɞɚɧɢɟ ɪɚɡɦɟɪɧɨɫɬɟɣ ɦɚɫɫɢɜɨɜ
pe=zeros(1,nq);
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
