Probability that an array is the same in succession

import random
import numpy as np
from matplotlib import pyplot as plt
b=[]
c=np.zeros((365*1000,2))
for i in range(365*1000):
    a=random.randint(1,5)
    b.append(a)
t=0
for i in range(len(b)-1):
    if b[i] == b[i+1]:
        c[t,0]=b[i]
        c[t,1]=c[t,1]+1
    else:
        t=t+1
d=[]
for i in range(365*1000):
    if c[i,1]==0:
        d.append(i)
x = np.delete(c, d, axis = 0)
x[:,1]=x[:,1]+1
p=[0 for i in range(2,15)]
pn=[0 for i in range(2,15)]
print(p)
for i in range(x.shape[0]):
    tp=x[i,1]
    tp=int(tp)
    p[tp-2]=p[tp-2]+1
print(p)
pp=[p[i]/(365*1000) for i in range(13)]
print(pp)
p=[i for i in range(2,15)]
print('连续相同的个数:')
for i in range(13):
    print('{:10d}'.format(p[i]),end='')
print('\n')
print('概率:')
for i in range(13):
    print('{:10.6f}'.format(pp[i]),end='')
plt.hist(x[:,1],9,(2,10), align='mid')
plt.show()

Insert picture description here
Insert picture description here

X=[2 2 1 4 4 4 3 3 1 1 3 3 3];
Output = ones(size(X));
k = 1;
for ii = 2:length(X)
    temp = X(ii);
    if (temp == X(ii-1))
        Output(ii) = k;
    else
        k = k+1;
        Output(ii) = k;
    end
end

Guess you like

Origin blog.csdn.net/weixin_40653652/article/details/114436203