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
Próxima revisão
Revisão anterior
Última revisãoAmbos lados da revisão seguinte
exercicios:calc1 [2012/05/11 17:14] – [Método de Euler] adalardoexercicios:calc1 [2013/05/06 18:57] – [Agora é realmente com vc.] adalardo
Linha 138: Linha 138:
  
 A aproximação foi boa? Tente repetir o mesmo código com dt = 0.01 e 0.001 e compare. A aproximação foi boa? Tente repetir o mesmo código com dt = 0.01 e 0.001 e compare.
-====== Integração Numérica no R ======   +====== Integração Numérica no R ====== 
-Vamos integrar numericamente algumas equações usando o pacote deSolve e a função //ode//.+Não precisamos fazer todo o procedimento anterior para fazer a integração numérica no {{:exercicios:rlogo.jpg?20  |}}, existem soluções implementadas previamente que são muito mais eficientes e robusta que a nossa. 
 +Vamos integrar numericamente algumas equações usando o pacote //deSolve// e a função //ode//.
 Antes de tudo precisa instalar e carregar o pacote. Para instalar você pode usar o menu do RGui ou pela linha de comando, digite: Antes de tudo precisa instalar e carregar o pacote. Para instalar você pode usar o menu do RGui ou pela linha de comando, digite:
  
Linha 217: Linha 218:
  
   *1. $ \frac{dy}{dt} = y-y^2*f(t)$   *1. $ \frac{dy}{dt} = y-y^2*f(t)$
-    * sendo: $f(t)= + 0.sin(2\pi Mt)$;+    * sendo: $f(t)= 0.01 + 0.01 sin(2\pi Mt)$;
     * M=15     * M=15
   *2. $\frac{dn}{dt} = r(t)*n $    *2. $\frac{dn}{dt} = r(t)*n $ 
-    * sendo: $r(t)= 0 + 0.1 sin(2 \pi t)$+    * sendo: $r(t)= 0.1 - 100 sin(2 \pi t)$
  
-Uma solução:  
  
-<code> 
-### primeiro caso 
-fy3 <- function(time,y, parms) 
-  { 
-   n=y[1] 
-   M=parms[1] 
-   r=0.01+ 0.01*sin(2*pi* M *time) 
-   dy.dt=n-n^2 * r 
-   return(list(c(dy.dt)))  
-  }  
-y0 = 10 
-prmt=c(M=1) 
-st=seq(0.1,20,by=0.01) 
-res.fy3= ode(y=y0,times=st, func=fy3,parms=prmt) 
-plot(res.fy3[,1], res.fy3[,2], type="l", col="red",lwd=2, xlab="tempo", ylab="y") 
- 
-### segundo caso 
- 
-fy4 <- function(time,y, parms) 
-  { 
-   n=y[1] 
-   rt= 0.1-100*(sin(2*pi*time)) 
-   dy.dt=rt*n 
-   return(list(c(dy.dt)))  
-  }  
-y0 = c(.1) 
-#prmt=c(M=1) 
-st=seq(0.1,20,by=0.0001) 
-res.fy4= ode(y=y0,times=st, func=fy4) 
-plot(res.fy4[,1], res.fy4[,2], type="l", col="red",lwd=2, xlab="tempo", ylab="y") 
- 
-</code> 
exercicios/calc1.txt · Última modificação: 2024/01/09 18:18 por 127.0.0.1
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0