数学实验报告2圆周率的计算mathematica.docx

上传人:b****2 文档编号:3484792 上传时间:2023-05-05 格式:DOCX 页数:8 大小:164.75KB
下载 相关 举报
数学实验报告2圆周率的计算mathematica.docx_第1页
第1页 / 共8页
数学实验报告2圆周率的计算mathematica.docx_第2页
第2页 / 共8页
数学实验报告2圆周率的计算mathematica.docx_第3页
第3页 / 共8页
数学实验报告2圆周率的计算mathematica.docx_第4页
第4页 / 共8页
数学实验报告2圆周率的计算mathematica.docx_第5页
第5页 / 共8页
数学实验报告2圆周率的计算mathematica.docx_第6页
第6页 / 共8页
数学实验报告2圆周率的计算mathematica.docx_第7页
第7页 / 共8页
数学实验报告2圆周率的计算mathematica.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数学实验报告2圆周率的计算mathematica.docx

《数学实验报告2圆周率的计算mathematica.docx》由会员分享,可在线阅读,更多相关《数学实验报告2圆周率的计算mathematica.docx(8页珍藏版)》请在冰点文库上搜索。

数学实验报告2圆周率的计算mathematica.docx

数学实验报告2圆周率的计算mathematica

数学实验报告2-圆周率的计算-mathematica

数学实验报告

实验序号:

2日期:

2016年月日

班级

姓名

学号

实验

名称

圆周率π的计算

问题背景描述:

圆周率是指一个圆的周长与其直径的比值。

古今中外,许多人致力于圆周率的研究。

回顾历史,人类对π的认识过程,反映了数学和计算技术发展情形的一个侧面。

π的研究,在一定程度上反映着这个地区或时代的数学水平。

德国数学家康托说:

“历史上一个国家所算得的圆周率的准确程度,可以作为衡量这个国家当时数学发展水平的指标。

实验环境:

学校机房、Mathematica4.0软件、PrintScreen软件

实验目的:

首先在Mathematica环境中用多种方法计算圆周率

的值,通过实验来体会各种方法的区别,比较各种方法的优劣,接着尝试自己提出新的方法来计算圆周率

的值。

4.结果分析:

当数值积分法得到的近似值为3.14159265358979323846264338328,

可以看出,用这种方法计算所得到的值是相当精确的,n越大,计算出来的扇形面积的近似值就越接近的准确值。

二、泰勒级数法计算

利用反正切函数的泰勒级数

来计算

命令:

T[x_,n_]:

=Sum[(-1)^k*x^(2k+1)/(2k+1),{k,0,n}];

N[4*T[1,20000],20]//Timing

T[x_,n_]:

=Sum[(-1)^k*x^(2k+1)/(2k+1),{k,0,n}];

Print[N[4*(T[1/2,260]+T[1/3,170]),150]];

Print[N[16*(T[1/5,110]-4*T[1/239,30]),150]];

Print[N[Pi,150]]

运行结果:

 

结果分析:

从实验过程可以看出,这种方法花费的时间很长。

原因是当x=1时得到的的展开式收敛太慢。

要使泰勒级数收敛得快,容易想到,应当使x的绝对值小于1,最好是远比1小。

例如,因为,所以我们可以计算出

的值,从而得到

的值。

这样,就使得收敛速度加快。

改进后可以看出,泰勒级数法得到的结果比数值分析法精确到小数点后更多位。

三、蒙特卡罗法计算

在数值分析法中,我们利用求单位圆的1/4面积来得到,从而得到。

单位圆的1/4是一个扇形,它是边长为1的单位正方形的一部分,单位正方形的面积。

只要能够求出扇形的面积

在正方形的面积中所占的比例,就能立即得到,从而得到

的值。

下面的问题归结为如何求

的值,这就用到了一种利用随机数来解决此种问题的蒙特卡罗法,其原理就是在正方形中随机的投入很多点,是所投的每个点落在正方形中每一个位置的机会均等,看其中有多少个点落在扇形内。

降落在扇形内的点的个数与所投店的总数的比可以近似的作为

的近似值。

命令:

n=10000;p={};

Do[m=0;

Do[x=Random[];y=Random[];

If[x^2+y^2<=1,m++],{k,1,n}];

AppendTo[p,N[4m/n]],{t,1,10}];

Print[p];

Sum[p[[t]],{t,1,10}]/10

运行结果:

结果分析:

从运行结果来看,蒙特卡罗法的计算结果为3.14668,虽然精确度不太高,但运行时间短,在很多场合下,特别是在对精确度要求不高的情况下很有用的。

步骤四、针对步骤三提出疑问:

步骤三中我们发现当n=10000时,蒙特卡罗法的计算结果为3.14668,精确度不太高,那么对n取不同的值,所得结果的精确度会不会有变化?

假如有变化,会有什么变化呢?

猜想:

对n取不同的值,所得结果的精确度应该会有变化,且当n值越大,所得结果越精确。

当n=100000时

命令:

n=100000;p={};

Do[m=0;

Do[x=Random[];y=Random[];

If[x^2+y^2<=1,m++],{k,1,n}];

AppendTo[p,N[4m/n]],{t,1,10}];

Print[p];

Sum[p[[t]],{t,1,10}]/10

运行结果:

当n=1000000时

命令:

n=1000000;p={};

Do[m=0;

Do[x=Random[];y=Random[];

If[x^2+y^2<=1,m++],{k,1,n}];

AppendTo[p,N[4m/n]],{t,1,10}];

Print[p];

Sum[p[[t]],{t,1,10}]/10

运行结果如下

结果分析:

从运行结果来看,随着n的增加,运行时间明显变长,用蒙特卡罗算法所求结果越精确,与猜想一致。

四、实验总结

利用数值方法计算

,在n的不同取值下精度都很大,随着n值的增加计算所需时间也在增加;相比数值方法,Taylor级数收敛法需要花费更多的时间用于计算,所得精度也更高;而蒙特卡罗方法相比上述两个,运行速度最快,但精度不高。

综上,这三种方法都可以较为准确地计算出

值,考虑日常生活中的实用性,蒙特卡洛方法具有耗时短效率高的特点,更适合低精度要求下的计算。

教师评语:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2