# findmaxbell: Implementation of Bell Extreme Finding Estimator (BEFE)... In RootsExtremaInflections: Finds Roots, Extrema and Inflection Points of a Curve

## Description

For a curve that can be classified as 'bell' a fast computation of its maximum is performed by applying Bell Extreme Finding Estimator (BEFE) algorithm of .

## Usage

 `1` ```findmaxbell(x, y, concave = TRUE) ```

## Arguments

 `x` A numeric vector for the independent variable without missing values `y` A numeric vector for the dependent variable without missing values `concave` Logical input, if TRUE then curve is supposed to have a maximum (default=TRUE)

## Details

If we want to compute minimum we just set concave=FALSE and proceed.

## Value

A named vector with next components is returned:

1. j1 the index of x-left

2. j2 the index of x-right

3. chi the estimation of extreme as x-abscissa

## Note

Please use function `classify_curve` if you have not visual inspection in order to find the extreme type. Do not use that function if curve shape is not 'bell', use either `symextreme` or `findextreme`.

## Author(s)

Demetris T. Christopoulos

## References

Demetris T. Christopoulos (2019). New methods for computing extremes and roots of a planar curve: introducing Noisy Numerical Analysis (2019). ResearchGate. http://dx.doi.org/10.13140/RG.2.2.17158.32324

`classify_curve`, `symextreme`, `findmaxtulip`, `findextreme`
 ``` 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 29``` ```# f=function(x){1/(1+x^2)} x=seq(-2,2.0,by=0.01);y=f(x) plot(x,y,pch=19,cex=0.5) cc=classify_curve(x,y) cc\$shapetype ## 1] "bell" a1<-findmaxbell(x,y) a1 ## j1 j2 chi ## 1.770000e+02 2.250000e+02 1.110223e-16 abline(v=a1['chi']) abline(v=x[a1[1:2]],lty=2);abline(h=y[a1[1:2]],lty=2) points(x[a1:a1],y[a1:a1],pch=19,cex=0.5,col='blue') # ## Same curve with noise from U(-0.05,0.05) set.seed(2019-07-26);r=0.05;y=f(x)+runif(length(x),-r,r) plot(x,y,pch=19,cex=0.5) cc=classify_curve(x,y) cc\$shapetype ## 1] "bell" a1<-findmaxbell(x,y) a1 ## j1 j2 chi ## 169.00 229.00 -0.02 abline(v=a1['chi']) abline(v=x[a1[1:2]],lty=2);abline(h=y[a1[1:2]],lty=2) points(x[a1:a1],y[a1:a1],pch=19,cex=0.5,col='blue') # ```