
Alisson, bom dia! Com base na dica dada por Jobenil Júnior, pensei em comparar o procedimento utilizando uma função para cálculo aproximado da área abaixo da curva já postada aqui no fórum. ### <code r> # dvg <- function(x, ts, tr, a, n) {tr+(ts-tr)/((1+(a*x)^n)^(1-1/n))} dvg <- function(x){0.23+(0.64-0.23)/((1+(1.22*x)^1.34)^(1-1/1.34))} dvg(10) - dvg(1500) # [1] 0.1417496 integrate(dvg, lower = 10, upper = 1500) # 412.4841 with absolute error < 0.0011 # emprestando a função para cálculo da área abaixo da curva já postada por Walmes Zeviani browseURL(" http://r-br.2285057.n4.nabble.com/R-br-funcao-para-calculo-da-area-abaixo-da... ") aac <- function(x, y){ ox <- order(x) x <- x[ox] y <- y[ox] alt <- diff(x) bas <- y[-length(y)]+diff(y)/2 a <- sum(alt*bas) return(a) } x=seq(10,1500, by=10); y=dvg(x); aac(x, y) #[1] 412.5297 x=seq(10,1500, by=1); y=dvg(x); aac(x, y) #[1] 412.4846 x=seq(10,1500, by=.1); y=dvg(x); aac(x, y) #[1] 412.4841 integrate(dvg, lower = 10, upper = 1500) # 412.4841 with absolute error < 0.0011 ### visualização plot(x, y, ylim=c(0,.5), type='n') polygon(c(x[1],x,x[length(x)]),c(0,y,0), col=5) points(c(10,1500), c(dvg(10), dvg(1500)), col=2, pch=20) text(c(10,1500), c(dvg(10), dvg(1500)), round(c(dvg(10), dvg(1500)),4), cex=.5, pos=3) ### </code> Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]