0

我有一个需要最大化的联合可能性,这由大约 25 个不同的变量决定。我希望有一种方法可以找到使该函数最大化的变量值组合,而无需借助 25 个循环遍历每个可能值的“for”循环。

下面是一个小得多的可能性示例,使用“for”循环方法最大化,其中“temp”计算可能性的值,而 test 是一个记录所用变量值的向量:

h1=23
h2=31

test=c(NA,NA,NA,NA,0)
for (N in seq(60,150,10)) {
  for (p1 in seq(0.01,1,.01)) {
    for (p2 in seq(0.01,1,.01)) {
      for (S1 in seq(0.5,1,.005)) {
        temp=factorial(N)/(factorial(h1)*factorial(h2)*factorial(N-h1-h2))*(p1)^h1*((1-p1)*S1*p2)^h2*(1-(p1+(1-p1)*S1*p2))^(N-h1-h2)
        if (temp>test[5]) test=c(p1,p2,S1,N,temp)
      }
    }
  }
}
test

在此先感谢,谢尔盖

4

0 回答 0