mathematica数学实验报告 实验二

合集下载

13级数学(3)班,高继红,201370010307

13级数学(3)班,高继红,201370010307

数学实验报告二题目:利用Mathematica计算圆周率π的值学院:数学与统计学院专业:数学与应用数学班级: 2013级数学三班学生姓名:高继红学号: 201370010307指导教师:张贵仓数学实验报告(二)一.实验题目:圆周率π的计算二.实验目的:1.用多种方法计算圆周率错误!未找到引用源。

的值;2.通过实验来说明各种方法的优劣;三.实验环境:在Windows 环境,利用Mathematica7.0这个数学软件四.实验内容1.运用数值积分法来近似计算π的值;2.运用泰勒级数来近似计算π的值;3.利用蒙特卡洛(Monte Carlo )法来近似计算π的值。

五.实验方法1.数值积分法 利用公式⎰+=102114dx x π设分点x 1,x 2,…x n-1将积分区间[0,1]分成n 等分。

所有的曲边梯形的宽度都是h=1/n 。

记yi=f(xi).则第i 个曲边梯形的面积A 近似地等于梯形面积,即:A=(y(i-1)+yi)h/2。

将所有这些梯形面积加起来就得到:A ≈2/n[2(y 1+y 2+…y n-1)+y 0+y n ]利用Mathematica 编程计算上式:n=5000;Y[x]:=4/(1+x*x);s1=(sum[y[k/n],{k,1,n-1}]+(y[0]+y[1])/2)/n;s2=(y[0]+y[1]+2*sum[y[k/n],{k,1,n-1}]+4*sum[y[(k-1/2)/n],{k,1,n}])/(6*n);Print[{N[s1,20],N[s2,30],N[Pi,30]}]实验结果:{0.00020000000000000000000 (sum[y[0.00020000000000000000000 k], {k,1.0000000000000000000,4999.0000000000000000}]+0.50000000000000000000 (y[0]+y[1.0000000000000000000])),0.0000333333333333333333333333333333(4.00000000000000000000000000000 sum[y[0.000200000000000000000000000000000(-0.500000000000000000000000000000+k)],{k,1.00000000000000000000000000000,5000.00000000000000000000000000}]+2.00000000000000000000000000000sum[y[0.000200000000000000000000000000000 k],{k,1.00000000000000000000000000000,4999.00000000000000000000000000}]+y[0]+y[1.00000000000000000000000000000]),3.14159265358979323846264338328}以上s1,s2分别是用梯形公式和辛普森公式计算出的 ,最后一句中的N[s1,20]表示s1的前20位准确有效数字组成的近似值,N[Pi,30]是 的前 位有效数字组成的近似值。

mathematica数学实验报告

mathematica数学实验报告

mathematica数学实验报告本次实验使用Mathematica进行数学建模实验,主要包括以下内容:三角函数、极限和导数、积分和微分方程。

一、三角函数1. 三角函数的绘制使用Mathematica的Plot函数绘制正弦函数和余弦函数的图像。

代码:Plot[{Sin[x], Cos[x]}, {x, -2 Pi, 2 Pi},PlotStyle -> {Blue, Red}, PlotTheme -> "Web"]结果:![trigonometric_functions.png](2. 求三角函数的值使用Mathematica的N函数计算正弦函数和余弦函数在不同角度下的取值。

代码:N[Sin[Pi/6]]N[Cos[Pi/6]]N[Sin[Pi]]N[Cos[Pi]]结果:0.50.8660251.22465*10^-16-1.二、极限和导数1. 求函数的极限使用Mathematica的Limit函数计算函数x^2/(4-x)在x趋近于4时的极限。

代码:Limit[x^2/(4 - x), x -> 4]结果:82. 求函数的导数使用Mathematica的D函数计算函数x^3 - 3x的导数。

代码:D[x^3 - 3x, x]结果:3 x^2 - 3三、积分和微分方程1. 求定积分使用Mathematica的Integrate函数计算函数e^x * cos(x)在0到π/2之间的定积分。

代码:Integrate[E^x * Cos[x], {x, 0, Pi/2}]结果:1/2 (1 + E^(π/2))2. 解微分方程使用Mathematica的DSolve函数求解微分方程y''(x) + 4y(x) = 0。

代码:DSolve[y''[x] + 4 y[x] == 0, y[x], x]结果:y[x] -> C[1] Cos[2 x] + C[2] Sin[2 x]本次实验使用Mathematica进行数学建模实验,主要包括三角函数的绘制、求三角函数的值,函数的极限、导数,积分和微分方程等内容。

高数实验报告 (2)

高数实验报告 (2)

数学实验报告学号: , 姓名: , 得分:实验1实验内容:通过作图,观察重要极限:lim (1+1/n)n=e.实验目的:1.通过编写小程序,学会应用mathmatica软件的基本功能。

2.学会掌握用mathmatica的图形观察极限。

计算公式:data=Table[(1+1/i)^i,{i,300}];ListPlot[data,PlotRange {0, },PlotStyle PointSize[0.0018]]程序运行结果:结果的讨论与分析:当i设定在不同值的时候,图形的长度在变化,当总体趋势没有变化,总是取向e。

实验2实验内容:设数列{Xn}由下列递推关系式给出:x1=1/2,xn+1=xn2+xn(n=1,2………)观察数列1/(x1+1)+ 1/(x2+1) +…….+1/(xn+1)的极限。

实验目的和意义:1:掌握mathmatica数学实验的基本用法。

2:学会利用mathmatica 编程求数列极限。

3:了解函数与数列的关系。

计算公式:f[x_]:=x^2+x;xn=0.5;g[x_,y_]:=y+1/(1+x);y n=0;For[n=1,n 15,n++,xN=xn;yN=yn;xn=N[f[x N]];yn=N[g[xN,yN]]];Print[" y30=",yn]程序运行结果:y30= 2.结果与讨论:这个实验,当yn中n趋向无穷大的时候,能够更加接近极限,当取30以上时候,2就是极限值。

实验3实验内容:已知函数:f(x)=1/(x2+2x+c)(-5<=x<=4),作出并比较当c 取不同的值的时候(-1,0,1,2,3),并从图上观察出极值点,驻点,单调区间,凹凸区间和渐进线。

实验目的:1.通过实验掌握如何用mathmatica作图。

2.学会观察图像来求函数的相关数据。

计算公式:f[x_]=1/(x2+2 x+(-1))Plot[f[x],{x,-5,4},GridLines Automatic,Frame True,PlotStyle RGBColor[1,0,0]]f[x_]=1/(x2+2 x+(0))Plot[f[x],{x,-5,4},GridLines→Automatic,Frame→True,PlotStyle→RGBColor[1,0,0]]f[x_]=1/(x2+2 x+(2))Plot[f[x],{x,-5,4},GridLines→Automatic,Frame→True,PlotStyle→RGBColor[1,0,0]]f[x_]=1/(x2+2 x+(3))Plot[f[x],{x,-5,4},GridLines→Automatic,Frame→True,PlotStyle→RGBColor[1,0,0]]f[x_]=1/(x2+2 x+(3))Plot[f[x],{x,-5,4},GridLines→Automatic,Frame→True,PlotStyle→RGBColor[1,0,0]]程序运行结果:结果的讨论与分析:不同的c,函数的形态有较大的不同,也就是原方程=0什么情况下有解的问题,根据图像很容易的得到驻点,拐点,等相关信息。

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

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

数学实验报告实验序号: 2 日期: 2016年月日实验结果报告及实验总结:一、数值积分法计算π因为单位圆的半径为1,它的面积等于π,所以只要计算出单位圆的面积,就算出了π。

在坐标轴上画出以圆点为圆心,以1为半径的单位圆,则这个单位圆在第一象限的部分是一个扇形,而且面积是单位圆的1/4,于是,我们只要算出此扇形的面积,便可以计算出π。

而且单位的精度可能会影响计算的结果,下面将给出不同的n计算所得结果并讨论差异。

1.当n=1000时命令:n=1000;y[x_]:=4/(1+x*x);s1=(Sum[y[k/n],{k,1,n-1}]+(y[0]+y[1])/2)/n;s2=(y[0]+y[1]+2*Sum[y[k/n],{k,1,n-1}]+4*Sum[y[(k-1/2)/n],{k,1,n}])/( 6*n);Print[{N[s1,20],N[s2,30],N[Pi,30]}];结果如下:2.当n=5000时命令:n=5000;y[x_]:=4/(1+x*x);s1=(Sum[y[k/n],{k,1,n-1}]+(y[0]+y[1])/2)/n;s2=(y[0]+y[1]+2*Sum[y[k/n],{k,1,n-1}]+4*Sum[y[(k-1/2)/n],{k,1,n}]) /(6*n);Print[{N[s1,20],N[s2,30],N[Pi,30]}];运行结果:3.当n=10000时命令:n=10000;y[x_]:=4/(1+x*x);s1=(Sum[y[k/n],{k,1,n-1}]+(y[0]+y[1])/2)/n;s2=(y[0]+y[1]+2*Sum[y[k/n],{k,1,n-1}]+4*Sum[y[(k-1/2)/n],{k,1,n}])/( 6*n);Print[{N[s1,20],N[s2,30],N[Pi,30]}];Plot[{4(1-x*x)},{x,0,1}]运行结果:4. 结果分析:当数值积分法得到 的近似值为3.8,可以看出,用这种方法计算所得到的 值是相当精确的,n 越大,计算出来的扇形面积的近似值就越接近 的准确值。

mathematica实验报告

mathematica实验报告

mathematica实验报告《使用Mathematica进行实验报告:探索数学的奥秘》Mathematica是一款强大的数学软件,它不仅可以进行数学计算和图形绘制,还可以进行数据分析和模拟实验。

在本实验报告中,我们将使用Mathematica来探索数学的奥秘,展示其强大的功能和应用。

首先,我们将使用Mathematica进行数学计算。

通过输入数学表达式和方程式,我们可以快速地进行数值计算和符号运算。

Mathematica还提供了丰富的数学函数和算法,可以帮助我们解决复杂的数学问题,如微积分、线性代数和离散数学等。

其次,我们将利用Mathematica进行图形绘制。

通过输入函数表达式和参数设置,我们可以绘制出各种数学图形,如函数图像、曲线图和三维图形等。

Mathematica还提供了丰富的绘图工具和选项,可以帮助我们定制和美化图形,使其更加直观和具有艺术感。

接下来,我们将利用Mathematica进行数据分析。

通过输入数据集和统计方法,我们可以进行数据的可视化和分析,帮助我们发现数据的规律和趋势。

Mathematica还提供了丰富的数据处理和建模工具,可以帮助我们进行数据挖掘和预测分析,为决策和规划提供有力的支持。

最后,我们将利用Mathematica进行模拟实验。

通过输入模型和参数设置,我们可以进行各种科学和工程问题的模拟实验,帮助我们理解和预测实际现象。

Mathematica还提供了丰富的模拟工具和仿真方法,可以帮助我们进行虚拟实验和验证假设,为科学研究和工程设计提供有力的工具支持。

总之,Mathematica是一款强大的数学软件,它可以帮助我们探索数学的奥秘,解决数学问题,展示数学图形,分析数学数据,进行数学模拟实验,为科学研究和工程应用提供有力的支持。

希望本实验报告可以激发更多人对数学和科学的兴趣,让我们一起来探索数学的奥秘吧!。

mathematica实验报告

mathematica实验报告

mathematica实验报告Mathematica 实验报告一、实验目的本实验旨在深入了解和掌握 Mathematica 软件的基本功能和操作方法,通过实际的案例和问题解决,提升运用 Mathematica 进行数学计算、数据分析、图形绘制以及编程的能力。

二、实验环境操作系统:Windows 10Mathematica 版本:121三、实验内容与步骤(一)数学计算1、基本运算在 Mathematica 中,直接输入数学表达式进行计算,例如:计算 2+ 3 4 的结果,输入`2 + 3 4` ,得到结果 14。

2、函数计算使用内置函数进行复杂的数学运算,如计算正弦函数`SinPi / 6`的值,结果为 05。

(二)数据分析1、数据导入通过`Import` 函数导入外部数据文件,如 CSV 格式的数据文件。

假设我们有一个名为`datacsv` 的文件,包含两列数据`x` 和`y` ,使用`data = Import"datacsv"`即可将数据导入。

2、数据处理对导入的数据进行处理,如计算平均值、方差等统计量。

可以使用`Meandata` 计算平均值,`Variancedata` 计算方差。

(三)图形绘制1、二维图形绘制简单的函数图形,如`PlotSinx, {x, 0, 2 Pi}`绘制正弦函数在`0` 到`2 Pi` 区间的图形。

2、三维图形绘制三维图形,如`Plot3Dx^2 + y^2, {x, -2, 2},{y, -2, 2}`绘制一个抛物面。

(四)编程实践1、定义函数使用`Function` 关键字定义自己的函数,例如定义一个计算阶乘的函数`factorialn_ := Ifn == 0, 1, n factorialn 1` 。

2、循环结构使用`For` 循环和`While` 循环实现重复操作,例如使用`For`循环计算 1 到 10 的和,`sum = 0; Fori = 1, i <= 10, i++, sum += i; sum` 。

mathematica实验报告(符号计算)

三、实验内容
1.表达式的运算
(1)化简: ;
(2)展开多项式: ;
(3)分解因式: ;
2.求函数的极限:(1) ;(2) ;(3) .
3.求导数:(1) ,求 ;(2) ,求 .
4.求积分: .
5.将 在 点,展开至 。
6.求和式与积式:(1) ;(2) .
7.求解方程 .
8.求微分方程:
四、程序、命令与结果
2.运行结果()A准确,表现效果好;B正确;C部分结果不准确;D有较严重错误.
3.其它问题______________________________________________________________________.
4.综合评定()A优秀;B良好;C合格;D不合格;E有明显抄袭或雷同现象.
结果:
(2)命令:Limit[(Tan[x])^Tan[2*x],xPi/4]
结果:
(3)命令:Limit[Exp[1/x],Direction0]
结果:
三、(1)命令:
结果:
(2)命令:
结果:
成绩评定:1.程序、命令()A准确、简洁、效率高;B命令基本准确,ቤተ መጻሕፍቲ ባይዱ有少量问题;C部分命令有问题;
D许多命令都有问题或错误.
一、
(1)命令:
P=(x-2)*(x^2+2*x+4)+(x+5)*(x^2-5*x+25);
Simplify[P]
结果:
(2)命令:P=(a+b)^3;
Expand[P]
结果:
(3)命令:P=x^5-x;
Factor[P]
结果:
二、
(1)命令:Limit[((x+m)/(x-n))^x,xInfinity]

数学实验mathmaticas

DisplayFunction->Identity];
t3=ParametricPlot3D[{u,v,0},{u,-0.5, 1}, {v,-0.5,1},AxesLabel->{“x”,“y”,“z”},PlotPoints->50,
DisplayFunction->Identity];
Show[t1, t2, t3, DisplayFunction -> $DisplayFunction];
三、程序设计
1.实验对象:
输入命令:
t1 = ParametricPlot3D[{Sin[u]*Cos[v], Sin[u]*Sin[v], Cos[u]}, {u,
0, \[Pi]/2}, {v, 0, 2*\[Pi]}, PlotPoints -> 30,
DisplayFunction -> Identity];
t2 = ParametricPlot3D[{(0.5 + 0.5*Cos[u]), 0.5*Sin[u], v}, {u, 0,
2*\[Pi]},{v,-1,1}, PlotPoints->30,
DisplayFunction -> Identity];
t3 = ParametricPlot3D[{u, v, 0}, {u, -1, 1}, {v, -1, 1}, PlotPoints -> 30,
Show[g1,g2,DisplayFunction -> $DisplayFunction]]
五、程序运行结果
六、结果的讨论和分析
有图像可以看出,逼近函数f(x)的效果随n的增大而越来越好。通过实验,更直观的感受到傅里叶级数在函数模拟上的广泛用途。

迭代——方程求解(mathematica数学实验报告)

0,1称为(f、迭代法函数的迭代是数学研究中的一个非常重要的思想工具,哪怕是对一个相当简单的函数进行迭代,都可以产生异常复杂的行为,并由此而衍生了一些崭新的学科分支,如分.同时,迭代在各种数值计算算法以及其它学科领域的诸多算法中处于核心的本实验的基本理论是分形几何学程序运行如下:练习2:利用迭代公式1(),0,1,...()n n g x x x n g x +=-=' 得到()^32g x x =-的迭代序列,其中01x =,10n =,程序运行如下:练习3:对给定的矩阵M ,数组f 和初始向量0x ,由迭代公式1n n x Mx f +=+得到的迭代序列如下:练习4:利用迭代公式11()x L D A X D b --=-+将方程组⎪⎩⎪⎨⎧=++=++11111111.......................................b x a x a b x a x a n nn n n n 即Ax b =改成多种等价形式x Mx f =+做迭代,观察其收敛状况。

给定(){}1,2,2,(1,1,1),(2,2,1)A =-与(){}2,1,1,(1,1,1),(1,1,2)A =--,运行结果如下:练习5:同练习4,给定(){}1,2,2,(1,1,1),(2,2,1)A =-与(){}2,1,1,(1,1,1),(1,1,2)A =--,利用迭代公式111()()x I L Ux I L D b ---=-+-对方程组Ax b =做迭代。

程序运行如下:实验结果和结果分析:对于书上给出的例题程序,要实际上机亲自操作一次,从而了解不同命令的不同作用,对于相似的命令要区分明白他们的不同之处。

这一章小的命令比较多,也比较杂,需要分门别类区分开,并且分别运行一下。

书后的练习题离不开前面的例题,要在掌握好例题的情况下,多练习一些习题,加深记忆。

Mathematica 在迭代法解方程组非常方。

Mathematica基础数学实验(2)

父亲身高 60 62 64 65 66 67 68 70 72 74 儿子身高 63.6 65.2 66.0 65.5 66.9 67.1 67.4 68.3 70.1 70.0
设父亲身高为x, 儿子 身高为y. 显然, y与x有关系, 但这种关系并不是确定的, 即父亲身高x相同时其儿 子身高 y并不是确定的, 也 就是说, y 除受 x这一主要 素的影响外 , 还受到诸多随机因素的影响. 这种关系被 因 称为相关关系.
70 70
69 68 67
66
65
62
64
66
68
70
72
74
在一般情况下, y为随机变量, 而 x为可控制或可 精确观察的变量, 如年龄, 身高, 温度, 压力, 时间等, 因 此不把x看作随机变量. 由于y为随机变量, 则对于x的每一个确定的值, 有 它的分布. 若 y 的数学期望 Ey 存在, 则 Ey 取值随 x 的 取值而定, 因此Ey是 x 的函数, 记作(x), 称(x)为 y 关 于 x 的回归. 由于(x)的大小在一定程度上反映在 x 处随机变 量 y 的观测值的大小, 因此, 如果能通过一组样本来估 计(x), 则在一定条件下我们就能解决如下问题: (1)在给定的置信度下, 估计出当 x 取某一确定值 时, 随机变量 y 的取值范围, 即所谓预测问题; (2)在给定的置信度下, 控制自变量 x 的取值范围, 使 y在给定范围内取值, 即所谓控制问题.
简单介绍回归分析的数学原理和方法; 通过实例讨论如何选择不同类型的模型; 对软件得到的结果进行分析, 对模型进行改进.
例1:F.Galton断言:儿子的身高会受父亲身高的 影响, 但身高偏离父代平均水平的父亲, 其儿子身高有 回归子代平均水平的趋势. K.Pearson给出了如下样本(单位: 英吋):
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数学实验报告



学院:数学与统计学院
班级:信息与计算科学(1)班
姓名:郝玉霞
学号:201171020107
实验二
一、实验名称:π的计算
二、实验目的:首先在Mathematica环境中用多种方法计算圆周率π的值,通过
实验来体会各种方法的区别,比较各种方法的优劣,接着尝试自己提出新的
方法来计算圆周率π的值。

三、实验环境:学校机房,Mathematica软件。

四、实验的基本理论和方法
1、用Mathematica绘图函数Plot绘制圆周率π;
2、计算圆周率π的数值积分法、泰勒级数法、蒙特卡罗法,并且利用特定
的公式来计算圆周率π。

五、实验的内容和步骤及实验的结果和结果分析
步骤一、数值积分法计算π
因为单位圆的半径为1,它的面积等于π,所以只要计算出单位圆的面积,就算出了π。

在坐标轴上画出以圆点为圆心,以1为半径的单位圆,则这个单位圆在第一象限的部分是一个扇形,而且面积是单位圆的1/4,于是,我们只要算出此扇形的面积,便可以计算出π。

当n=5000时;
语句:
n=5000;y[x_]:=4/(1+x*x);
s1=(Sum[y[k/n],{k,1,n-1}]+(y[0]+y[1])/2)/n;
s2=(y[0]+y[1]+2*Sum[y[k/n],{k,1,n-1}]+4*Sum[y[(k-1/2)/n],{k,1,n}])/(6*n);
Print[{N[s1,20],N[s2,30],N[Pi,30]}];
实验结果:
3.1415926469231265718,3.14159265358979323846264334
3.14159265358979323846264338328
当n=10000时;
语句:
n=10000;y[x_]:=4/(1+x*x);
s1=(Sum[y[k/n],{k,1,n-1}]+(y[0]+y[1])/2)/n;
s2=(y[0]+y[1]+2*Sum[y[k/n],{k,1,n-1}]+4*Sum[y[(k-1/2)/n],{k,1,n}])/(6*n);
Print[{N[s1,20],N[s2,30],N[Pi,30]}];
Plot[{4(1-x*x)},{x,0,1}]
实验结果:
3.1415926519231265718,3.14159265358979323846264338
3.14159265358979323846264338328
图1 1/4个单位圆
结果分析:当数值积分法得到π的近似值为3.14159265358979323846264338328, 可以看出,用这种方法计算所得到的π值是相当精确的,n 越大,计算出来的扇形面积的近似值就越接近π的准确值。

步骤二、泰勒级数法计算π 利用反正切函数的泰勒级数
+--+-+-=--1
2)1(53a r c t a n 1
2153k x x x x x
k k 来计算π。

语句: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]]
实验结果:
9.14Second,3.1416426510898869
3.14159265358979323846264338327950288419716939937510582494459230781640628620899862803482534211706798214808651230664709384460955058223172535940813
2.89054809346530980659035048572237571973428548091718877376781907690970580083540220107847652474250068362104652048128394634092219187032819003167814
3.14159265358979323846264338327950288419716939937510582494459230781640628620899862803482534211706798214808651230664709384460955058223172535940813
结果分析:从实验过程可以看出,这种方法花费的时间很长。

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

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

例如,因为11
arctan1arctan arctan 23
=+,所
以我们可以计算出11
arctan ,arctan 23
的值,从而得到arctan1的值。

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

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

步骤三、蒙特卡罗法计算π
在数值分析法中,我们利用求单位圆的1/4面积来得到/4π,从而得到π。

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

只要能够求出扇形的面积S 在正方形的面积中所占的比例1/k S S =,就能立即得到S ,从而得到π的值。

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

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

语句:
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.1528,3.1472,3.1276,3.134,3.1384,3.1516,3.1424,3.1664,3.1436,3.1
3.14668
结果分析:
从运行结果来看,蒙特卡罗法的计算结果为3.14668,虽然精确度不太高,但运行时间短,在很多场合下,特别是在对精确度要求不高的情况下很有用的。

步骤四、针对步骤三提出疑问:步骤三中我们发现当n=10000时,蒙特卡罗法的计算结果为3.14668,精确度不太高,那么对n 取不同的值,所得结果的精确度
会不会有变化?假如有变化,会有什么变化呢?
猜想:对n 取不同的值,所得结果的精确度应该会有变化,且当n 值越大,所得结果越精确。

现令n=1000;
语句:
n=1000;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.16,3.132,3.08,3.156,3.144,3.184,3.156,3.116,3.092,3.
3.
令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 实验结果:
3.14,3.13172,3.13692,3.13752,3.140923.13852,3.13976,3.14572,3.14028,3.14
3.1
结果分析:
从运行结果来看,虽然蒙特卡罗法的计算结果的精确度不太高,但对n 取不同的值,所得结果的精确度有变化,且当n 值越大,所得结果越精确,这与我们的猜想完全一致。

步骤五、利用麦琴给出
239
1
arctan 51arctan
44
-=π
,推出π
=4(239
1
arctan
51arctan
4 )。

对比以上方法,这种简单的直接用公式求的π的方法要简单得多,所以用处更广。

相关文档
最新文档