<font face="trebuchet ms,sans-serif">Eduardo,<br><br>O grande gargalo com modelos de regressão não linear é o conhecimento que o usuário tem do modelo. Isso porque o usuário deve passar valores iniciais para o procedimento iterativo. Quando melhor são os valores maiores são as chances de sucesso. Isso você pode extrair de uma pesquisa semelhante a sua com dados de mesma natureza ou extrair essa informação do gráfico quando os parâmetros têm interpretação cartesiana.<br>
Aqueles limites que você declarou do SAS, penso eu, que são limites para um procedimento brute-force que vai varrer dentro daqueles intervalos o melhor valor inicial para os parâmetros, que depois serão passados para otimização. Isso é comum é modelos com muitos parâmetros, primeiro faz se a busca num conjunto discreto de valores e depois os melhores valores são passados para o otimizador. No R você pode fazer isso com a função nls2::nls2(..., algorithm="brute-force"), e passar os melhores valos para a nls().<br>
Para o caso de encontrar chutes iniciais, você pode usar os recursos gráficos interativos do R. O RStudio tem a função manipulate::manipulate(), o pacote gWidgetsRGtk2 também oferece formas de implementar e o playwith::playwith() também. O procedimento é plotar uma curva sobre os dados e mover os deslizadores que alteram valores dos parâmetros de forma da curva. Vai movendo até encontrar a melhor combinação e usá-la para passar para a nls(). Veja estes exemplos<br>
<br><a href="http://ridiculas.wordpress.com/2011/04/09/metodo-grafico-interativo-para-valores-iniciais-em-regressao-nao-linear/">http://ridiculas.wordpress.com/2011/04/09/metodo-grafico-interativo-para-valores-iniciais-em-regressao-nao-linear/</a><br>
<a href="http://ridiculas.wordpress.com/2011/07/01/metodo-grafico-para-valores-iniciais-em-regressao-nao-linear-com-rstudio/">http://ridiculas.wordpress.com/2011/07/01/metodo-grafico-para-valores-iniciais-em-regressao-nao-linear-com-rstudio/</a><br>
<br>Aqui eu fiz um ajuste com dados simulados pelo modelo que você passou, com valores dos parâmetros dentro daqueles limites.<br><br><span style="font-family: courier new,monospace;">> # gerar dados para ilustrar exemplo</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">> VcnF <- 100</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">> kdcnf <- 0.1</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">> L <- 2</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">> VcF <- 75</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">> kdcf <- 0.9</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">> Tempo <- seq(0,4,l=30)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">> Y <- (VcnF/(1+exp(2-4*kdcnf*(L-Tempo)))+ VcF/I(1+exp(2-4*kdcf*(L-Tempo))))</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">> plot(Y~Tempo)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">> </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">> # soma erro aleatório</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">> set.seed(17082011)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">> y <- Y+rnorm(length(Tempo),0,2)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">> plot(y~Tempo)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">> </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">> # ajusta modelo</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">> n0 <- nls(y~(VcnF/(1+exp(2-4*kdcnf*(L-Tempo)))+</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">+ VcF/I(1+exp(2-4*kdcf*(L-Tempo)))),</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">+ start=list(VcnF=100, kdcnf=0.4, L=2, VcF=75, kdcf=0.5))</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">> summary(n0)</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Formula: y ~ (VcnF/(1 + exp(2 - 4 * kdcnf * (L - Tempo))) + VcF/I(1 + </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> exp(2 - 4 * kdcf * (L - Tempo))))</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Parameters:</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> Estimate Std. Error t value Pr(>|t|) </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">VcnF 75.50288 20.46526 3.689 0.0011 ** </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">kdcnf 0.10316 0.04780 2.158 0.0407 * </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">L 2.07184 0.05375 38.548 < 2e-16 ***</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">VcF 79.33454 9.54395 8.313 1.16e-08 ***</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">kdcf 0.82652 0.09224 8.960 2.80e-09 ***</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">---</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 </span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Residual standard error: 1.771 on 25 degrees of freedom</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Number of iterations to convergence: 13 </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Achieved convergence tolerance: 5.083e-06 </span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">> </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">> # gráfico da curva estimada sobre os valores observados</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">> c0 <- do.call(data.frame, as.list(coef(n0)))</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">> with(c0,</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">+ {</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">+ curve((VcnF/(1+exp(2-4*kdcnf*(L-x)))+ VcF/I(1+exp(2-4*kdcf*(L-x)))),</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">+ add=TRUE, col=2)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">+ })</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">> </span><br style="font-family: courier new,monospace;"><br>À disposição.<br>Walmes.<br><br></font><span style="font-family: trebuchet ms,sans-serif;">==========================================================================</span><br style="font-family: trebuchet ms,sans-serif;">
<span style="font-family: trebuchet ms,sans-serif;">Walmes Marques Zeviani</span><br style="font-family: trebuchet ms,sans-serif;"><span style="font-family: trebuchet ms,sans-serif;">LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)</span><br style="font-family: trebuchet ms,sans-serif;">
<span style="font-family: trebuchet ms,sans-serif;">Departamento de Estatística - Universidade Federal do Paraná</span><br style="font-family: trebuchet ms,sans-serif;"><span style="font-family: trebuchet ms,sans-serif;">fone: (+55) 41 3361 3573</span><br style="font-family: trebuchet ms,sans-serif;">
<span style="font-family: trebuchet ms,sans-serif;">VoIP: (3361 3600) 1053 1173</span><br style="font-family: trebuchet ms,sans-serif;"><span style="font-family: trebuchet ms,sans-serif;">e-mail: <a href="mailto:walmes@ufpr.br" target="_blank">walmes@ufpr.br</a></span><br style="font-family: trebuchet ms,sans-serif;">
<span style="font-family: trebuchet ms,sans-serif;">twitter: @walmeszeviani</span><br style="font-family: trebuchet ms,sans-serif;"><span style="font-family: trebuchet ms,sans-serif;">homepage: <a href="http://www.leg.ufpr.br/%7Ewalmes" target="_blank">http://www.leg.ufpr.br/~walmes</a></span><br style="font-family: trebuchet ms,sans-serif;">
<span style="font-family: trebuchet ms,sans-serif;">linux user number: 531218</span><br style="font-family: trebuchet ms,sans-serif;"><span style="font-family: trebuchet ms,sans-serif;">==========================================================================</span><br>