2017-04-05 55 views
1

我已经定义了一个函数,该函数返回NaN(它不应该):表达正确地计算,函数返回NaN的

-55.45^(1-0.9)/(1-0.9) 
[1] -14.94136 

我:

rf <- function(x,g) x^(1-g)/(1-g) 
rf(-55.45,0.9) 
[1] NaN 

但是,如果我做手工计算不知道为什么rf函数以某种方式溢出?

编辑:看来唯一的功能失效,只要x小于0

+1

这'(-55.45) ^(1-0.9)/(1-0.9)'也给出'NaN'。你实际上做的是' - (55.45 ^(1-0.9)/(1-0.9))' – Sotos

+0

我刚刚看到了帮助文件(“^”)...我现在看到了错误 – Repmat

回答

1

这就是为什么:

(-55.45)^(1-0.9)/(1-0.9) 

表达的作用:

55.45^(1-0.9)/(1-0.9) * (-1)