Learn R Programming

phenofit (version 0.3.9)

curvefit: Fine curve fitting

Description

Curve fit vegetation index (VI) time-series of every growing season using fine curve fitting methods.

Usage

curvefit(
  y,
  t = index(y),
  tout = t,
  methods = c("AG", "Beck", "Elmore", "Gu", "Klos", "Zhang"),
  w = NULL,
  ...,
  type = 1L,
  use.cpp = FALSE
)

Value

fFITs S3 object, see fFITs() for details.

Arguments

y

Vegetation time-series index, numeric vector

t

The corresponding doy of x

tout

The output interpolated time.

methods

Fine curve fitting methods, can be one or more of c('AG', 'Beck', 'Elmore', 'Gu', 'Klos', 'Zhang').

w

(optional) Numeric vector, weights of y. If not specified, weights of all NA values will be wmin, the others will be 1.0.

...

other parameters passed to curve fitting function.

type

integer, 1 or -1

  • 1: trough-to-trough curve fitting

  • -1: peak-to-peak curve fitting

use.cpp

(unstable, not used) boolean, whether to use c++ defined fine fitting function? If FALSE, R version will be used.

See Also

fFITs()

Examples

Run this code
library(phenofit)
# simulate vegetation time-series
FUN = doubleLog.Beck
par = c(mn  = 0.1, mx  = 0.7, sos = 50, rsp = 0.1, eos = 250, rau = 0.1)
t    <- seq(1, 365, 8)
tout <- seq(1, 365, 1)
y <- FUN(par, t)

methods <- c("AG", "Beck", "Elmore", "Gu", "Zhang") # "Klos" too slow
fit <- curvefit(y, t, tout = tout, methods)

Run the code above in your browser using DataLab