MATLAB数值积分求值实验报告.docVIP

  • 149
  • 0
  • 约1.72千字
  • 约 3页
  • 2020-08-06 发布于河北
  • 举报
学号 班级 统计1001 姓名 指导教师 易昆南 实验题目 用多种方法计算数值积分 评 分 1、设计(实习)目的: 了解MATLAB在实际问题中的应用 通过实践加深对这门语言中M文件的了解 熟悉简单程序结构,如循环结构(for循环、while循环)选择结构(if-else-if)、分支语句(switch-case-otherwise)。 2、实验内容: (1).分别用左、右矩形法,梯形法,复化辛普森公式计算y=x^2在[0,1]上的定积分; (2).用蒙特卡罗随机投点法计算y=1/(1+x^2)在[0,1]上的定积分,并求出pi的近似值; (3).用蒙特卡罗均值估计法计算y=x^2在[0,1]上的定积分。 3.详细设计: 一.左、右矩形法和梯形法: 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; %等同z2 z3=trapz(x,y) %梯形法,等同于z3=trapz(y)*h 复化辛普森公式法: 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阶公式法 三.蒙特卡罗随机投点法: n=100000; k=0; for i=1:n x=rand; %产生(0,1)区间的随机数 y=rand; if y=1/(1+x^2); %对y=1/(1+x^2)面积投点 k=k+1; end end z=k/n pi=4*k/n %由积分pi/4=k/n而来,前者是概率,后者是频率 蒙特卡罗均值估计法: n=10000; x=rand(1,n); y=x.^2; z=sum(y)/n %均值估计法 4:实验结果: 左、右矩形法和梯形法: z1 = 0.3308 z2 = 0.3358 z3 = 0.3333 复化辛普森公式法: z1 = 0.3333 z2 = 0.3333 Warning: QUAD8 is obsolete. We use QUADL instead. In quad8 at 35 In simple at 4 18 0.0000000000 5-001 0.3333333333 z3 = 0.3333 三.蒙特卡罗随机投点法: z = 0.7854 pi = 3.1416 蒙特卡罗均值估计法: z = 0.3365 5:实验总结 有些规则和C语言的有些不同,但结构形式,大部分语句还是相同的,所以对于C语言,也很好接受。 通过多种求定积分的方法练习,我较好地掌握了积分的运算,对以后的进一步学习很有益处。但其中复化辛普森求解法还存在一些疑惑,比如此函数能否直接调用内置函数? 我觉得收获呢,收获了一些基础性的语言规则,对于以后的学习很有帮助,感觉很高兴。 我立志要学好这门语言。虽然现在我还不熟悉这门语言,我要对自己有信心,相信我能做到。 姓名: 2011年11月27日

文档评论(0)

1亿VIP精品文档

相关文档