R: pegando erros no `nls`

Estou ajustando alguns dados exponenciais usandonls.

O código que estou usando é:

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

expFit é definido como

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

Isso funciona bem para a maioria dos meus dados, para os quais os parâmetros de partida fornecidos (100, -3 e 0) funcionam bem. Às vezes, porém, tenho dados que não vão bem com esses parâmetros e recebo erros denls (por exemplo, "gradiente singular" ou coisas assim). Como "pego" esses erros?

Eu tentei fazer algo como

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

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

Mas isso não vai funcionar porquenls parece parar a execução e o código apósnls não será executado ...

Alguma ideia?

Obrigado nico

questionAnswers(1)

yourAnswerToTheQuestion