Documente Academic
Documente Profesional
Documente Cultură
Exemple : Aplicatia 1.
p p p
Fie matricea P X , Y . Sa se calculeze [ P(X/ Y)] si [ P(Y/ X)] .
p p p
Sa se calculeze H X , H Y , H X , Y , H X / Y , H Y / X .
Rezolvare :
p x
k 1 j 1
k y j 1 , adica suma tutoror probabiliatatilor din matrice trebuie sa fie 1.
1 1/ 6 1/ 6 1/ 6
6 p 1 p P X ,Y
6 1/ 6 1/ 6 1/ 6
1/ 6 1/ 6 1/ 6
P X ,Y => p x1 1/ 6 1/ 6 1/ 6 1/ 2 si p x2 1/ 6 1/ 6 1/ 6 1/ 2
1/ 6 1/ 6 1/ 6
p y1 1/ 6 1/ 6 1/ 3 , p y2 1/ 6 1/ 6 1/ 3 , p y3 1/ 6 1/ 6 1/ 3
n
Cunoscand toate probabilitatile p xk , putem determina H X p xk log p xk 1
k 1
m
Cunoscand toate probabilitatile p y j , putem determina H Y p y j log p y j log 3 1, 6
j 1
1 1 1
=> H X , Y 6 log log log 6 log(2 3) log 2 log 3 1 log 3 2.6
6 6 6
Matlab :
zeros(3)
zeros(3,4)
ones(3)
ones(3,4)
t=[1 2 3; 4 5 6]
Aplicatia 1.
p=1/6
P_XY=[p p p;p p p]
format rat
P_XY=[p p p;p p p] /////// matricea P_XY se mai poate scrie in Matlab si ca p*ones(2,3) sau p + zeros(2,3)
sum(P_XY,1)
sum(P_XY,2)
P_X=sum(P_XY,2) ////// determina un vector cu toate prob. simb. de intrare ca suma pe linie (formula (9))
P_Y=sum(P_XY,1) ////// determina un vector cu toate prob. simb. de iesire ca suma pe coloana (formula (10))
for k=1:size(P_XY,1)
for j=1:size(P_XY,2)
P_XCY(k,j)=P_XY(k,j)/P_Y(j); /////////////determinam probabilitatile p xk / y j p xk y j / p y j
end
end
P_XCY
for k=1:size(P_XY,1)
for j=1:size(P_XY,2)
P_YCX(k,j)=P_XY(k,j)/P_X(k); /////////////determinam probabilitatile p y j / xk p xk y j / p xk
end
end
format short
H_Y=-sum(P_Y.*log2(P_Y))
format rat
format short
Aplicatia 2.
1/ 2 0 1/ 2 0 0 0
P Y / X 0 0 0 1/ 3 0 2 / 3 .
0 1/ 6 0 0 5 / 6 0
Se dau probabilitatile p (x1 ) 1/ 2 si am determinat p (x 2 ) p x3 1/ 4 .
Daca cunoastem doar probabilitatile p y j / xk si p (x k ) , atunci determinam cu formula (11):
p xk y j p xk p y j / xk . Toate aceste probabilitati p xk y j le scriem in matricea P X , Y :
Din matricea P X , Y putem determina probabilitatea unui simbol de iesire ca suma tuturor probabilitatilor de pe
coloana. => p y1 1/ 4 , p y2 1/ 24 , p y3 1/ 4 , p y4 1/12 , p y5 5 / 24 , p y6 1/ 6
Cunoscand p y j , putem determina toate probabilitatile p xk / y j p xk y j / p y j . Toate aceste probabilitati
p xk / y j le scriem in matricea P X / Y
1/ 4 1/ 4
1/ 4 0 0 0 0
1/ 4
1 0 1 0 0 0
1/12 1/ 6
P X / Y 0 0 0 0 0 0 0 1 0 1
1/12 1/ 6
0 1 0 0 1 0
0 1/ 24 5 / 24
0 0 0
1/ 24 5 / 24
Matlab :
clear
format rat
P_YCX=[1/2 0 1/2 0 0 0 ; 0 0 0 1/3 0 2/3; 0 1/6 0 0 5/6 0]
P_X=[1/2 1/4 1/4]
for k=1:size(P_YCX,1)
for j=1:size(P_YCX,2)
P_XY(k,j)=P_X(k)*P_YCX(k,j); ///////determinam P(X,Y) cu p xk y j p xk p y j / xk
end
end
P_Y=sum(P_XY,1)
for k=1:size(P_XY,1)
for j=1:size(P_XY,2)
P_XCY(k,j)=P_XY(k,j)/P_Y(j); ///////determinam P(X/Y) cu p xk / y j p xk y j / p y j
end
end
Aplicatia 3.
clear
syms x1 x2
P_YCX=[2/3 1/3;1/3 2/3]
Y=[1/2 1/2]
[x1 x2]=solve([x1 x2]*P_YCX(:,1)==Y(1),x1+x2==1,x1,x2)