吧务
level 11
situxuming
楼主
ArcTan[0,0]返回Indeterminate,这是合理的,毕竟0/0不确定值
而ArcTan[0.,0]返回0,类似的,ArcTan[0,0.]返回Pi/2,可以认为是0.是0的近似值,精度只有15.9546,而0具有无限精度,即无穷大,那么,对于0来说,0. 则不是一个0,自然,0/0.=0,0./0=Infinity,这也是很好理解的。因此,ArcTan[0.,N[0,16]]返回 0 和 ArcTan[N[0,16],0.]返回Pi/2就可以理解了。
那么ArcTan[0.,0.]返回Indeterminate,是因为两个数具有相同精度,彼此看对方都是0,所以就产生0/0的不确定数,这也可以理解。
下面考虑这么一个问题:Mathematica中$MachinePrecision==MachinePrecision 返回时True的,那么照理说ArcTan[N[0,$MachinePrecision],N[0,MachinePrecision]]和ArcTan[N[0,MachinePrecision],N[0,$MachinePrecision]]都应该是返回Indeterminate的,但事实是前一个返回Pi/2,后一个返回0
从结果来看,$MachinePrecision>MachinePrecision,可是,$MachinePrecision==MachinePrecision 又是True的,这个结果怎么解释呢?
@cckinger @mm_酱 @妙谛莲花 @xzcyr 瞧瞧看看
2012年11月21日 11点11分
1
而ArcTan[0.,0]返回0,类似的,ArcTan[0,0.]返回Pi/2,可以认为是0.是0的近似值,精度只有15.9546,而0具有无限精度,即无穷大,那么,对于0来说,0. 则不是一个0,自然,0/0.=0,0./0=Infinity,这也是很好理解的。因此,ArcTan[0.,N[0,16]]返回 0 和 ArcTan[N[0,16],0.]返回Pi/2就可以理解了。
那么ArcTan[0.,0.]返回Indeterminate,是因为两个数具有相同精度,彼此看对方都是0,所以就产生0/0的不确定数,这也可以理解。
下面考虑这么一个问题:Mathematica中$MachinePrecision==MachinePrecision 返回时True的,那么照理说ArcTan[N[0,$MachinePrecision],N[0,MachinePrecision]]和ArcTan[N[0,MachinePrecision],N[0,$MachinePrecision]]都应该是返回Indeterminate的,但事实是前一个返回Pi/2,后一个返回0
从结果来看,$MachinePrecision>MachinePrecision,可是,$MachinePrecision==MachinePrecision 又是True的,这个结果怎么解释呢?
@cckinger @mm_酱 @妙谛莲花 @xzcyr 瞧瞧看看