Prob Matrix for binary sequence

1 Ansicht (letzte 30 Tage)
xplore29
xplore29 am 14 Mär. 2013
for some integer 'n', I have a matrix M of size (2^n) x n containing all possible binary sequences. Another vector N of length 'n' that contains the probabilities of bit being zero. I want to compute the prob of each sequence without using for loops.
Example
n=2;
M = [0 0;0 1;1 0;1 1];
N = [Prob(N1=0)=0.3 Prob(N2=0)=0.2]
Prob(M1M2=00) = (0.3)*(0.2)
Prob(M1M2=01) = (0.3)*(1-0.2)
Prob(M1M2=10) = (1-0.3)*(0.2)
Prob(M1M2=11) = (1-0.3)*(1-0.2)

Antworten (1)

Matt J
Matt J am 15 Mär. 2013
Probabilities = prod(bsxfun(@times,M,1-N) +bsxfun(@times,~M,N),2);
  3 Kommentare
Matt J
Matt J am 15 Mär. 2013
Bearbeitet: Matt J am 15 Mär. 2013
Not for me. I get the correct values.
>> M = [0 0;0 1;1 0;1 1];N=[0.3,0.2]; Probabilities = prod(bsxfun(@times,M,1-N) +bsxfun(@times,~M,N),2)
Probabilities =
0.0600
0.2400
0.1400
0.5600
Walter Roberson
Walter Roberson am 15 Mär. 2013
Note that the character before the M is the tilde, not subtraction.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by