蒙特卡洛算法
来源:互联网 发布:name.com 域名不能转出 编辑:程序博客网 时间:2024/04/29 04:25
个人理解:蒙特卡洛算法是一种随机化的模拟统计算法,运用广泛,具体可百度;
适用情况:要求精度不高,时间复杂度要求不高,但精确算法的实现较复杂时,蒙特卡洛算法是一个比较好的选择;
基本模板:
#include<iostream>#include<cstdio>#include<cmath>#include<ctime>#include<cstdlib>using namespace std;const int maxn=1000000;double Rand(const double &L, const double &R){ return L + (R - L) * rand() / 32767;}int main(){ srand(time(NULL)); double l=1,r=10; printf("%lf\n",Rand(l,r));//随机生成l~r的数 return 0;}
比较经典的算法有 用蒙特卡洛算法求圆周率
#include<iostream>#include<cstdio>#include<cmath>#include<ctime>#include<cstdlib>using namespace std;#define RANM RAND_MAXconst int maxn=1000000;//枚举次数越多越精确double Rand(const double &L, const double &R){ return L + (R - L) * rand() *1.0 / RANM;}int main(){ srand(time(NULL)); double x,y; double s=0;//在圆内的点的个数 for(int i=0; i<maxn; i++) //做一百万次投针试验 { x=Rand(-100,100); y=Rand(-100,100); if(x*x+y*y< 10000) s++; } printf("PI=%lf\n",4*s/maxn); return 0;}
1 0
- 数模算法-蒙特卡洛算法
- 蒙特卡洛算法
- 蒙特卡洛算法
- 蒙特卡洛算法
- 蒙特卡洛算法
- 蒙特卡洛算法
- 蒙特卡洛算法
- 蒙特卡洛算法
- 蒙特卡洛算法
- Java算法 概率算法(蒙特卡洛概率算法求圆周率)
- Java算法 概率算法(蒙特卡洛概率算法求圆周率)
- 十大算法包含蒙特卡洛算法
- MCMC-蒙特卡洛算法
- 蒙特卡洛算法简单应用
- MCMC-蒙特卡洛算法
- 蒙特卡洛算法及其实现
- Monte Carlo , 蒙特卡洛算法
- 蒙特卡洛算法思想介绍
- ENCTYPE="multipart/form-data"
- 关于Chrome V8引擎“BadKernel”漏洞情况的通报
- JSON编码格式提交表单数据详解
- Android设置横屏或竖屏
- Linux配置Maven
- 蒙特卡洛算法
- BAT文件语法和技巧(bat文件的编写及使用)(转载一)
- 一个学习自然语言处理的好网站
- 万佛山
- Spring整合JMS(二)——三种消息监听器
- LayoutParams—— WindowManager.LayoutParams
- CreateProcess并隐藏窗口
- JS中 map, filter, some, every, forEach, for in, for of 用法总结
- 利用Hog特征和SVM分类器进行行人检测