欢迎来到天天文库
浏览记录
ID:47609800
大小:219.63 KB
页数:6页
时间:2019-10-01
《matlab 圆周率的近似计算 实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、开放性数学实验报告(2016/2017学年第2学期)题目:基于MATLAB的圆周率近似计算专业通信工程学生姓名杨坤冯著豪周李鑫班级学号B16011115B16011110B16011124指导教师赵礼峰指导单位南京邮电大学理学院日期2017/5/206/6MATLAB圆周率的近似计算B16011115杨坤B16011110冯著豪B16011124周李鑫摘要:圆周率(Pi)是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数。π也等于圆形之面积与半径平方之比。是精确计算圆周长、圆面积、球体积等几何形
2、状的关键值。在分析学里,π可以严格地定义为满足sinx=0的最小正实数x。计算圆周率一直是很多人的追求。在电子计算机还没有发明的时候就有很多先贤用各种方法计算了圆周率的近似值最著名的应该是祖冲之,他计算出了圆周率的位数达到了小数点后七位。该记录在世界范围内保持了八百年。之后圆周率的计算进入了分析法时期,这一时期人们开始利用无穷级数或无穷连乘积求π,摆脱可割圆术的繁复计算。无穷乘积式、无穷连分数、无穷级数等各种π值表达式纷纷出现,使得π值计算精度迅速增加。在分析法的基础上,电子计算机的出现使得圆周率的计算精度大幅提高。计算圆周率已经
3、成为评判超级计算机的性能指标的项目之一。如今个人计算机的性能也达到了一个极高的程度。学习使用计算机计算圆周率可以帮助我们更好地学习matlab同时对数学也会有更深的理解。关键词:圆周率计算;投点法;定积分计分法;幂级数;韦达公式一、问题分析计算圆周率有很多方法,不同方法之间自然也有好坏之分。在强大的计算机性能的支持下,我们能使用不同的方法计算圆周率并且感受不同方法孰优孰劣。首先我们需要了解不同的计算方法是怎么计算圆周率的,然后使用matlab编写代码帮助我们实现算法,计算出圆周率。二、实验方法1.投点法:投点法,顾名思义就是通过投
4、点计算圆周率。在一个边长为1的正方形里以1为半径画一个四分之一圆,再向正方形里投点,在概率的学习中我们知道,大量地向这个正方形中投点时,在投的点足够多的前提下,落在四分之一扇形里的点与投的所有点的个数之比应该为扇形与整个正方形的面积之比。扇形的面积为四分之一圆,即1/4*pi,正方形的面积为1.设投n个点,落在扇形里的点的个数为count即可推出pi=4*(count/n)。代码如下:count=0;ezplot('x^2+y^2=1',[0,1,0,1]),holdon,gridonn=10000;fori=1:1:nx=ran
5、d(1,1);y=rand(1,1);plot(x,y,'*'),holdon6/6pause(0.001)ifx^2+y^2<=1count=count+1;endendp=4*(count/n)投200个点时多次运行分别获得以下结果:3.36003.06003.18003.14003.1800可见这时所得的结果并不稳定,且结果并不精确于是继续实验投一千个点。6/6多次实验后得出以下结果3.10403.11203.22003.15203.05603.1280此时的精确度仍然不尽人意,于是我们直接投了一万个点此时得到了以下结果3.
6、13763.13553.14133.14153.14903.1457此时基本达到了两位小数的精确度于是我们更改投点个数得到以下结果投100000个点时:3.14153.14143.14143.1413当我们准备投更多点时发现投点法消耗太多计算机资源,已经无法投太多的点了。投点法计算圆周率利用了计算机的高性能,但是性能的使用效率并不太高。1.定积分积分法0111+x2dx=π4π=40111+x2dx将区间[0,1]分成n等份,在每个小区间上,选中点为ξi,使用积分的方法计算π的近似值。代码如下:n=50;%等分积分区间数。i=0:
7、1/n:1;s=0;fork=1:length(i)-1s=s+(1/(1+((i(k)+i(k+1))/2)^2))*1/n;endvpa(4*s,20)6/6设置不同的区间数,获得不同的近似值,对应关系如下:区间数50100200300400500600近似值3.14163.14163.14159473.141593573.141593173.141592983.14159288相比于投点法,该方法以较高的效率使用了计算机资源达到了更高的精度,当n=100,000,000时,精度达到了小数点后十二位。1.幂级数幂级数的方法有很
8、多,我们学习了使用arctan(x)的Maclaurin展开式计算π的近似值,π=4arctan1=4(1-13+15-…+-1n+12n-1+…代码如下n=10;%展开次数s=0;digits(50)%计算精度fork=1:ns=s+4*(-1)
此文档下载收益归作者所有