Sometimes when I try to fit a model to data using the gnls function, it doesn't return optimized values of the model parameters. Instead it just returns the exact same values I used as initial guesses, but with standard errors calculated. Example is as follows: two_site_mHb <- gnls(y ~ (CS_AH2 + CS_AH1*10^(n1*(x-pKa1)) + CS_A_*10^ ((n1+1)*x-n1*pKa1-pKa2)) / (1 + 10^(n1*(x-pKa1)) + 10^((n1+1)*x- n1*pKa1-pKa2)), start=list(CS_AH2=y[1], CS_A_=y[length(y)], CS_AH1=y [length(y)/2], pKa1=3.3, pKa2=5.9, n1=1.5)) and the results are: Generalized nonlinear least squares fit Model: y ~ (CS_AH2 + CS_AH1 * 10^(n1 * (x - pKa1)) + CS_A_ * 10^ ((n1 + 1) * x - n1 * pKa1 - pKa2))/(1 + 10^(n1 * (x - pKa1)) + 10^((n1 + 1) * x - n1 * pKa1 - pKa2)) Data: NULL AIC BIC logLik -112.2501 -105.6390 63.12505 Coefficients: Value Std.Error t-value p-value CS_AH2 8.390 0.0081958 1023.6969 0 CS_A_ 8.629 0.0051456 1676.9804 0 CS_AH1 8.663 0.0085524 1012.9321 0 pKa1 3.300 0.0443557 74.3985 0 pKa2 5.900 0.4938263 11.9475 0 n1 1.500 0.2288179 6.5554 0 Correlation: CS_AH2 CS_A_ CS_AH1 pKa1 pKa2 CS_A_ -0.044 CS_AH1 -0.288 0.179 pKa1 0.436 0.083 0.413 pKa2 0.179 -0.504 -0.681 -0.295 n1 0.641 -0.095 - 0.585 0.065 0.373 Standardized residuals: Min Q1 Med Q3 Max -1.85468073 -0.10985684 0.05285202 0.45446735 1.81225021 Residual standard error: 0.01055068 Degrees of freedom: 19 total; 13 residual Any thoughts as to why it's just spitting back the initial guesses, and how it might be avoided? Thanks. -Brian Doctrow [[alternative HTML version deleted]]