找回密码
 欢迎注册
查看: 13169|回复: 6

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

[复制链接]
发表于 2013-1-18 11:41:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

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

评分

参与人数 1金币 +20 收起 理由
gxqcn + 20 首帖奖励,欢迎常来。

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-18 14:40:33 | 显示全部楼层
楼上用的是什么语言/脚本?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-18 16:36:54 | 显示全部楼层
既然是“按照梯形算”算的,
可以这么看待“梯形”:其底边跨度为“1”,两侧高分别为sin[ i/num ]、sin[ (i+1)/num ];
它在足够细长时可看作为一个“矩形”,平均起来的“高度”即为:
$(sin[i//"num"]+sin[(i+1)//"num"] )//2 ~= sin[i//"num"+(i+1)//"num"] //2 = sin[(i + 0.5)//"num"]$ (当 num 足够大时)

这就是要“+0.5”的由来。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-18 17:18:28 | 显示全部楼层
2# liangbch 我看是Mathematica
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-1-18 17:54:04 | 显示全部楼层
2# liangbch
是mathematica
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-1-18 17:55:01 | 显示全部楼层
3# gxqcn
哦,有点明白了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-24 10:28:18 | 显示全部楼层
就是mathematica软件呀,我也看出来了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-13 05:21 , Processed in 0.049361 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表