示例#1
0
 def trial_stats(self):
     p_list = []
     for i in range(self.T):
         perco = Percolation(self.N)
         while (True):
             row = random.randint(1, N)
             col = random.randint(1, N)
             perco.open(row, col)
             if perco.percolated():
                 p = float(perco.grid.count(1) / (self.N * self.N))
                 # print('P = ' + str(p))
                 break
         p_list.append(p)
     print(str(self.T) + ' Times trial Mean: ' + str(self.mean(p_list)))
     print(str(self.T) + ' Times trial Stddev: ' + str(self.stddev(p_list)))
     print(
         str(self.T) + ' Times trial confidence interval: ' +
         str(self.confidence_interval(p_list)))
示例#2
0
                self.ax.fill(x1, y1, color='b')


if __name__ == '__main__':
    N = int(input('Enter your N: '))
    perco = Percolation(N)
    #手动输入
    #while(True):
    #    s = input('Enter a site as x y: ')
    #    [row,col] = [int(i) for i in s.split()]
    #    perco.open(row,col)
    #    count = count+1
    #    if perco.percolated():
    #        print(str(count)+' open site(s) to percolate the grid with size'+str(N)+'*'+str(N))
    #       break

    #随机open
    while (True):
        row = random.randint(1, N)
        col = random.randint(1, N)
        perco.open(row, col)
        if perco.percolated():
            print(
                str(perco.grid.count(1)) +
                ' open site(s) to percolate the grid with size ' + str(N) +
                '*' + str(N))
            break
    v = visualiser(N, perco.grid, perco)
    v.opened()
    plt.show()