- 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)