计算在一个二进制的不同状态概率分布
2视图(30天)
显示旧的评论
你好,
我有表数组是300 x1组成的二进制序列(0,1,0,0,1,1,1,1,0,0,0,0,1……]
我想计算每一个二阶的概率值存在。意义有多少00,01、10和11序列中存在。你有什么建议关于如何去做的呢?。
谢谢你!
接受的答案
Dimitris Kalogiros
2019年10月1日
clc;clearvars
%的输入数据
N = 300;%甚至总是
x =兰迪([0,1],N, 1);
%两位字
% 00 - > 0,01 - > 1,10 - > 2,11 - > 3
xmsb = x(1:2:结束);
xlsb = x(2:2:结束);
y = 2 * xmsb + xlsb;
%计算概率
[P,边缘]= histcounts (y,“归一化”,“概率”);
yIntervalCenters =(1/2) *(边边(1:end-1) +(2:结束);
图;茎(yIntervalCenters P);ylabel (“概率”);网格在;
5个评论
Dimitris Kalogiros
2019年10月2日
你刚刚使用这段代码块的输入数据。
我给一个例子:
clc;clearvars;
关闭所有;
%的输入数据
N = 300;%甚至总是
data =兰迪([0,1],N, 1);
setLength = 30;
为k = 0: setLength: N-setLength
%提取数据的时间间隔
x =数据(k + 1:1: k + setLength);
%两位字
% 00 - > 0,01 - > 1,10 - > 2,11 - > 3
xmsb = x(1:2:结束);
xlsb = x(2:2:结束);
y = 2 * xmsb + xlsb;
%计算概率
= -0.5:1:3.5边缘;
[P ~] = histcounts (y,边缘,“归一化”,“概率”);
yIntervalCenters =(1/2) *(边边(1:end-1) +(2:结束);
图(1);
茎(yIntervalCenters, P,“线宽”2);ylabel (“概率”);
网格在;ylim ([0, 1]);
暂停(1);
结束
我已经包括了一些额外的图形技巧