`
candle_huihui
  • 浏览: 5374 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

蒙特卡罗方法

阅读更多
蒙特卡罗方法:
        解决实际问题时会使很多复杂的模型转化为简单易了的运算,很快的得出结果,
        m/n=某区域面积/矩形面积
   
具体要求:
       利用大量随机数群进行模拟;
       


如利用蒙特卡罗方法求pi的值:此处利用的是四分之一单位圆
#include<iostream>
#include<time.h>
#include<stdlib.h>
#include <math.h>
using namespace std;
float shape(float x)
{
return (sqrt(1-x*x));
}
int main()
{
const long max_count = 100000 ;
long undercount = 0;
long totalcount = 0 ;
float rnumx ,rnumy;
float x,val,xrnd,yrnd ,area,boxarea,ymax;
srand(time(NULL));
        double pi;

ymax=shape(0);

boxarea=ymax;//矩形面积
while(totalcount<max_count)
{
rnumx=rand();
val = rnumx / RAND_MAX;//产生0-1随机数
xrnd=val;
rnumy=rand();
        val=rnumy /RAND_MAX;
yrnd=val*ymax;
if(yrnd<=shape(xrnd))
undercount++;
totalcount++;
}
area= boxarea*(float)undercount/(float)totalcount;//四分之一圆面积
         pi=(double)(4*area);
cout<<"pi is :"<<pi<<endl;
return 0;
}
       

我们直接求pi的值并不是很好求,可能有些常见敞常量的换算可以得到pi,但如果我们不知道那些关系就不是那么好求了,利用蒙特卡罗方法常常可以解决一些统计学问题,如人口,想象到这里可能会让你走上一条想不到的捷径。。。
       
分享到:
评论

相关推荐

    蒙特卡罗方法及其在粒子输运问题中的应用1-4

    第四章则专注于蒙特卡洛方法在积分计算中的应用。在很多问题中,需要计算复杂的多维积分,这类积分在数学上难以解析求解。蒙特卡罗方法提供了一种有效途径来近似计算这类积分,通过随机抽样来评估积分的数值。通过...

    《蒙特卡罗方法》徐钟济

    很经典的一本书,《蒙特卡罗方法》徐钟济 于中国科学院计算技术研究所

    基于MATLAB的蒙特卡罗方法求解二重积分.pdf

    在介绍蒙特卡罗方法求解二重积分的知识点之前,我们先对几个核心概念进行简要介绍。蒙特卡罗方法(Monte Carlo method),又称为统计模拟方法,是一种使用随机抽样来求解数学、物理、工程等领域问题的方法。MATLAB则...

    蒙特卡洛方法及应用.pdf

    蒙特卡洛方法是一种基于随机抽样来解决计算问题的算法,它被广泛应用于金融、工程、科学研究等领域,尤其适用于传统数值方法难以处理的多维积分和优化问题。该方法的核心思想是利用随机数和概率统计理论,通过大量的...

    蒙特卡罗代码大全.zip_mostlygu4_蒙特卡洛matlab_蒙特卡洛代码_蒙特卡罗方法_蒙特卡罗网站

    《蒙特卡罗方法在MATLAB中的实现》 蒙特卡罗方法,源自统计学与概率论,是一种基于随机抽样或统计试验的数值计算方法。这种方法以概率和统计理论为基础,通过大量随机试验来解决问题,尤其适用于解决那些数学解析解...

    蒙特卡罗方法课件 非常好的蒙特卡罗方法PPT

    蒙特卡罗方法课件 蒙特卡罗方法PPT 包含的内容有:1.蒙特卡罗方法概述 2.随机数 3.由巳知分布的随机抽样 4.蒙特卡罗方法解粒子输运问题 5.蒙特卡罗方法在计算机上的实现 6.蒙特卡罗方法在通量计算中的应用 7.蒙特...

    蒙特卡罗方法模拟固态相变的晶粒长大过程

    采用蒙特卡罗方法模拟固态相变的晶粒长大过程,可以设置3D网格大小,蒙特卡罗步等参数,适用于模拟金属再结晶过程。(The simulation model of process in grain growth is provided by this code in matlab. The ...

    蒙特卡罗方法MCMC(里面有应用实例)

    "蒙特卡罗方法MCMC" 蒙特卡罗方法是一种计算方法,但与一般数值计算方法有很大区别。它以概率统计理论为基础,能够比较逼真地描述事物的特点及物理实验过程。解决一些数值方法难以解决的问题,因而该方法的应用领域...

    蒙特卡罗方法引论(相当不错)

    《蒙特卡罗方法引论》是一本深入探讨蒙特卡罗方法的优秀教材,适合对数值计算和随机模拟感兴趣的读者。蒙特卡罗方法,源于20世纪40年代的美国洛斯阿拉莫斯国家实验室,是一种利用随机数(或更准确地说是伪随机数)...

    学习蒙特卡罗方法的资料

    9. **高级主题**:可能涉及更复杂的技术,如马尔可夫链蒙特卡罗(MCMC)方法,用于后验概率分布的采样,以及 Importance Sampling 和 Quasi-Monte Carlo 方法等,这些技术能进一步提升蒙特卡罗方法的效率。...

    蒙特卡罗方法及其应用

    蒙特卡罗方法是一种基于随机抽样或统计试验的计算技术,它在众多科学和工程领域都有着广泛的应用。这种方法最初因二战时期在拉斯维加斯的赌博城市——蒙特卡罗而得名,因其赌博中随机事件的特性与算法的核心理念相似...

    蒙特卡罗方法及其应用.pdf

    蒙特卡罗方法是一种基于随机抽样的计算方法,它借助概率统计理论来解决各种数值计算问题,尤其适用于处理复杂的多维积分和优化问题。该方法最早由数学家尼古拉·梅特罗波利斯提出,并因其在第二次世界大战期间为...

    蒙特卡罗方法蒙特卡罗方法

    ### 蒙特卡罗方法在热传导模型中的应用 #### 背景与概念 蒙特卡罗方法是一种基于统计学的数值计算方法,它通过随机抽样或伪随机抽样来解决数学物理问题。这种方法特别适用于解决具有高维度、复杂边界条件或随机...

    蒙特卡罗方法入门教程

    蒙特卡罗方法入门教程 蒙特卡罗方法(MCM)是一种非确定性的数值方法,用于解决数学和物理问题。该方法通过寻找一个概率统计的相似体并用实验取样过程来获得该相似体的近似解。Monte Carlo 方法的应用有两种途径:...

    MonteCarlo 蒙特卡罗方法 Matlab源代码

    **蒙特卡罗方法**是一种基于随机抽样或统计试验的计算方法,广泛应用于物理、工程、金融、计算机科学等领域。这种方法充分利用了概率统计理论,通过大量随机抽样来求解复杂的数学问题,尤其适用于那些解析解难以获取...

    蒙特卡洛方法MATLAB实现,三重积分与二重积分

    蒙特卡洛方法实现三重积分与二重积分,北邮科学计算与编程作业

    matlab_基于PPP随机几何方法以及蒙特卡洛方法对蜂窝通信通信系统进行仿真

    在本文中,我们将深入探讨如何使用MATLAB进行蜂窝通信系统的仿真,重点是PPP(泊松点过程)随机几何方法和蒙特卡洛方法。这两种技术在无线通信领域被广泛用于理解和预测网络性能。 首先,我们需要理解PPP随机几何...

Global site tag (gtag.js) - Google Analytics