Compute probability of different states in a binary distribution
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Danae Parissi
il 1 Ott 2019
Commentato: Dimitris Kalogiros
il 2 Ott 2019
Hello,
I have table array that is 300X1 consisting of a binary sequence [0,1,0,0,1,1,1,1,0,0,0,0,1...]
I would like to compute the probability that every second order value exists. Meaning how many 00, 01, 10, and 11 exist in the sequence. Do you have any Suggestions on how to go about it?.
Thank you
2 Commenti
David Hill
il 1 Ott 2019
Does 0 0 0 0 count as two 00 sequences and 1 1 1 1 0 counts as two 11 sequences or one 11 and one 10? In other words what are the rules for counting the sequences? Do you always start counting from the first element?
Risposta accettata
Dimitris Kalogiros
il 1 Ott 2019
clc; clearvars
% input data
N=300; % always even
x=randi([0, 1], N, 1);
% two bits words
% 00->0 , 01->1 , 10->2 , 11->3
xmsb=x(1:2:end);
xlsb=x(2:2:end);
y=2*xmsb+xlsb;
% calculation of probability
[P,edges] = histcounts(y, 'Normalization', 'probability');
yIntervalCenters=(1/2)*(edges(1:end-1)+edges(2:end));
figure; stem(yIntervalCenters, P); ylabel('probability'); grid on;
5 Commenti
Dimitris Kalogiros
il 2 Ott 2019
You have just to apply this piece of code on chunks of the input data.
I'm giving an example:
clc; clearvars;
close all;
% input data
N=300; % always even
data=randi([0, 1], N, 1);
setLength=30;
for k=0:setLength:N-setLength
% extract an interval of data
x=data(k+1:1:k+setLength);
% two bits words
% 00->0 , 01->1 , 10->2 , 11->3
xmsb=x(1:2:end);
xlsb=x(2:2:end);
y=2*xmsb+xlsb;
% calculation of probability
edges=-0.5:1:3.5;
[P,~] = histcounts(y, edges, 'Normalization', 'probability');
yIntervalCenters=(1/2)*(edges(1:end-1)+edges(2:end));
figure(1);
stem(yIntervalCenters, P, 'LineWidth', 2); ylabel('probability');
grid on; ylim([0, 1]);
pause(1);
end
I've included some extra graphical tricks
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!