matlab-圆周率的近似计算-实验报告(共6页).docx

上传人:飞****2 文档编号:14114288 上传时间:2022-05-02 格式:DOCX 页数:6 大小:212.75KB
返回 下载 相关 举报
matlab-圆周率的近似计算-实验报告(共6页).docx_第1页
第1页 / 共6页
matlab-圆周率的近似计算-实验报告(共6页).docx_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《matlab-圆周率的近似计算-实验报告(共6页).docx》由会员分享,可在线阅读,更多相关《matlab-圆周率的近似计算-实验报告(共6页).docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上开放性数学实验报告(2016 / 2017学年 第 2学期)题 目:基于MATLAB的圆周率近似计算专 业 通信工程 学生姓名 杨 坤 冯著豪 周李鑫 班级学号 B B B 指导教师 赵礼峰 指导单位 南京邮电大学理学院 日 期 2017/5/20 MATLAB圆周率的近似计算B 杨 坤 B 冯著豪 B周李鑫摘要:圆周率(Pi)是圆的周长与直径的比值,一般用希腊字母表示,是一个在数学及物理学中普遍存在的数学常数。也等于圆形之面积与半径平方之比。是精确计算圆周长、圆面积、球体积等几何形状的关键值。 在分析学里,可以严格地定义为满足sin x = 0的最小正实数x。计算圆

2、周率一直是很多人的追求。在电子计算机还没有发明的时候就有很多先贤用各种方法计算了圆周率的近似值最著名的应该是祖冲之,他计算出了圆周率的位数达到了小数点后七位。该记录在世界范围内保持了八百年。之后圆周率的计算进入了分析法时期,这一时期人们开始利用无穷级数或无穷连乘积求,摆脱可割圆术的繁复计算。无穷乘积式、无穷连分数、无穷级数等各种值表达式纷纷出现,使得值计算精度迅速增加。在分析法的基础上,电子计算机的出现使得圆周率的计算精度大幅提高。计算圆周率已经成为评判超级计算机的性能指标的项目之一。如今个人计算机的性能也达到了一个极高的程度。学习使用计算机计算圆周率可以帮助我们更好地学习matlab同时对数

3、学也会有更深的理解。关键词:圆周率计算;投点法;定积分计分法;幂级数;韦达公式一、 问题分析计算圆周率有很多方法,不同方法之间自然也有好坏之分。在强大的计算机性能的支持下,我们能使用不同的方法计算圆周率并且感受不同方法孰优孰劣。首先我们需要了解不同的计算方法是怎么计算圆周率的,然后使用matlab编写代码帮助我们实现算法,计算出圆周率。二、 实验方法1. 投点法:投点法,顾名思义就是通过投点计算圆周率。在一个边长为1的正方形里以1为半径画一个四分之一圆,再向正方形里投点,在概率的学习中我们知道,大量地向这个正方形中投点时,在投的点足够多的前提下,落在四分之一扇形里的点与投的所有点的个数之比应该

4、为扇形与整个正方形的面积之比。扇形的面积为四分之一圆,即1/4*pi,正方形的面积为1.设投n个点,落在扇形里的点的个数为count即可推出pi=4*(count/n)。代码如下:count=0;ezplot(x2+y2=1,0,1,0,1),hold on ,grid onn=10000;for i=1:1:nx=rand(1,1);y=rand(1,1);plot(x,y,*),hold onpause(0.001)if x2+y2=1count=count+1;endendp=4*(count/n)投200个点时多次运行分别获得以下结果:3.3600 3.0600 3.1800 3.14

5、00 3.1800可见这时所得的结果并不稳定,且结果并不精确于是继续实验投一千个点。多次实验后得出以下结果3.1040 3.1120 3.2200 3.1520 3.0560 3.1280此时的精确度仍然不尽人意,于是我们直接投了一万个点此时得到了以下结果3.1376 3.1355 3.1413 3.1415 3.1490 3.1457此时基本达到了两位小数的精确度于是我们更改投点个数得到以下结果投个点时:3.1415 3.1414 3.1414 3.1413当我们准备投更多点时发现投点法消耗太多计算机资源,已经无法投太多的点了。投点法计算圆周率利用了计算机的高性能,但是性能的使用效率并不太高

6、。2. 定积分积分法0111+x2dx=4 =40111+x2dx将区间0,1分成n等份,在每个小区间上,选中点为i,使用积分的方法计算的近似值。代码如下:n=50;%等分积分区间数。i=0:1/n:1;s=0;for k=1:length(i)-1s=s+(1/(1+(i(k)+i(k+1)/2)2)*1/n;end vpa(4*s,20)设置不同的区间数,获得不同的近似值,对应关系如下:区间数 50100200300400500600近似值3.14163.14163.3.3.3.3.相比于投点法,该方法以较高的效率使用了计算机资源达到了更高的精度,当n=100,000,000时,精度达到了

7、小数点后十二位。3. 幂级数幂级数的方法有很多,我们学习了使用arctan(x)的Maclaurin展开式计算的近似值,=4arctan1=4(1-13+15-+-1n+12n-1+代码如下n=10; %展开次数s=0;digits(50) %计算精度for k=1:ns=s+4*(-1)(k+1)/(2*k-1);endvpa(s,20)改变n的值,计算不同情况下得出的圆周率近似值n10100100010000近似值3.04183.3.140593.3.97该计算方法能比较准确地得出较高精度的圆周率的近似值4. 韦达公式根据韦达在1593年给出的公式 2=22*2+22*代码如下:a=sqr

8、t(2); s=1; n=100for i=1:ns=(s*a)/2; a1=sqrt(2+a); a=a1; end vpa(2/s,20) 使用该算法计算圆周率的近似值时,n与所得的近似值如下:n101001000Pi3.3.3.事实上,当n为100时所算出的圆周率精度已经超过了小数点后100位,可见其计算精度之高,效率之快。一下列出n=100时所得结果精确到100位的输出值:3. 三、实验感想圆周率的近似计算一直是一种挑战,经过这次研究,我们更加深刻地体会到了数学的魅力,同时也对matlab更加熟悉。在不断的学习中,我们成长了很多。参考文献:【1】 杨振华,郦志新数学实验北京:科学技术出版社,2010.2【2】 赵洪牛高等数学北京:高等教育出版社【3】 百度百科:圆周率专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁