Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
disciplinas:ce709-2010 [2010/10/20 21:55] peccindisciplinas:ce709-2010 [2010/10/20 21:58] (atual) peccin
Linha 118: Linha 118:
  
 [[disciplinas:ce709-2010:atividades|Atividades e materiais dos participantes]] [[disciplinas:ce709-2010:atividades|Atividades e materiais dos participantes]]
- 
- 
-dados 
-plot(conc~dist) 
- 
-c0 <- 600 
-u <- 0.017 
-d <- 0.255 
-k <- 0.0002 
- 
-curve(c0*(exp((u*x/d-sqrt(u^2/d^2+4*k/d)*x))),add=TRUE) 
- 
-# exemplo de uso da optim() 
-cy=(c0*(exp((u*x/d-sqrt(u^2/d^2+4*k/d)*x))))  
- 
-  
-#----------------------------------------------------------- 
-# definição da função objetivo 
-  
-fun.objetivo <- function(theta,conc, dist){ 
-  sum((conc-(theta[1]*(exp((theta[2]*dist/theta[3]-sqrt(theta[2]^2/theta[3]^2+4*theta[4]/theta[4])*dist)))))^2) 
-} 
- 
-  
-#----------------------------------------------------------- 
-# escolha de valores iniciais 
-  
-start <- c(600,0.017,0.255,0.0002) 
-start <- c(577,77,0.7,1.28)  
-start <- c(300,5,8,2) 
- 
-#----------------------------------------------------------- 
-# optimização da função objetivo 
-  
-opt <- optim(start, fun.objetivo, conc=conc, dist=dist) 
-opt 
-  
-curve(opt$par[1]*(exp((opt$par[2]*x/opt$par[3]-sqrt(opt$par[2]^2/opt$par[3]^2+4*opt$par[4]/opt$par[4])*x))), add=TRUE, col=3) 
-  
- 
- 
-opt$value 
- 
- 
-#----------------------------------------------------------- 
-# usando outra função objetivo 
-  
-fun.objetivo <- function(theta, conc, dist){  
- n <- length(conc) 
- -(-n/2*log(2*pi)-n/2*log(theta[5]) 
- - sum(((conc-(theta[1]*(exp((theta[2]*dist/theta[3]-sqrt(theta[2]^2/theta[3]^2+4*theta[4]/theta[4])*dist))))))^2/(2*theta[5]))) 
- 
- 
- 
-  
-#----------------------------------------------------------- 
-# os chutes 
-start <- c(577,77,0.7,1.28,5) 
-start <- c(3,0.5,0.1) 
-  
-#----------------------------------------------------------- 
-# optimização 
-  
-opt <- optim(start, fun.objetivo, conc=conc, dist=dist) 
-opt 
-  
-curve(opt$par[1]*(exp((opt$par[2]*x/opt$par[3]-sqrt(opt$par[2]^2/opt$par[3]^2+4*opt$par[4]/opt$par[4])*x))), add=TRUE, col=2) 
-  
-#----------------------------------------------------------- 
- 
-UTILIZANDO O NLS 
- 
-mod=nls(conc~(c0*(exp((u*dist/d-sqrt(u^2/d^2+4*k/d)*dist)))),start=list(c0=577, u=76, d=0.7,k=6.2),trace=T) 
- 
- 
- 
  
  

QR Code
QR Code disciplinas:ce709-2010 (generated for current page)