[R-br] Retornar duas soluções do comando optmim
Paulo Justiniano
paulojus em leg.ufpr.br
Sexta Outubro 2 16:54:20 BRT 2015
uma possível solução
rootSolve::polyroot()
se puder escrever o probçlema como encotnrar as multiplas raizes de um
polinomio, o que em geral é possível
On Fri, 2 Oct 2015, Wagner Wolff wrote:
> Olá pessoal!
> Estou precisando de uma ajuda, preciso encontrar uma solução para uma variável que terei que usar um método iterativo para estimá-la, entretanto, existe duas
> soluções (raízes) ou mais para esta variável e preciso da segunda solução pois é a que tem explicação física, sendo assim, a função optmim me retorna a primeira,
> gostaria que retornasse todas as soluções possíveis, alguém saberia como posso fazer isso? Ou indicar outra função. Segue o código e o gráfico mostrando as duas
> soluções, onde a linha horizontal intersepta o perfil.
>
> Abraço
>
> Ho <- 12
> Hvar <- 0.09061577
> k <- 4.182488e-06
>
> Lmax_fun <- function(par,Ho,Hvar,So,k){
> L <- par
> ((Ho*Hvar/((-So-(k*L^1.75))*(1-Hvar)))-L)^2
> }
> So <- -0.03
> (Lmax <- optim(par=100,fn=Lmax_fun,Ho=Ho,Hvar=Hvar,k=k,So=So,method ="BFGS"))
>
> abs(So)/(k*Lmax^1.75) >= 1.75+1 #Condição para valer a escolha da função
>
> L <- 1:300
> DEN_L <- ((-So-(k*L^1.75))*(1-Hvar))*L
>
> plot(L,DEN_L,type = "l",ylim = c(0,max(DEN_L)*1.10))
> abline(h=Ho*Hvar)
> points(x=Lmax,Ho*Hvar)
> Lmax2 <- 129.3757
> points(x=Lmax2,Ho*Hvar)
>
>
> [IMAGE]
>
>
>
Mais detalhes sobre a lista de discussão R-br