Olá pessoal obrigado pelas dicas, problema solucionado.
Abraço
Wagner, veja a adaptação de seu código comentada abaixo.# funçãoLmax_fun <- function(par){L <- parHo <- 12Hvar <- 0.09061577So <- -0.03k <- 4.182488e-06((Ho*Hvar/((-So-(k*L^1.75))*(1-Hvar)))-L)^2}L <- 1:300Ho <- 12; Hvar <- 0.09061577; So <- -0.03; k <- 4.182488e-06DEN_L <- ((-So-(k*L^1.75))*(1-Hvar))*Lplot(L,DEN_L,type = "l", ylim = c(0,max(DEN_L)*1.10))abline(h=Ho*Hvar)# otimização unidimensional - optimize()# resultado depende do intervalo escolhido# pelo gráfico da função podemos ver os intervalos das raízesoptimize(f = Lmax_fun, interval = c(min(L), max(L)))optimize(f = Lmax_fun, interval = c(1, 200))optimize(f = Lmax_fun, interval = c(100, 300))library(pracma)# findmins() divide o intervalo de busca n vezes (n = 100 por default)mins <- findmins(f = Lmax_fun, min(L), max(L))points(mins, rep(Ho*Hvar, 3), pch = 20)#Condição para valer a escolha da funçãomins[abs(So)/(k*mins^1.75) >= 1.75+1]2015-10-02 14:48 GMT-03:00 Wagner Wolff <wwolff@usp.br>:AbraçoOlá 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.
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)
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.--###############################################################
## Jônatan Dupont Tatsch## Professor do Departamento de Física## Coordenador Substituto do Programa de Pós-Graduação em Meteorologia (PPGMET)## Centro de Ciências Exatas e Naturais (CCNE)## Universidade Federal de Santa Maria - UFSM## Faixa de Camobi, Prédio 13 - Campus UFSM - Santa Maria, RS, Brasil - 97105-900## Telefone: +55(55)33012083###############################################################
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.