实验03 Π的计算

黔南民族师范学院数学系 数学实验

实验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 -

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4