我已经编写了这个R代码来对函数进行双重集成(边界是无限的):
nom <- function(u){
tau <- 90
r <- 0
alpha <- .2
k <- 1
f1 <- function(c){(tau-u)*(alpha*k^alpha)^2/(k+c)^(alpha+1)*
(1/(k+r*tau+u+c)^(alpha+1)+
1/(k+r*tau-u+c)^(alpha+1))}
integrate(f1,lower=0,upper=Inf)$value }
D <- Vectorize(nom)
q1 <- integrate(D,lower=0,upper=tau)
我获得了以下消息
Error in integrate(f1, lower = 0, upper = Inf) :
non-finite function value
我注意到当将r更改为高于0值时,将没有问题。但我的任务包括选择r恰好为零。 请任何人帮助将此功能与r = 0集成。
答案 0 :(得分:3)
您试图在数字上整合一个函数,对于r=0
,c=u-k
和c=-u-k
强烈分歧。这不会奏效。我建议你尝试改变参数和/或积分范围;或者您在数学教科书中搜索分析解决方案(如果存在)。
tau <- 90
r <- 0
alpha <- .2
k <- 1
u<-1 # I set this parameter to 1, the value is not decisive for the problem
f1 <- function(c){(tau-u)*(alpha*k^alpha)^2/(k+c)^(alpha+1)*
(1/(k+r*tau+u+c)^(alpha+1)+
1/(k+r*tau-u+c)^(alpha+1))}
plot(f1, xlab="c")
PS:根据WolframAlpha,您的积分不会覆盖r=0
。换句话说,除了&#34; infinity&#34;之外似乎没有解决方案。在这种情况下。