圆周率的几种C语言编程代码_第1页
圆周率的几种C语言编程代码_第2页
圆周率的几种C语言编程代码_第3页
圆周率的几种C语言编程代码_第4页
圆周率的几种C语言编程代码_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算兀的方法、蒙特卡罗法Monte Carlo )蒙特卡洛方法是一种以概率统计理论为指导的一类非常重要的数值计算方法。蒙特卡罗是摩纳哥公国的一座城市(赌城)。 Buffon投针就是蒙特卡洛方 法的思想,但是Buffon是蒙特卡洛方法的起源。蒙特卡洛方法同样可以通过随 机通过产生随机数的方式来解决计算问题。比如估算和计算不规则图形的面 积。n = 3000.7r=i 3.11330.00.2040.60.81.0图1蒙特卡罗方法模拟这种方法是一种利用计算机随机数的功能基于“随机数”的算法,通过计 算落在单位圆内的点与落在正方形内的点的比值求 PI。图2蒙特卡罗方法由于图形的对称性,我们靠考虑该图

2、的四分之一部分。假定一点能够均匀地扔到一个正方形中,计算落入其中的点个数。通过计数其中落入内切圆的点 的个数;如果一共投入N个点,其中有M个落入圆中,则只要点均匀,假定圆周的 半径为R,则:A/ _ 开# 即M, 即万一4* 式(1)该方法得到的要得到冗的精度与投入点的个数有关,一般个数较大时精度比较高。写出来你的代码实际测试结果(10 Marks )表1蒙特卡罗方法实际测试结果次数10102103104105106107108109计算值运行时间(ms)误差、数学公式(级数)由数学公式:写出来你的代码实际测试结果(10 M表2级数方法实larks)际测试结果次数101021031041051

3、06107108109计算值运行时间(ms)误差三、划分网格计算兀图5蒙特卡罗示例代码将图片分为n*n个小方形,统计落在圆内的个数占所有方形的比例。10110 a10s10*廿3 163 141031415493.141M06ZJ.141 湖期3 141的2曲演圜3 14150刘$真时3 彳俏写出来你的代码实际测试结果(10 Marks )表3网格划分方法实际测试结果次数10102103104105106107108109计算值运行时间(ms)误差Appendix 时间统计方法一:clock统计在待测试程序的开始部分和结束部分分别加入clock统计,两个之间的差值就是该部分代码运行时间。需要注

4、意的是Windows下和Linux下头文件不一样方法二:系统API精确统计时间Windows和Linux下均有精确计时方法。在Windows下可以用系统提供的API 函数 QueryPerformanceFrequency 和 QueryPerformanceCounter 来进 行高精度的计时,现在的机器基本上都提供这种高精度的计时啦,所以不用担 心。利用该函数可以精确的计时到微妙级别。QueryPerformanceFrequency。可以得到 CPU勺时钟频率。QueryPerformanceCounter() 可以通过两次的差值来得到 CPU勺时钟周期 差值。这样就可以计算出两次差值之

5、间所花费的时间,当然这里计算出来的时间 是秒,一般都换算为毫秒或者微秒来表示。gettimeofday精确到微秒级别计时函数 int gettimeofday(structtimeval *tv,struct timezone *tz);说明:gettimeofday 将时间保存在结构 tv 之中,strut timeval gives the number of seconds and microsecondssince the Epoch , (00:00:00 UTC, January 1, 1970), measured inmicroseconds. tz( 即 timezone ,彳艮少用至U )般我们使用 null来代替。保存时间的结构体strut

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论