2012— 2013 学年第1 学期 合肥学院卓越工程师班 实验报告 课程名称: 工程应用数学B 实验名称: π的近似值计算 实验类别: 综合性 专业班级: 11级自动化卓越计划班 实验时间: 2012.10.12 组 别: 第八组 指导教师: 王贵霞 一. 小组成员(具体分工) 姓名 学号 具体分工 陆士明 1105011021 主要程序的编写 关俊宏 1105011042 案例分析与解决方案 周健 1 1105011034 对实验结果分析及汇总 二. 实验目的 通过计算π 的近似值,熟悉matlab 中关于级数的运算。 三. 实验内容 1:用级数来求π 的近似值; 2:在c 语言中求出π 的近似值; 四. 实验步骤(具体实施过程) 方案一:用级数来求π 的近似值 利用基于arctan x 的级数来算 的近似数: =161arctan5—41arctan239=16210011142121 239kkkkkkk 。 方案二:用级数求π 的近似值 利用高斯公式: =481arctan18+321arctan57—201arctan239计算 的近似值。 方案三:在c 语言中求出π 的近似值 在v isu al c++中输入程序,利用拉马努金公式: 1= 2298014404 !110326390396!nnnnn计算 的近似值。通过输入不同的n 的值得到不同精确度的π 的值。 五.实验程序(经调试后正确的源程序) 方案一:利用基于 arctan x 的级数来算 的近似数 >> clear; >> digits(160); >> syms x >> x=sym(0); >> for k=1:15 k x=x+sym(-1)^sym((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 x x=sym(0); for k=1:20 k x=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 #include double fun(int n) { double s1,s2=1.0,s3=1.0,s4,s; s1=(2*sqrt(2))/9801; int i; for(i=1;i<=n;i++) { s2=s2*i; } int j; for(j=1;j<=4*n;j++) { s3=s3*j; } s4=(1103+26390*n)/pow(396,4*n); s=s1*s3/pow(s2,4...