
用MATLAB近似计算pi的报告.docx
6页2012—2013学年第1学期合肥学院卓越工程师班课程名称: 实验名称: 实验类别: 专业班级: 实验时间: 组 别: 指导教师:工程应用数学B综合性11级自动化卓越计划班2012.10.12第八组王贵霞—•小组成员(具体分工)姓名学号具体分工陆士明1105011021主要程序的编写关俊宏1105011042案例分析与解决方案周健 11105011034对实验结果分析及汇总二.实验目的通过计算n的近似值,熟悉matlab中关于级数的运算三.实验内容1:用级数来求n的近似值;2:在c语言中求出n的近似值;四.实验步骤(具体实施过程)方案一:用级数来求n的近似值 利用基于arctanx的级数来算 的近似数:1 1 1 k 1 k 1=16 arctan 4 arctan =16 45 239 2k 1 2k 1 239 2k 1k 0 k 00方案―:用级数求n的近似值利用高斯公式:=48 arc tan +32 arc tan 20 arc tan 计算 的近似值18 57 239方案二:在C语言中求出n的近似值在visual c中输入程序,利用拉马努金公式:丄=座 正 1103 26390 n计算 的近似值。
通过输入不同的n的值得到不同精确9801 n ! 4 396 4nn 0 '度的n的值五•实验程序(经调试后正确的源程序)方案一:利用基于arctan x的级数来算的近似数>> clear;>> digits(160);>> syms x>> x=sym(O);>> for k=1:15kx=x+sym(-1)Asym((k)-sym(1))/(sym(2)*sym(k)-sym(1))*(sym(16)/sym(5)人(sym(2)*sym(k)-sym(1))-sym(4 )/sym(239)人(sym(2)*sym(k)-sym(1)));vpa(x,40)vpa(vpa(pi,60)-x,5)end方案二:利用高斯公式clear;digits(160);syms xx=sym(0);for k=1:20kx=x+sym(-1)人(sym(k)-sym(1))/(sym(2)*sym(k)-sym(1))*(sym(48)/sym(18)人(sym(2)*sym(k)-sym(1))+sym(32)/sym(57)人(sym(2)*sym(k)-sym(1))-sym(20)/sym(239)人(sym(2)*sym(k)-sym(1)));vpa(x,40)vpa(vpa(pi,60)-x,5)End方案三:在visual C++中利用拉马努金公式#include vstdio.h>#include
k =1ans =3.183263598326359832635983263598326359833ans =-0.041671k =2ans =3.14059702932606031430453110657922889815ans =0.00099562k =3ans =3.141621029325034425046832517116408069706ans =-0.000028376k =4ans =3.141591772182177295018212291112329795027ans =8.8141e-7k =5ans =3.14159268240439951724025983607357586049ans =-2.8815e-8k =6ans =3.141592652615308608149350747666502755367ans =9.7448e-10k =7ans =3.141592653623554761995504593820311845927ans =-3.3762e-11k =8ans =3.141592653588602228662171260486978513156ans =1.191e-12k =9ans =3.141592653589835847485700672251684395509ans =-4.2609e-14k =10ans =3.141592653589791696917279619620105448141ans =1.5415e-15k =11ans =3.141592653589793294747374857715343543379ans =-5.6285e-17k =12ans =3.141592653589793236391840944671865282509ans =2.0708e-18k =13ans =3.141592653589793238539324592671865282509ans =-7.6681e-20k =14ans =3.141592653589793238459788161264457875102ans =2.8552e-21k =15ans =3.14159265358979323846275020767549235786ans =-1.0682e-22从结果看取15项部分和就可以精确到第21位小数。
七•总结(围绕心得体会、创新之处、改进方案等方面)心得体会:对于n的值我们早已知晓,但是对于这个数值如何得到却不清楚通过这 次学习,我们知道原来计算n的值有如此多的方法,并且知道了级数在一些计算中的作 用通过本次实验,我们知道了运用arctan x、高斯公式和拉马努金公式计算n的近似值, 不仅知道了 matlab中关于级数的运算,也对以往C++的知识做了一下复习,一举两得啊! 创新之处:对于n的近似计算,本来就有很多方法,本次实验我们也运用了三种计算 n近似值的方法八.教师评语教师签名:。
