全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
7079 4
2016-12-24
用R计算函数积分时,出现了“non-finite function value”的错误。
具体代码如下:

复制代码
请教大家该如何解决上述代码里的问题呢?先谢谢了!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-12-24 17:47:12
f <- function(tau) {integrate(function(tau1)sqrt(1/(tau-tau1)),lower=0.01*tau,upper=0.99*tau)$value}
##这条命令错了,没有规定取值范围,根号下面不能为负数,也就是说tau必须大于tau1
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-12-24 17:49:14
取值可以定为c(-Inf,tau)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-12-24 18:23:18
机械唯物主义123 发表于 2016-12-24 17:47
f
谢谢你的回复。但你的回复可能不对。
我已经设置tau1的范围在0.01*tau,0.99*tau
那么tau-tau1就在0.99*tau,0.01*tau之间,而tau>0的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-12-24 19:01:13
抱歉,我没看出来,不过问题肯定出在根号上,大概是下面那样

Error in integrate(function(tau1) sqrt(1/(tau - tau1)), lower = 0.01 *  :
  non-finite function value
此外: Warning message:
In sqrt(1/(tau - tau1)) : 产生了NaNs
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群