R中的Excel求解器

时间:2017-12-10 10:03:58

标签: r excel search package solver

我一直试图在r中找到与excel求解器类似的东西。

例如,我有以下程序:

L=2.4
UCL=L; LCL=-L
ARL=1/(pnorm(LCL, mean = 0, sd = 1, lower.tail = TRUE)+pnorm(UCL, mean = 0, 
sd = 1, lower.tail = FALSE))

我希望r搜索" L"这样我的结果" ARL"接近于200.

r中有没有办法这样做?

1 个答案:

答案 0 :(得分:1)

f <- function(L) {
  UCL=L; LCL=-L
  ARL=1/(pnorm(LCL, mean = 0, sd = 1, lower.tail = TRUE)+pnorm(UCL, mean = 0, 
                                                               sd = 1, lower.tail = FALSE))
  ARL-200
}

uniroot(f,c(1,10))

它会返回

$root
[1] 2.807

$f.root
[1] -0.0003725

$iter
[1] 13

$init.it
[1] NA

$estim.prec
[1] 6.532e-05

因此解决方案是L = 2.807并且需要13次迭代。