unirootDiscrete {binseqtest} R Documentation

## Identify where a non-increasing function changes sign

### Description

Let f be a non-increasing (or non-decreasing) function that changes sign within the interval specified. If 'pos.side'=TRUE (or FALSE) then unirootDiscrete finds the value x such that f(x) is closest to the sign change and is positive (or negative).

### Usage

unirootDiscrete(f, interval, lower = min(interval),
upper = max(interval), tol = 10^-5, pos.side = FALSE,
print.steps = FALSE, maxiter = 1000, ...)


### Arguments

 f function for which a root is needed interval an interval giving minimum and maximum allowable values for root lower lower bound for root upper upper bound for root tol absolute tolerance, abs(true root-estimated root)<= tol pos.side if TRUE finds value x closest to the sign change in f, such that f(x)>0 print.steps if true prints interations maxiter maximum number of iterations ... additional arguments to f

### Details

The algorithm evaluates f(x) iteratively, and the change in 'x' is halved each iteration until the change in 'x' is less than tol. Then the root is returned according to the pos.side parameter.

### Value

A list with the folllowing elements,

 iter number of iterations (times f is evaluated) f.root value of f(x), where x is the root root the root x, where f(x)>=0 if pos.side=TRUE

...

M.P. Fay

### Examples

test<-function(x,parm=10.987654321){ ifelse(x>=parm,1,-1) }
unirootDiscrete(test,lower=0,upper=100,tol=10^-4,pos.side=FALSE,print.steps=TRUE)


[Package binseqtest version 1.0.4 Index]