File: imr.Ru_Rlgiven.R

package info (click to toggle)
r-cran-spc 1%3A0.7.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,888 kB
  • sloc: ansic: 22,279; makefile: 2
file content (28 lines) | stat: -rw-r--r-- 624 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
imr.Ru_Rlgiven <- function(Rl, L0, N=30, qm=30, M0=12) {
  zero <- function(x) imr.arl(M0, x, 0, 1, vsided="two", Rl=Rl, N=N, qm=qm) - L0
  Ru1 <- sqrt(2) * qnorm(1-1/(4*L0))
  z1 <- zero(Ru1)
  Ru <- 0
  if ( z1 > 0 ) {
    while ( z1 > 0 ) {
      Ru2 <- Ru1
      Ru1 <- Ru1 / 1.1
      z1 <- zero(Ru1)
    }
  } else {
    if ( zero(2*M0-1e-10) > 0 ) {
      while ( z1 < 0 ) {
        Ru2 <- Ru1
        Ru1 <- Ru1 * 1.1
        z1 <- zero(Ru1)
      }
      z1 <- Ru1
      Ru1 <- Ru2
      Ru2 <- z1
    } else {
      Ru <- Inf
    }
  }
  if ( is.finite(Ru) ) Ru <- uniroot(zero, c(Ru1, Ru2), tol=1e-9)$root
  Ru
}