蒙特卡洛算法 订阅
蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。 展开全文
蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。
信息
提出时间
二十世纪四十年代中期
别    称
统计模拟方法
中文名
蒙特·卡罗方法
外文名
Monte Carlo method
蒙特·卡罗方法提出
蒙特卡罗方法于20世纪40年代美国在第二次世界大战中研制原子弹的“曼哈顿计划”计划的成员S.M.乌拉姆和J.冯·诺伊曼首先提出。数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。在这之前,蒙特卡罗方法就已经存在。1777年,法国数学家布丰(Georges Louis Leclere de Buffon,1707—1788)提出用投针实验的方法求圆周率π。这被认为是蒙特卡罗方法的起源。
收起全文
精华内容
下载资源
问答
  • 蒙特卡洛算法

    2018-03-29 10:34:54
    蒙特卡洛算法详解,举例为用蒙特卡洛算法求解pi,及其相关知识
  • 利用MATLAB对蒙特卡洛算法进行仿真实验 实时绘出粒子群中心与实际位置轨迹 并能实时绘制误差信息等
  • DSMC蒙特卡洛算法

    2018-06-21 14:40:00
    蒙特卡洛算法,带有案例。MATLAB语言编写。VHS couette DSMC for couette flow
  • MCMC蒙特卡洛算法

    2019-09-09 10:26:47
    python随机数、MCMC蒙特卡洛算法

    MCMC算法

    蒙特卡罗方法又称统计模拟法、随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。
    当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。
    个人浅见:随机数模拟+概率论=MCMC

    示例:蒙特卡洛算法求积分

    首先考虑如下积分
    在这里插入图片描述
    求如上积分就是求下图中阴影面积。
    在这里插入图片描述
    利用蒙特卡洛算法,随机模拟正方形中的点(Xi,Yi),其总数为n,若1/Xi大于等于Yi,则表示点(Xi,Yi)位于阴影面积内,满足这一条件的点个数为m。由概率论可知,
    S=m/n*(2-1)*(1-0)

    import random
    max=10000000
    def getPoint():
        x=random.uniform(1.0,2.0)
        y=random.uniform(0.0,1.0)
        p=(x,y)
        return p
    def getResult():
        m=0
        n=max
        for i in range(n):
            p=getPoint()
            if(1/p[0]>=p[1]):
                m+=1
        return m/n*(2-1)*(1-0)
    print(getResult())
    
    

    Python中随机数的生成:

    import random
    random.randint(1,10) #产生1-10的一个随机整数
    random.random()  #产生[0,1)中的一个随机浮点数
    random.uniform(1.1,3.2) #生成1.1到3.2间隔中的一个随机浮点数,区间可以不是整数
    random.choice('beautiful') #从序列中随机选一个元素
    random.randrange(1,100,2) #生成1到100间隔为2的一个元素
    a=[1,2,3,4,5]
    random.shuffle(a)  #将序列a的元素打乱
    
    
    展开全文
  • 蒙特卡洛算法代码

    2013-07-17 09:26:45
    蒙特卡洛算法Matlab程序代码,个人搜集,希望有所帮助

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,019
精华内容 4,007
关键字:

蒙特卡洛算法