2011年5月27日 星期五

R 浮點數Bug...


R版本 2.13.0 x64

範例:

X = seq(0,1,0.01)
Y = seq(0,1,0.01)
Z = matrix(nrow=101 ,ncol=101)
for(i in X)
{
for(j in Y)
{
xPosi = (i*100+1)
yPosi = (j*100+1)
if(i==0.29 & xPosi==30)
print("IN!!!")
Z[xPosi,yPosi] = pcopula(frankcopB, c(i,j))

if(Z[xPosi,yPosi]==Inf)
Z[xPosi,yPosi] = 2
if(is.na(Z[xPosi,yPosi]))
Z[xPosi,yPosi] = 1.8
}
}


應該印出「IN!!!」.....

但根本不會印出「IN!!!」...........

也只有幾個地方會出現這個問題

0.29 是其中一處...........= =


用round(,0)可解決.....



沒有留言:

張貼留言