|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
今天看到一位同学解读MOD的帖子,很投入,很细心,不禁感动。心痒,所以也一起来试探一下MOD的特性,希望对你也有所帮助。
MOD函数解析
N周期性探索
=MOD(number,divisor)=MOD(n,d)=MOD(n+kd,d) (其中k为整数)
功用:也许对于mod(2,3)这样两个参数都是正数时大家容易理解,但当第一参数为负数时,如mod(-2,3),这时一时半会还真的答不上来。利用周期性能很好的解决这个问题:mod(-2,3)=mod(-2+3,3)=mod(1,3)。这样通过转换就把不熟悉的问题转换为了熟悉的问题。上图:
D对称特性探索
当x<>-kd时,
mod(x,-d)=mod(x,d)-d
当x=-kd时,
mod(x,-d)=0=mod(x,d)
功用:同样的,对于mod(2,-3)这样的问题,我想很多人一时半会也答不上来,于是希望能从沾亲带故的mod(2,3)得到些提示,经分析mod(2,-3)=mod(2,3)-3,这样就好办了。上图:
这个图整体上说明了些问题,就是图形上这mod(x,d)和mod(x,-d)差不多是平移了一个值,这个值就是d。不过呢,这个图对于某些关键点表达的不够清晰,需要用另一个图来补充。上图:
这个图就比较清晰的刻画出在某些关键点发生的突变现象。这些点位就是x=kd的地方。不过好在我们能很轻松的得出在这些点位的函数值, mod(x,d)=mod(x,-d)=0,所以即使没有察觉倒也不怎么影响实际应用。
我觉得很挨近数学的那些函数,如果特性不是很了解,可以尝试用图解结合关键点位分析的方式来挖掘。图,形象,能把握整体特性;关键点位用代数,精确。
除此以外,我觉得把不熟悉的东西转化为熟悉的东西也是种常用的思维方式。
附件中使用5作为d时,负数部分没有突变点,那是因为基础的数据没有取到-5,-10这些值导致的。
希望对你有用,我试图想让大家容易理解点,不要落个好高深的感叹呀,呵呵
还得出一个性质,如果第二参数为负数,那么返回值就不会是正数;如果第二参数是正数,那么返回值就不会是负数。
==========================================================================
别字已检查两三遍...呵呵
桌面.rar
(33.36 KB, 下载次数: 187)
[ 本帖最后由 胡剑0227 于 2010-4-4 12:12 编辑 ] |
|