本福特定律

摘要:
本福特定律测试结果比例1:30.07669223072:17.6392130713:12.5041680564:9.669889963325:7.96932310776:6.602200733587:5.801933977998:5.168389463159:4.56818939647附代码#-*-coding:utf-8-*-"""CreatedonMonApr0323:31:142017@au

本福特定律

本福特定律第1张

测试结果

figure_1.png
比例
1 : 30.0766922307
2 : 17.639213071
3 : 12.504168056
4 : 9.66988996332
5 : 7.9693231077
6 : 6.60220073358
7 : 5.80193397799
8 : 5.16838946315
9 : 4.56818939647
附代码
# -*- coding: utf-8 -*-
"""
Created on Mon Apr 03 23:31:14 2017
@author: LoveDMR
本福特定律实验  Benford
"""
import matplotlib.pyplot as plt
def first_num( n ):
    while( n / 10 > 0 ):
        n = n / 10
    return n 
    
def second_num( n ):
    while( n / 100 > 0 ):
        n = n / 10
    return n%10
if __name__ == '__main__':
    fib_first = [ 0 ] * 10
    fib_second = [ 0 ] * 10
    fac_first = [ 0 ] * 10
    fac_second = [ 0 ] * 10
    a , b = 1,1
    k = 1
    for i in range(1,3000):
        # 斐波那契数列
        a , b = b , a + b
        first_fib = first_num( a )
        second_fib = second_num( a )
        fib_first[first_fib] = fib_first[first_fib] + 1
        fib_second[second_fib] = fib_second[second_fib] + 1
        # 阶乘
        k *= i
        first_fac = first_num( k )
        second_fac = second_num( k )
        fac_first[first_fac] = fac_first[first_fac] + 1
        fac_second[second_fac] = fac_second[second_fac] + 1
    
    for n , i in enumerate(fib_first[1:],1):
        print n , ":" , i * 100.0 / sum(fib_first[1:])
        
    plt.figure( figsize =( 16, 8 ) )
    plt.subplot(121)
    plt.plot( range(1,10) , fib_first[1:] , 'r-' , label='Fib')
    plt.plot( range(1,10) , fac_first[1:] , 'b-' ,label='Fac')
    plt.title('First Num')
    plt.legend()
    plt.grid()
    plt.subplot(122)
    plt.plot( range(0,10) , fib_second , 'r-' , label='Fib')
    plt.plot( range(0,10) , fac_second , 'b-' , label='Fac')
    plt.title('Second Num')
    plt.legend()
    plt.grid()
    plt.show()

免责声明:文章转载自《本福特定律》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇AssertValid函数学习Android2.3.7源码结构分析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

简道云--公式与函数的使用教程

公式与函数 在制作表单时,可以设置控件与控件之间的数据联动关系。给例如编辑完单价和数量后,自动计算总价等这样的业务场景提供了支撑。 公式面板左侧可以选择当前表单控件所对应的值,以及所有表单控件所对应的字段名。被选择后,在公式面板中会以反引号包裹的形式显示。 注意:函数在简道云里的设置是大写,即在运用函数的时候,请用纯大写字母。 表单控件与其返回值的数据类型...

在静态方法中获取properties /yml 配置文件中的信息

有时候我们需要在static方法中获取propertie配置文件中的自定义的参数信息,获取方式 application.yml custom: socket: max-content-length: 2147483647 connect-timeout-millis: 3000 proxy-port: 8088 clie...

arcpy利用XY创建点

# -*- coding: utf-8 -*-"""Created on Sun Apr 7 15:32:24 2019@author: """# XYTableToPoint.py# Description: Creates a point feature class from input table# import system modules imp...

AVR单片机教程——走向高层

本文隶属于AVR单片机教程系列。   在系列教程的最后一篇中,我将向你推荐3个可以深造的方向:C++、事件驱动、RTOS。掌握这些技术可以帮助你更快、更好地开发更大的项目。 本文涉及到许多概念性的内容,如果你有不同意见,欢迎讨论。 关于高层 这一篇教程叫作“走向高层”。什么是高层? 我认为,如果寥寥几行代码就能实现一个复杂功能,或者一行代码可以对应到几百句...

右键快捷菜单的创建及控件的动态添加

任务:熟悉c#的winform右键快捷菜单的使用,熟悉使用右键实现控件的动态添加 技术要点: 1.实现控件的动态添加,设置控件的位置、大小和名称等属性 2.熟悉ContextMenuStrip控件的使用 实现过程: 1.创建Winform窗体,并添加ContextMenuStrip控件 2.编辑ContextMenuStrip控件,为其添加“添加控件”和...

Python基础:映射(字典)

一、概述 映射类型(Mapping Types)是一种关联式的容器类型,它存储了对象与对象之间的映射关系。 字典(dict)是Python中唯一的映射类型,它是存储了一个个 键值对(由 键 映射到 值)的关联容器。其中,键(key)必须是可哈希的Python对象,而 值(value)可以是任何Python对象。在功能上,Python中的字典类似于C++中...