var amount = 0.0d;
var hitTheTargetCount = 0.0d;
var M = 2.0d;
var rnd=new Random();
for (int i = ; i < ; i++)
{
var x = rnd.NextDouble() * Math.PI;
var y = rnd.NextDouble() * M;
//Console.WriteLine("x:{0},y:{1}", x, y);
if (y <= Math.Sin(x))
{
hitTheTargetCount++;
}
amount++;
} var s = (hitTheTargetCount / amount) * M * Math.PI;
Console.WriteLine(s);

以上代码针对 sin(x) 0-pi 进行积分

积分int( sqrt(1-x^2),0,1)

        private void button1_Click(object sender, EventArgs e)
{
var amount = 0.0d;
var hitTheTargetCount = 0.0d;
var M = 1.0d;
var rnd=new Random();
for (int i = ; i < ; i++)
{
var x = rnd.NextDouble() * M;
var y = rnd.NextDouble() * M;
//Console.WriteLine("x:{0},y:{1}", x, y);
if (y <= Math.Sqrt(-Math.Pow(x,)))
{
hitTheTargetCount++;
}
amount++;
} var s = (hitTheTargetCount / amount) * M * M;
Console.WriteLine(s * );
} private void button2_Click(object sender, EventArgs e)
{
Func<double, double> func = (x) => { return (Math.Sqrt( - Math.Pow(x, ))); }; var n = ;
double h = 1.0d / n;
double sumx = ;
double sum = func(0.0); for (int i = ; i < n; i++)
{
sumx += h;
var factor = ((i % ) == ) ? : ;
//Console.WriteLine(i +":" + factor +"," + sumx);
sum += factor * func(sumx);
}
sum += func();
var v = * (sum * h) / ;
Console.WriteLine(v);
}

Monte Carlo 数值积分的更多相关文章

  1. Monte Carlo方法简介(转载)

    Monte Carlo方法简介(转载)       今天向大家介绍一下我现在主要做的这个东东. Monte Carlo方法又称为随机抽样技巧或统计实验方法,属于计算数学的一个分支,它是在上世纪四十年代 ...

  2. 增强学习(四) ----- 蒙特卡罗方法(Monte Carlo Methods)

    1. 蒙特卡罗方法的基本思想 蒙特卡罗方法又叫统计模拟方法,它使用随机数(或伪随机数)来解决计算的问题,是一类重要的数值计算方法.该方法的名字来源于世界著名的赌城蒙特卡罗,而蒙特卡罗方法正是以概率为基 ...

  3. PRML读书会第十一章 Sampling Methods(MCMC, Markov Chain Monte Carlo,细致平稳条件,Metropolis-Hastings,Gibbs Sampling,Slice Sampling,Hamiltonian MCMC)

    主讲人 网络上的尼采 (新浪微博: @Nietzsche_复杂网络机器学习) 网络上的尼采(813394698) 9:05:00  今天的主要内容:Markov Chain Monte Carlo,M ...

  4. Monte Carlo Approximations

    准备总结几篇关于 Markov Chain Monte Carlo 的笔记. 本系列笔记主要译自A Gentle Introduction to Markov Chain Monte Carlo (M ...

  5. (转)Markov Chain Monte Carlo

    Nice R Code Punning code better since 2013 RSS Blog Archives Guides Modules About Markov Chain Monte ...

  6. [其他] 蒙特卡洛(Monte Carlo)模拟手把手教基于EXCEL与Crystal Ball的蒙特卡洛成本模拟过程实例:

    http://www.cqt8.com/soft/html/723.html下载,官网下载 (转帖)1.定义: 蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数 ...

  7. Introduction to Monte Carlo Tree Search (蒙特卡罗搜索树简介)

    Introduction to Monte Carlo Tree Search (蒙特卡罗搜索树简介)  部分翻译自“Monte Carlo Tree Search and Its Applicati ...

  8. (转)Monte Carlo method 蒙特卡洛方法

    转载自:维基百科  蒙特卡洛方法 https://zh.wikipedia.org/wiki/%E8%92%99%E5%9C%B0%E5%8D%A1%E7%BE%85%E6%96%B9%E6%B3%9 ...

  9. Introduction To Monte Carlo Methods

    Introduction To Monte Carlo Methods I’m going to keep this tutorial light on math, because the goal ...

随机推荐

  1. 玩转单元测试之WireMock -- Web服务模拟器

    玩转单元测试之WireMock -- Web服务模拟器 WireMock 是一个灵活的库用于 Web 服务测试,和其他测试工具不同的是,WireMock 创建一个实际的 HTTP服务器来运行你的 We ...

  2. Embed dll Files Within an exe (C# WinForms)—Winform 集成零散dll进exe的方法

    A while back I was working on a small C# WinForms application in Visual Studio 2008. For the sake of ...

  3. 自动化脚本过程中出现This element neither has attached source nor attached Javadoc...的解决方法

    This element neither has attached source nor attached Javadoc and hence no Javadoc could be found Ec ...

  4. C#算法之向一个集合中插入随机不重复的100个数

    一道非常经典的C#笔试题: 需求:请使用C#将一个长度为100的int数组,插入1-100的随机数,不能重复,要求遍历次数最少. 1.最简单的办法 var rd = new Random(); Lis ...

  5. c# & Fizzler to crawl web page in a certain website domain

    使用fizzler [HtmlAgilityPackExtension]和c#进行网页数据提取:fizzler是HtmlAgilityPack的一个扩展,支持jQuery Selector: 提取数据 ...

  6. linq 对Sum()函数的支持

    首先看一段SQL语句: SELECT SUM(TASKAPPR) AS APPRCOUNT, SUM(TASKLOCKED) AS LOCKEDCOUNT, SUM(TASKCHECKED) AS C ...

  7. Add Binary <leetcode>

    Given two binary strings, return their sum (also a binary string). For example,a = "11"b = ...

  8. redis cluster搭建

    一 .准备文件: Ruby :http://www.ruby-lang.org/en/downloads/    redis-3.0.5.tar.gz Redis:http://www.redis.c ...

  9. __iter__

    [__iter__] 如果一个类想被用于for ... in循环,类似list或tuple那样,就必须实现一个__iter__()方法,该方法返回一个迭代对象,然后,Python的for循环就会不断调 ...

  10. 【Tyvj1601】魔兽争霸(主席树,树套树)

    题意:要求在N个数的序列中支持以下操作: 1:将第X个元素加上Y 2:询问当前K大值 n<=30000,m<=50000 思路:树状数组套主席树 Tyvj又炸了,还不知道对不对 ..12] ...