[R-br] Erro na função integrate
Éder Comunello
comunello.eder em gmail.com
Sábado Maio 24 07:26:21 BRT 2014
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-curva-de-progresso-da-doenca-td4661943.html
")
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 em gmail.com>omunello.eder em gmail.com>
Dourados, MS - [22 16.5'S, 54 49'W]
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140524/2c64e5f0/attachment.html>
Mais detalhes sobre a lista de discussão R-br