Compute probability of different states in a binary distribution
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Danae Parissi
am 1 Okt. 2019
Kommentiert: Dimitris Kalogiros
am 2 Okt. 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 Kommentare
David Hill
am 1 Okt. 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?
Akzeptierte Antwort
Dimitris Kalogiros
am 1 Okt. 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 Kommentare
Dimitris Kalogiros
am 2 Okt. 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
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!