File: xDshewhartrunsrulesFixedm.arl.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-- 628 bytes parent folder | download | duplicates (7)
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

xDshewhartrunsrulesFixedm.arl <- function(delta, c=1, m=100, type="12") {
  mus <- (1:m)*delta

# Shewhart chart
  if (type=="1") {
    p0  <- pnorm(  3*c, mean=mus ) - pnorm( -3*c, mean=mus)
    arls <- 1/(1-p0[m])
    for ( i in (m-1):1 ) arls <- 1 + p0[i]*arls
  }

# ditto with runs rules
  if (type!="1") {
    Q <- xshewhartrunsrules.matrix(mus[m], c=c, type=type)
    dimQ <- nrow(Q)
    one <- rep(1, dimQ)
    I   <- diag(1, dimQ)
    arls <- solve(I-Q, one)

    for ( i in (m-1):1 ) {
      Q <- xshewhartrunsrules.matrix(mus[i], c=c, type=type)
      arls <- 1 + (Q %*% arls)[,1]
    }
  }

  arl <- arls[1]
  arl
}