求解R中联立方程的多根问题

求解R中联立方程的多根问题,r,R,我现在在使用multiroot时遇到问题。我无法找出问题所在,尽管与文档相比,语法和实现方式看起来是正确的。请建议。 我的代码如下: n <- 128 tn <- 28712 sumTc <- 784321 sumT <- 42382 model <- function(b,c){ c( 1/b -(tn^c)/(exp(b*(tn^c))-1), 1/c -(b*(tn^c))/(exp(b*(t^c))-1)+sum(log(tVec)/n)) } mu

我现在在使用multiroot时遇到问题。我无法找出问题所在,尽管与文档相比,语法和实现方式看起来是正确的。请建议。 我的代码如下:

n <- 128
tn <- 28712
sumTc <- 784321
sumT <- 42382
model <- function(b,c){
  c( 1/b -(tn^c)/(exp(b*(tn^c))-1),  1/c -(b*(tn^c))/(exp(b*(t^c))-1)+sum(log(tVec)/n))
}

multiroot(model, start=c(0.00004,1))

这给了我一个错误,上面写着fx中的错误,…:缺少参数c,没有默认值。

您需要使用向量作为函数的参数:

model <- function(x) {
  c(
    1/x[1] -(tn^x[2])/(exp(x[1]*(tn^x[2]))-1) - sumTc/n,  1/x[2] -(x[1]*(tn^x[2]))/(exp(x[1]*(tn^x[2]))-1)+sum(log(tVec)/n) +(x[1]*sum((tVec^x[2])*log(tVec))/n)
  )
}

因此,b和c现在在一个向量中,分别为x[1]和x[2]。

@VIDHYASHREE如果它解决了您的问题,最好是将问题标记为解决方案。我不确定如何将此评论标记为答案。@VIDHYASHREE右侧有一个勾号。另外,请参阅,这里有StackOverflow社区的概述。