R: errores de captura en `nls`

Estoy ajustando algunos datos exponenciales usandonls.

El código que estoy usando es:

fit <- nls(y ~ expFit(times, A, tau, C), start = c(A=100, tau=-3, C=0))

expFit Se define como

expFit <- function(t, A, tau, C)
    {
    expFit <- A*(exp(-t/tau))+C
    }

Esto funciona bien para la mayoría de mis datos, para lo cual los parámetros iniciales proporcionados (100, -3 y 0) funcionan bien. A veces, sin embargo, tengo datos que no van bien con esos parámetros y recibo errores denls (por ejemplo, "gradiente singular" o cosas por el estilo). ¿Cómo "atrapo" estos errores?

Traté de hacer algo como

fit <- NULL
fit <- nls(...)

if (is.null(fit))
    {
    // Try nls with other starting parameters
    }

Pero esto no funcionará porquenls parece detener la ejecución y el código despuésnls no se ejecutará ...

¿Algunas ideas?

Gracias nico

Respuestas a la pregunta(1)

Su respuesta a la pregunta