全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java 蒙特卡洛算法求圆周率近似值实例详解

起源

 [1946: John von Neumann, Stan Ulam, and Nick Metropolis, all at the Los Alamos Scientific Laboratory, cook up the Metropolis algorithm, also known as the Monte Carlo method.]1946年,美国拉斯阿莫斯国家实验室的三位科学家John von Neumann,Stan Ulam 和 Nick Metropolis共同发明,被称为蒙特卡洛方法。它的具体定义是:在广场上画一个边长一米的正方形,在正方形内部随意用粉笔画一个不规则的形状,现在要计算这个不规则图形的面积,怎么计算列?蒙特卡洛(Monte Carlo)方法告诉我们,均匀的向该正方形内撒N(N 是一个很大的自然数)个黄豆,随后数数有多少个黄豆在这个不规则几何形状内部,比如说有M个,那么,这个奇怪形状的面积便近似于M/N,N越大,算出来的值便越精确。在这里我们要假定豆子都在一个平面上,相互之间没有重叠。(撒黄豆只是一个比喻。)

特点

蒙特卡洛方法的伟大之处,在于对精确性问题无法解决的时候,利用“模拟”的思想来求解。 在各个领域得以应用。本质是模拟(simulation): 利用大量随机输入,产生各种输出;结果的概率分布就是真实分布的“近似”。所以,输入的分布是否随机(目前计算机所能做的就是伪随机,并不能产生真正的随机分布),这个过程我们成为Sampling Random Variables。

计算圆周率近似值代码:

package com.xu.main; 
import java.util.Scanner; 
public class P9_1 { 
 static double MontePI(int n) { 
  double PI; 
  double x, y; 
  int i, sum; 
  sum = 0; 
  for (i = 1; i < n; i++) { 
   x = Math.random(); 
   y = Math.random(); 
   if ((x * x + y * y) <= 1) { 
    sum++; 
   } 
  } 
  PI = 4.0 * sum / n; 
  return PI; 
 } 
 public static void main(String[] args) { 
  int n; 
  double PI; 
  System.out.println("蒙特卡洛概率算法计算圆周率:"); 
  Scanner input = new Scanner(System.in); 
  System.out.println("输入点的数量:"); 
  n = input.nextInt(); 
  PI = MontePI(n); 
  System.out.println("PI="+PI); 
 } 
} 

输出:

蒙特卡洛概率算法计算圆周率:
输入点的数量:
9999999
PI=3.1417975141797516

总结

以上就是本文关于蒙特卡洛算法起源及特点的简介,还有如何利用这种算法思路在Java编程中求圆周率的近似值实例,希望对大家有所帮助。喜欢的朋友请继续关注!


# java  # 蒙特卡洛算法求圆周率  # Java利用蒙特卡洛方法求解圆周率π值  # Java简单计算圆周率完整示例  # Java小程序计算圆周率代码  # java中怎样表示圆周率  # 蒙特  # 卡洛  # 是一个  # 在这里  # 在这个  # 都在  # 之处  # 相互之间  # 数数  # 告诉我们  # 被称为  # 美国  # 越大  # 只是一个  # 并不能  # 能做  # 一米  # 拉斯  # 性问题  # 画一 


相关文章: 建站之星后台管理系统如何操作?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何在Golang中使用replace替换模块_指定本地或远程路径  电商平台网站制作流程,电商网站如何制作?  金*站制作公司有哪些,金华教育集团官网?  济南专业网站制作公司,济南信息工程学校怎么样?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  三星网站视频制作教程下载,三星w23网页如何全屏?  山东云建站价格为何差异显著?  南宁网站建设制作定制,南宁网站建设可以定制吗?  如何用AWS免费套餐快速搭建高效网站?  学校为何禁止电信移动建设网站?  如何快速启动建站代理加盟业务?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  长沙做网站要多少钱,长沙国安网络怎么样?  C#如何在一个XML文件中查找并替换文本内容  个人摄影网站制作流程,摄影爱好者都去什么网站?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  网站制作员失业,怎样查看自己网站的注册者?  如何在万网自助建站中设置域名及备案?  如何正确选择百度移动适配建站域名?  建站主机服务器选购指南:轻量应用与VPS配置解析  官网建站费用明细查询_企业建站套餐价格及收费标准指南  山东网站制作公司有哪些,山东大源集团官网?  如何在阿里云部署织梦网站?  如何在腾讯云免费申请建站?  如何通过IIS搭建网站并配置访问权限?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  高防服务器:AI智能防御DDoS攻击与数据安全保障  如何使用Golang table-driven基准测试_多组数据测量函数效率  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  TestNG的testng.xml配置文件怎么写  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  Android使用GridView实现日历的简单功能  小程序网站制作需要准备什么资料,如何制作小程序?  c# 在高并发场景下,委托和接口调用的性能对比  怎么将XML数据可视化 D3.js加载XML  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何快速生成可下载的建站源码工具?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  建站之星北京办公室:智能建站系统与小程序生成方案解析  如何获取开源自助建站系统免费下载链接?  代刷网站制作软件,别人代刷火车票靠谱吗?  建站之星导航如何优化提升用户体验?  如何用搬瓦工VPS快速搭建个人网站?  宝塔面板如何快速创建新站点?  建站之星导航配置指南:自助建站与SEO优化全解析  网页设计与网站制作内容,怎样注册网站?  如何高效利用200m空间完成建站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。