ad_hoc 发表于 2013-1-18 11:41:31

sin(x)在0-1之间与x轴围成的面积

我知道可以用定积分算。在一个论坛上看到一个人的写法,不太理解这种算法,
好像是分割矩形,但不知+0.5是什么用意,不加的话逼近的就没那么快了,试了几个其他的函数都是这样,请大牛给解释下
我是按照梯形算的,运算量大了些,就没有这种算法快了Module[{num = 100, sum = 0., x},
Do[
sum += Sin[(i + 0.5)/num]*1/num;
, {i, 0, num - 1}];
sum
]Module[{num = 100, sum = 0., x},
Do[
sum += (Sin + Sin[(i + 1)/num])*1/2*1/num;
, {i, 0, num - 1/num}];
sum
]

liangbch 发表于 2013-1-18 14:40:33

楼上用的是什么语言/脚本?

gxqcn 发表于 2013-1-18 16:36:54

既然是“按照梯形算”算的,
可以这么看待“梯形”:其底边跨度为“1”,两侧高分别为sin[ i/num ]、sin[ (i+1)/num ];
它在足够细长时可看作为一个“矩形”,平均起来的“高度”即为:
$(sin+sin[(i+1)//"num"] )//2 ~= sin //2 = sin[(i + 0.5)//"num"]$ (当 num 足够大时)
这就是要“+0.5”的由来。

hujunhua 发表于 2013-1-18 17:18:28

2# liangbch 我看是Mathematica

ad_hoc 发表于 2013-1-18 17:54:04

2# liangbch
是mathematica

ad_hoc 发表于 2013-1-18 17:55:01

3# gxqcn
哦,有点明白了

郭先抢 发表于 2013-1-24 10:28:18

就是mathematica软件呀,我也看出来了
页: [1]
查看完整版本: sin(x)在0-1之间与x轴围成的面积