注册 登录
编程论坛 Matlab

请教各位一个积分的问题

sallila 发布于 2006-06-15 19:22, 812 次点击

对正弦函数y=sin10t在t=[0,0.01]范围积分,在matlab7.0中使用trapz、quad、quadl三个函数,得出的结果均为 4.9958e-004。而手工计算(余弦计算使用计算器)的结果为:1.5231e-007。这个误差在我的使用范围内是不可忍受的。请问为什么会出现这样的误差呢?有什么办法可以改进计算过程得到更好的结果呢?

以下是我在matlab7.0中的试运行语句、过程及结果

1、t=0:0.01/100:0.01;
p=trapz(t,sin(10*t))

p =

4.9958e-004

2、p=quad('sin(10*t)',0,0.01,0.01/10000,1)
9 0.0000000000 2.71580000e-003 0.0000368756
11 0.0027158000 4.56840000e-003 0.0002283050
13 0.0072842000 2.71580000e-003 0.0002344029

p =

4.9958e-004

3、p=quadl('sin(10*t)',0,0.01,0.01/10000,1)
18 0.0000000000 5.00000000e-003 0.0004995835

p =

4.9958e-004

1 回复
#2
abingchem2006-06-15 21:54
MM最好再重新算一下,你手工计算的结果嘻嘻
1