I know that this issue was already discussed here but I faced with the problem I can't solve. I have list of persons, each represented with some time series consisting from 4-8 points. I want to approximate them all with the function $y=a\cdot x^2\cdot exp(-bx)+c$.
Thus for each person I am going to find his own "a", "b" and "c".
For most of them next code works very good:

`res=nls(p2[,2] ~ c+a*I(p2[,1]^2)*exp(b*p2[,1]),start=list(a=0.005,b=-0.005,c=5))`

However for some persons these starting values don't work, R returned "Missing value or an infinity produced when evaluating the model" or "singular gradient matrix at initial parameter estimates". For some of these people these starting values worked:

`res=nls(p2[,2] ~ c+a*I(p2[,1]^2)*exp(b*p2[,1]),start=list(a=0.1,b=-0.02,c=5))`

Could anybody give any clear suggestion how to choose starting points for all the people I consider?
I tried to use `tryCatch` to try different staring values and find those which work but another problem appeared: 
this code
`nls(p2[,2] ~ c+a*I(p2[,1]^2)*exp(b*p2[,1]),start=list(a=5,b=0,c=5))`
led to: 

```
        a         b         c 
 -0.00166  -0.00269 140.87366 

```

while 
`nls(p2[,2] ~ c+a*I(p2[,1]^2)*exp(b*p2[,1]),start=list(a=0.1,b=-0.02,c=5))`
led to

```
      a       b       c 
 0.2024 -0.0251 47.7811 

```

So by choosing different starting values we have different answers. How can this happen? I thought that since NLS function is quadratic, it can't have more than 1 extremum...
Do you have any suggestions about how should I proceed in this situation?