1、学号 班级统计1001姓名 指导教师易昆南实验题目 用多种方法计算数值积分评 分1、设计(实习)目的:1 了解MATLAB在实际问题中的应用2 通过实践加深对这门语言中M文件的了解3 熟悉简单程序结构,如循环结构(for循环、while循环)选择结构(if-else-if)、分支语句(switch-case-otherwise)。2、实验内容:(1).分别用左、右矩形法,梯形法,复化辛普森公式计算y=x2在0,1上的定积分;(2).用蒙特卡罗随机投点法计算y=1/(1+x2)在0,1上的定积分,并求出pi的近似值;(3).用蒙特卡罗均值估计法计算y=x2在0,1上的定积分。3.详细设计:一左、
2、右矩形法和梯形法:h=1/200;x=0:h:1;y=x.2;z1=sum(y(1:200)*h %左矩形法z2=sum(y(2:201)*h %右矩形法z=cumsum(y);z11=z(200)*h; %等同z1 z12=(z(201)-z(1)*h; %等同z2z3=trapz(x,y) %梯形法,等同于z3=trapz(y)*h2 复化辛普森公式法:y=inline(x.2);z1=quad(y,0,1,100) %simpleson公式z2=quadl(y,0,1,100) %复化simpleson公式z3=quad8(y,0,1,100,trace(10) %simpleson8阶
3、公式法三蒙特卡罗随机投点法:n=100000;k=0;for i=1:n x=rand; %产生(0,1)区间的随机数 y=rand; if y In quad8 at 35 In simple at 4 18 0.0000000000 5.00000000e-001 0.3333333333z3 = 0.3333三蒙特卡罗随机投点法:z = 0.7854pi =3.14164 蒙特卡罗均值估计法:z = 0.33655:实验总结有些规则和C语言的有些不同,但结构形式,大部分语句还是相同的,所以对于C语言,也很好接受。通过多种求定积分的方法练习,我较好地掌握了积分的运算,对以后的进一步学习很有益处。但其中复化辛普森求解法还存在一些疑惑,比如此函数能否直接调用内置函数?我觉得收获呢,收获了一些基础性的语言规则,对于以后的学习很有帮助,感觉很高兴。我立志要学好这门语言。虽然现在我还不熟悉这门语言,我要对自己有信心,相信我能做到。 姓名: 2011年11月27日