黔南民族师范学院数学系 数学实验
实验3 π的计算
实验目的:
1.掌握数学实验的方法和过程,学会撰写数学实验报告;
2.掌握π的几种计算方法和思想,并能用其中的一些思想方法计算e;
实验内容:
1.描述刘徽割圆术计算π的原理、方法和计算步骤,并编写实现计算的函数式M文件。采取不同的分割计算π的近似值,并将计算的结果与较准确的π值进行比较,对算法进行分析。
2.编写采用级数展开式
??4?(?1)i?1?n?1?11?11? 和 ??4?(?1)n?1 ??2n?12n?1?2n?12n?123??i?1计算π的函数式M文件。调用编写的程序,尝试n取不同整数以求π的近似值,并将计算的结果与较准确的π值进行比较,对算法进行分析和比较。
3.描述Monte Carlo方法计算π的原理、方法和计算步骤,并编写实现计算的函数式M文件。调用编写的程序计算π的近似值,并将计算的结果与较准确的π值进行比较,并对算法进行分析。
4.给出两种计算超越数e的方法,并通过数值计算实验进行算法分析。 实验仪器与软件:
1.CPU主频在2GHz以上,内存在512Mb以上的PC;
2.Matlab 2010a及以上版本。 实验讲评:
实验成绩:
评阅教师: 20 年 月 日
班级:10级数应(1)班 姓名:王勇 学号: 2010051214 - 1 -
黔南民族师范学院数学系 数学实验
实验3 π的计算
一、计算π的刘徽割圆术
原理:用圆的内接正多边形逼近圆周从而导出圆周率;方法及步骤:他从单位圆的内接正六边形开始,逐步成倍地增加正多边形的边数。那么内接正多边形的面积就越来越接近单位圆的面积,其数值也就越接近圆周率。
实现计算的函数式M文件程序如下: 使用MATLAB,创建文件calpi1.m: function calpi1(n) a(1)=1; for i=1:n-1
a(i+1)=sqrt(2-sqrt(4-a(i)^2)); end
s=3*2^(n-1)*a(n)
运行结果:
分析结果:说明n=16时比n=5时,精确得多,但当n大于16后,随着n的增大误差反而越来越大。
经改进,程序如下:
班级:10级数应(1)班 姓名:王勇 学号: 2010051214 - 2 -
黔南民族师范学院数学系 数学实验
function calpi(n)
a(1)=sym(1); %设为符号对象 for i=1:n-1
a(i+1)=sym(sqrt(2-sqrt(4-a(i)^2))); %设为符号对象 end
s=3*2^(n-1)*a(n); vap(s,50)
二、运用级数展开式计算π (1)??4?(?1)n?1i?1?1 2n?1实现计算的函数式M文件程序如下: 使用MATLAB,创建文件calpi2.m: function calpi2(n) s=0; for i=1:n if mod(I,2)==0 s=s-1/(2*i-1);
班级:10级数应(1)班 姓名:王勇 学号: 2010051214 - 3 -
黔南民族师范学院数学系 数学实验
else
s=s+1/(2*i-1); end end s=4*s 运行结果:
分析结果:n越大,收敛越好,但都只有4位有效数字。我们尝试改变算法。
(2)用??4?(?1)n?1i?1?1?11????求π。
2n?1?22n?132n?1?实现计算的函数式M文件程序如下: 使用MATLAB,创建文件calpi3.m: function calpi3(n) s=0; for i=1:n if mod(i,2)==0
班级:10级数应(1)班 姓名:王勇 学号: 2010051214 - 4 -
相关推荐: