Anlise de Sistemas e Simulao em Ambiente Mtodos
Análise de Sistemas e Simulação em Ambiente Métodos numéricos e programação Outubro 2012
Análise de Sistemas e Simulação em Ambiente Sumário equações diferenciais ordinárias Definição Solução analítica Soluções numéricas método de Euler método de Heun método de Runge-Kutta Introdução à programação com Excel
Análise de Sistemas e Simulação em Ambiente Equações diferenciais ordinárias definição: uma equação diferencial ordinária é uma relação entre uma variável independente X e uma variável dependente Y em que entram um ou mais coeficientes diferenciais de Y com respeito a X.
Análise de Sistemas e Simulação em Ambiente Equações diferenciais representam modelos ambientais Exemplos: Modelo predador-presa (equações de Lotka-Volterra) d. H/dt=(a-b*P)*H d. P/dt=(-c+d*H)*P H - Número de presas P - Número de predadores t - tempo a - taxas de reprodução das presas na ausência de predadores b - taxa de morte das presas por encontro com predador c - taxa de morte dos predadores na ausência de presas d - ganho do predador por encontro com presa (= b * eficiência de conversão presa - predador) Com este modelo obtem-se os valores de H e P ao longo do tempo.
Análise de Sistemas e Simulação em Ambiente Equações diferenciais representam modelos ambientais exemplos: Modelo de dispersão de poluentes num fluído (equação de advecção-difusão) d. C/dt=-u*d. C/dx + D*d 2 C/dx 2 C – Concentração do poluente t - tempo x - espaço U - velocidade do fluído D – coeficiente de dispersão Com este modelo obtem-se os valores de C ao longo do tempo e do espaço.
Análise de Sistemas e Simulação em Ambiente Soluções analíticas Exemplo: reacção química de 1ª ordem Equação diferencial: dy/dx= -k*y y – concentração do reagente; k – taxa de reacção x - tempo Solução analítica: y = k *exp(-x) Para cada x calcula-se directamente o valor de y através de uma função contínua. Mas esta é uma situação simples. Para problemas mais complexos que ocorrem geralmente no ambiente tem de se utilizar métodos numéricos.
Análise de Sistemas e Simulação em Ambiente Método de Euler dy/dx= f(x, y) Novo valor = valor anterior + declive * passo de cálculo Ou em termos matemáticos: yi+1 = yi + f(xi, yi)*h Sendo o passo de cálculo h = xi+1 -xi Para iniciar o cálculo temos de conhecer o valor inicial de y (por exemplo, y 0). De seguida calcula-se y 1 e depois utiliza-se este valor para calcular y 2, repetindo -se o processo para os restantes valores pretendidos.
Análise de Sistemas e Simulação em Ambiente Cálculo de yi+1 y Valor previsto yi+1 Valor exacto yi h xi xi+1 x
Análise de Sistemas e Simulação em Ambiente Cálculo de yi+2 y Valor previsto yi+2 yi+1 yi h xi Valor exacto h xi+1 xi+2 x
Análise de Sistemas e Simulação em Ambiente Resolver dy/dx=-y utilizando o método de Euler y 0=1; yi+1 = yi + f(xi, yi)*h = yi – yi*h yi+2 = yi+1 – yi+1*h (a mesma fórmula para i+n) Para utilizar um método numérico tem de se definir o passo de cálculo. Neste exemplo utiliza-se h=0. 5: O erro vai crescendo! Exercício: fazer as contas com h/2 = 0. 25
Análise de Sistemas e Simulação em Ambiente Cálculo de yi+1 utilizando passo de cálulo h y Tangente em (xi, yi) Valor previsto yi+1 Valor exacto yi h xi xi+1 x
Análise de Sistemas e Simulação em Ambiente Cálculo de yi+1 e yi+2 utilizando passo de cálulo h/2 y yi+2 yi+1 yi Valor previsto Valor exacto h/2 xi xi+1 xi+2 x O erro diminui devido do aumento do número de cálculos
Análise de Sistemas e Simulação em Ambiente Método de Heun dy/dx= f(x, y) Dados conhecidos: yi, xi, f(xi, yi), h, xi+1. Pretende-se calcular yi+1 1 – calcula-se valor intermédio y’i+1 = yi + f(xi, yi)*h (corresponde ao método de Euler) 2 – calcula-se valor final yi+1 = yi + (f(xi, yi)+f(xi+1, y’i+1))*h / 2
Análise de Sistemas e Simulação em Ambiente Resolver dy/dx=-y utilizando o método de Heun y 0=1; y’i+1 = yi + f(xi, yi)*h = yi – yi * h Como f(xi+1, y’i+1)=-y’i+1 yi+1 = yi + (- yi + yi * h))*h/2 -y’i+1 Calcular para h=0. 5
Análise de Sistemas e Simulação em Ambiente Método de Heun - Cálculo de yi+1 utilizando passo de cálulo h y y declive = f(xi, yi) declive final= (f(xi, yi) +f(xi+1, y’i+1))/2 Valor previsto declive = f(xi+1, y’i+1) y’i+1 yi yi h xi xi+1 x Valor exacto h xi xi+1 O declive final corresponde à média dos dois declives calculados no primeiro gráfico x
Análise de Sistemas e Simulação em Ambiente Método de Runge-Kutta de 4ª ordem dy/dx= f(x, y) y i+1 = yi + (k 1+2 k 2+2 k 3+k 4) h/6 k 1=f(xi, yi) k 2=f(xi+h/2, yi+h. k 1/2) k 3=f(xi+h/2, yi+h. k 2/2) k 4=f(xi+h, yi+h. k 3) Exercício: resolver dx/dy = -y Resolução: k 1= -yi ; k 2= - (yi+h. k 1/2) ; k 3= - (yi+h. k 2/2) ; k 4= - (yi+h. k 3) y i+1 = yi + (k 1+2 k 2+2 k 3+k 4) h/6
Análise de Sistemas e Simulação em Ambiente Programação – exercício da aula Construir um modelo que resolva o sistema Predador-Presa descrito pelas seguintes equações: d. H/dt=(a 1 -b 1*P)*H d. P/dt=(-a 2+b 2*H)*P em que: H - presas P - Predadores t - tempo a 1 - taxas de reprodução das presas a 2 - taxa de morte dos predadores b 1 - taxa de morte das presas por encontro com predador b 2 - ganho do predador por encontro com presa (é b 1 * eficiência de conversão presa predador) Utilizar o método de Euler, de Heun Runge-Kutta. Correr o modelo considerando H 0=30, P 0=5, a 1=1, a 2=0. 5, b 1=0. 1, b 2=0. 02. Utilizar passo de cálculo (dt) = 0, 01 e calcular para um tempo total = 100
Análise de Sistemas e Simulação em Ambiente TPC: À semelhança do que foi feito na aula, programa o modelo que descreve a evolução de duas populações de predadores e uma população de presas descrito pelas seguintes equações: d. H/dt=a*H-c*H*Q-b*H*P d. P/dt=d*H*P-f*P d. Q/dt=e*H*Q-g*Q em que: H – população de presas P – população de predadores Y Q – população de predadores Z t – tempo (unidades de tempo) a - taxa de crescimento da presa (1/tempo) b – morte de presas por predação do predador Y (1/Y*tempo) c – morte de presas por predação do predador Z (1/Z*tempo) d – ganho por predação do predador Y (1/X*tempo) e – ganho por predação do predador Z (1/X*tempo) f – taxa de mortalidade do predador Y (1/tempo) g – taxa de mortalidade do predador Z (1/tempo) Corra o modelo entre o tempo 0 e o tempo 200, considerando: a = 1, 2 b = 0. 5 c = 0. 04 d = 0. 03 e = 0. 02 f = 0. 5 g = 0. 6 No início da simulação considere: H=10 P=5 Q=5 Utilize o método de Runge-Kutta 4ª ordem com um passo de cálculo de 0. 01.
Análise de Sistemas e Simulação em Ambiente Nota sobre o TPC: O Exercício do TPC tem duas componentes de avaliação: a) a implementação correcta do código em Visual Basic para Excel b) a interface de utilização do modelo. Pode ser utilizada qualquer tipo de interface, incluindo a apresentada na aula que comporta a utilização de células de excel para que o utilizador do modelo possa interagir. Podem construir janelas para a interacção ou pode ser inventada uma interface completamente nova. No caso da implemantação da interface que seja idealizada ser complexa, podem descrever brevemente como imaginavam o seu funcionamento. Podem-se inspirar nas aulas e visitas que fizeram durante a cadeira de ASSA. Notem que esta parte do trabalho é opcional, mas será considerada para a atribuição da nota final deste TPC.
Análise de Sistemas e Simulação em Ambiente bibliografia: Bossel, H. , Modeling and Simulation, A. K. Peters, Wellesley, Ma. , 1994. Brown, D. e Rothetry, P. , Models in Biology, John Wiley, New York, 1993. Chapra, S. e R. P. Canale, Numerical Methods for Engineers, Mc. Graw Hill, New York, 1986. Conte, S. D. e C. de Boor, Elementary Numerical Analysis, Mc. Graw Hill, New York, 1980.
- Slides: 20