Baixe o app para aproveitar ainda mais
Prévia do material em texto
EQUAÇÃO DIFERENCIAL ORDINÁRIA PROBLEMA DE VALOR INICIAL cayyxf dx dy )( :inicial cond.,),( Geralmente a variável x representa o tempo e a equação diferencialrepresenta a lei da natureza que descreve a taxa de variação de uma grandeza Exemplo: A taxa de crescimento de uma população é proporcional à população: habitantes de numero :, NKN dt dN É comum uma situação ser descrito por um sistema de equações diferenciais siyyyxf dx dy si i ,,2,1,),,,,( 21 Em notação vetorial: cyyfy )(,),( ax dx d Equações diferenciais de ordem superior podem ser escritas comoum sistema de equações diferenciais de primeira ordem 333213 2232 1121 2 2 321 3212 2 3 3 )0(,),,,( )0(, )0(, ,, )0(,)0(,)0( :iniciais cond.,,,, xg dx d dx d dx d dx yd dx dyy yyy dx yd dx dyyxg dx yd MÉTODO DE EULER Método de Passo a Passo Explícito: O valor da função no instante k+1é calculado somente em função do valor da função no instante k Também conhecido como Método da Tangente Solução numérica: A função y(x) não será obtida para todos os valores de x Definir pontos xi onde a função y(x) será calculada: Malha x y 0x 1x 2x 3x 4x 1y 0y 2y Série de Taylor de y(x) em xk: ),( )(2)()()( 1 2 1 kkkk kkkk yxfhyy xyhxyhxyxy Exemplo: 1)0(; :Resolver yy dx dy Solução exata: xexy )( Método de Euler: kkkkk yhyyyxfhyy 11 ),( xk y(xk) yk Erro0.0 1.000 1.000 0.0000.2 1.221 1.200 -0.0210.4 1.492 1.440 -0.0520.6 1.822 1.728 -0.094 h = 0.2 xk y(xk) yk Erro0.0 1.000 1.000 0.0000.1 1.105 1.100 -0.0050.2 1.221 1.210 -0.0110.3 1.350 1.331 -0.0190.4 1.492 1.464 -0.0280.5 1.649 1.610 -0.0390.6 1.822 1.771 -0.051 h = 0.1 A solução apresenta erros. Aparentemente o erro é proporcional ao passo h Dois tipos de Erros: Erro de Truncamento (Discretização)Erro de Arredondamento Erro de Truncamento (Discretização) )(),( kkk xyyxhE Erro que surge devido à aproximação da curva y(x)por uma reta no intervalo h Propagação do erro: Solução numérica tende a aproximar a solução exata que passa por (xk ,yk) Erro pode ser decrescido diminuindo-se o passo h x y Família de curvas Aumento do número de intervalos leva a umaumento do número de cálculos necessários e consequentementeum aumento do tempo computacional e dos erros de arredondamento hn 1 Erro Truncamento Total Arredondamento Existe um tamanho de passo ótimo para produzir o erro mínimo Análise do Erro de Truncamento para o Método de Euler )(),( kkk xyyxhE ERRO GLOBAL ERRO LOCAL: Diferença entre o valor yk e o valor da solução exataque passa pelo ponto (xk-1, yk-1) x y Erro local ),( 11 kk yx Erro global Deseja-se obter uma estimativa do erro e saber se o erro cresce ou não x y ),( 00 yx ))(,( 11 xyx ),( 11 yx ))(,( 22 xyx 0 Se yf ),( 1 ),(),( kk yxy kkkk yxfhyyyxfdx dy FAMÍLIA DE CURVAS DIGERVE ))(,(),( 1111 xyxyyxy ERRO AUMENTA EXPONENCIALMENTE x y ),( 00 yx ))(,( 11 xyx ),( 11 yx ))(,( 22 xyx 0 Se yf FAMÍLIA DE CURVAS DIGERVE ))(,(),( 1111 xyxyyxy ERRO LOCAL COMPENSA ERRO DA DISCRETIZAÇÃO SE O ERRO LOCAL EM TODOS OS PONTOS FOR MENOR DO QUE O ERRO GLOBAL SATISFAZ A SEGUINTE CONDIÇÃO: Lh exyy Lh y fL e exyy Lnh nn xxxLh Lnh nn n 1)( :pequenofor Se max onde ;11)( 0 Erro pode crescer exponencialmente se L > 0 Erro pode ficar em uma faixa aceitável se h for muito pequeno Análise do Estabilidade ESTÁVEL: Produz solução limitada INSTÁVEL: Produz solução que tente ao infinito )( O Método de Euler é condicionalmente estável y dx dy :Exemplo Solução exata: Solução pelo método de Euler: xeyxy 0)( n nnnn hyyyhyy )1(011 Observe que, por serie de Taylor: 2)(1 2hhe h A solução pelo método de Euler produz os dois primeiros termos da serie de Taylor 0 Para Solução exata decai com x Solução aproximada pode crescer com x se 1h1 :)1(2 Para 0 y Para <0, o Método de Euler só é estável para 2h Metodo de Euler: -2.0000 h = h = h =0.2000 0.4000 1.0000Xk Exata Yk Yk Yk0.00 1.0000 1.0000 1.0000 1.00000.20 0.6703 0.60000.40 0.4493 0.3600 0.20000.60 0.3012 0.21600.80 0.2019 0.1296 0.04001.00 0.1353 0.0778 -1.00001.20 0.0907 0.0467 0.00801.40 0.0608 0.02801.60 0.0408 0.0168 0.00161.80 0.0273 0.01012.00 0.0183 0.0060 0.0003 1.00002.20 0.0123 0.00362.40 0.0082 0.0022 0.00012.60 0.0055 0.00132.80 0.0037 0.0008 0.00003.00 0.0025 0.0005 -1.00003.20 0.0017 0.0003 0.00003.40 0.0011 0.00023.60 0.0007 0.0001 0.00003.80 0.0005 0.00014.00 0.0003 0.0000 0.0000 1.00004.20 0.0002 0.00004.40 0.0002 0.0000 0.00004.60 0.0001 0.00004.80 0.0001 0.0000 0.00005.00 0.0000 0.0000 -1.0000 -1.5000 -1.0000 -0.5000 0.0000 0.5000 1.0000 1.5000 0.00 1.00 2.00 3.00 4.00 5.00 Exata h=0.2 h=0.4 h=1.0 Microsoft Excel Worksheet 1)0(, problema oResolver yyy Comparar a solução exata com a obtida pelo método de Euler com h = 0.1, h = 0.5, h = 1.5 e h = 2. Metodo de Euler: -1.0000 h=0.1 h=0.5 h=1.50.00 1.0000 1.0000 1.0000 1.00000.10 0.9048 0.90000.20 0.8187 0.81000.30 0.7408 0.72900.40 0.6703 0.65610.50 0.6065 0.5905 0.50000.60 0.5488 0.53140.70 0.4966 0.47830.80 0.4493 0.43050.90 0.4066 0.38741.00 0.3679 0.3487 0.25001.10 0.3329 0.31381.20 0.3012 0.28241.30 0.2725 0.25421.40 0.2466 0.22881.50 0.2231 0.2059 0.1250 -0.50001.60 0.2019 0.18531.70 0.1827 0.16681.80 0.1653 0.15011.90 0.1496 0.13512.00 0.1353 0.1216 0.06252.10 0.1225 0.10942.20 0.1108 0.09852.30 0.1003 0.08862.40 0.0907 0.07982.50 0.0821 0.0718 0.03132.60 0.0743 0.06462.70 0.0672 0.05812.80 0.0608 0.05232.90 0.0550 0.04713.00 0.0498 0.0424 0.0156 0.25003.10 0.0450 0.03823.20 0.0408 0.03433.30 0.0369 0.03093.40 0.0334 0.02783.50 0.0302 0.0250 0.00783.60 0.0273 0.02253.70 0.0247 0.02033.80 0.0224 0.01823.90 0.0202 0.01644.00 0.0183 0.0148 0.0039 -0.6000 -0.4000 -0.2000 0.0000 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 0.00 1.00 2.00 3.00 4.00 5.00 exata h=0.1 h=0.5 h=1.5 Microsoft Excel Worksheet MÉTODO DE EULER DE ORDEM ELEVADA ),(2),()()( ),()( Onde )(2)()()( 2 1 2 1 kkkkkk k kkkk yxf y f x fhyxfhxyxy dx dy y f x fyxf dx dy dx dxy xyhxyhxyxy 1)( :Exata Sol. 2)0(, :Resolver xexyyxy dx dy x Usar método de Euler de segunda ordem com h = 0.1 MÉTODO DE RUNGE-KUTTA Método de Passo a Passo Explícito: O valor da função no instante k+1é calculado somente em função do valor da função no instante k O coeficiente que multiplica o passo h no cálculo da função no instante k+1é calculado de forma que a expansão coincida com o desenvolvimentoem série de Taylor até os termos de ordem N (ordem do método) Derivação para Runge-Kutta de segunda ordem: ),(Aprox. 2)()( :ordem) (2Taylor de Serie ),( c.i.,),( 21211 2 1 a 00 kkkkkk kk kkk FhyhxFhFhyy dx dy y F x FhFhxyxy yxyxF dx dy () As constantes são determinadas de tal forma que asexpressões anteriores coincidam2121 ,,, Por série de Taylor: y FF x FhFhyy y FFh x FhyxFFhyhxF k k k kkk k k k kkkkk 2122211 2121 ),(),( A solução aproximada fica: ()Comparando com 1 e 2121;21;1 2121221221 ),( ),(;22121211 hfyhxFf yxFfffhyy kk kkkk RUNGE KUTTA DE QUARTA ORDEM 34 23 12 1 43211 , 2 ,2 2,2 ),( 6336 hfyhxFf fhyhxFf fhyhxFf yxFf ffffhyy kk kk kk kk kk Método de Runge-Kutta mais utilizado Boa combinação entre precisão e simplicidade de programação )5.0 ordem, quarta Kutta-(Runge 1)0(, problema oResolver hyyy 304 203 102 01 432101 5.02 5.02 5.0 2265.0 ),( fyf fyf fyf yf ffffyy yyxF Metodo de Runge-Kutta (4 ordem): h = 0.5000 f1 f2 f3 f4 y - approx0.00 1.0000 1.00000.50 0.6065 -1.0000 -0.7500 -0.8125 -0.5938 0.60681.00 0.3679 -0.6068 -0.4551 -0.4930 -0.3603 0.36821.50 0.2231 -0.3682 -0.2761 -0.2991 -0.2186 0.22342.00 0.1353 -0.2234 -0.1675 -0.1815 -0.1326 0.13552.50 0.0821 -0.1355 -0.1017 -0.1101 -0.0805 0.08223.00 0.0498 -0.0822 -0.0617 -0.0668 -0.0488 0.04993.50 0.0302 -0.0499 -0.0374 -0.0405 -0.0296 0.03034.00 0.0183 -0.0303 -0.0227 -0.0246 -0.0180 0.01844.50 0.0111 -0.0184 -0.0138 -0.0149 -0.0109 0.01115.00 0.0067 -0.0111 -0.0084 -0.0091 -0.0066 0.00685.50 0.0041 -0.0068 -0.0051 -0.0055 -0.0040 0.00416.00 0.0025 -0.0041 -0.0031 -0.0033 -0.0024 0.00256.50 0.0015 -0.0025 -0.0019 -0.0020 -0.0015 0.00157.00 0.0009 -0.0015 -0.0011 -0.0012 -0.0009 0.00097.50 0.0006 -0.0009 -0.0007 -0.0007 -0.0005 0.00068.00 0.0003 -0.0006 -0.0004 -0.0005 -0.0003 0.00038.50 0.0002 -0.0003 -0.0003 -0.0003 -0.0002 0.00029.00 0.0001 -0.0002 -0.0002 -0.0002 -0.0001 0.00019.50 0.0001 -0.0001 -0.0001 -0.0001 -0.0001 0.000110.00 0.0000 -0.0001 -0.0001 -0.0001 0.0000 0.0000 5.1 ordem, quarta Kutta-Runge h Metodo de Runge-Kutta (4 ordem): h = 1.5000 f1 f2 f3 f4 RK EULER0.00 1.0000 1.0000 1.00001.50 0.2231 -1.0000 -0.2500 -0.8125 0.2188 0.2734 -0.50003.00 0.0498 -0.2734 -0.0684 -0.2222 0.0598 0.0748 0.25004.50 0.0111 -0.0748 -0.0187 -0.0607 0.0164 0.0204 -0.12506.00 0.0025 -0.0204 -0.0051 -0.0166 0.0045 0.0056 0.06257.50 0.0006 -0.0056 -0.0014 -0.0045 0.0012 0.0015 -0.03139.00 0.0001 -0.0015 -0.0004 -0.0012 0.0003 0.0004 0.015610.50 0.0000 -0.0004 -0.0001 -0.0003 0.0001 0.0001 -0.0078 -0.6000 -0.4000 -0.2000 0.0000 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 0.00 2.00 4.00 6.00 8.00 10.00 12.00 Exata RK Euler Exercício Escreva uma rotina MatLab para solução de um problema de valor inicial usando os métodos de Euler explícito de primeira ordem e Runge-Kutta de quarta ordem. Utilize a rotina desenvolvida para resolver o problema: Determine o valor de para diferentes passos de tempo. RUNGE KUTTA PARA SISTEMA DE EDOS 334 223 112 1 43211 0 0 ,, 2 ,2,2 2,2,2 ,, 226 )(;),,( )(;),,( hgzhfyhxFf ghzfhyhxFf ghzfhyhxFf zyxFf ffffhyy BxzzyxG dx dz AxyzyxF dx dy kkk kkk kkk kkk kk 334 223 112 1 43211 ,, 2 ,2,2 2,2,2 ,, 226 hgzhfyhxGg ghzfhyhxGg ghzfhyhxGg zyxGg gggghzz kkk kkk kkk kkk kk Exercício As equações de Lotka-Volterra descrevem a evolução da população de um sistema predador-presa, onde x e y são os números de presas e predadores, a é a taxa de crescimento da presa, c é a taxa de morte do predador e b e d são taxas caracterizando o efeito da interação predador-presa na morte da presa e no crescimento do predador, respectivamente. a) Determine a evolução da população no intervalo 0 < t < 30 utilizando o método de RK-4ª ordem. Compare os resultados em termos do valor de passo de tempo necessário para obter a solução do problema. Utilize os seguintes dados: dxycy dt dy bxyax dt dx 1)0( 2)0( 4,08,0 6,0 2,1 ty tx d c b a b) Construa o gráfico da população da presa em função da população do predador. Comente o resultado obtido. c) O que acontece quando ?2)0( 2)0( ty tx MÉTODOS IMPLÍCITOS Nos métodos vistos até agora, o valor da função no instante k+1é calculado somente em função de informações no instante k. Como visto anteriormente, os métodos explícitos somente são estáveiscomo o tamanho do passo muito pequeno. x y 0x 1x 2x 1y 2y ),( ),( )(2)()()( 111 111 1 2 111 kkkk kkkk kkk x k yxfhyy yxfhyy xyhxyhxyhxy hx k Série de Taylor para trás ao redor de xk+1: Lado direito da equação não é conhecido !! MÉTODO DE EULER IMPLÍCITO 1)0(, problema oResolver yyy )1( )(),(),( 1 11111 h yy yhyyyxfhyy yyxF k k kkkkkkk Metodo de Euler Implicito -1.0000 h=1.5 (EXP) h=0.5 (IMP)0.00 1.0000 1.0000 1.00000.50 0.60651.00 0.36791.50 0.2231 -0.5000 0.40002.00 0.13532.50 0.08213.00 0.0498 0.2500 0.16003.50 0.03024.00 0.01834.50 0.0111 -0.1250 0.0640 -0.6000 -0.4000 -0.2000 0.0000 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 0.00 1.00 2.00 3.00 4.00 5.00 Exata Euler Explicito Euler Implicito Em casos simples, a equação pode ser facilmente rearrumada para determinar a função no passo k+1 Se F(x,y) for uma função não linear, a função no passo k+1 será calculada através da solução de uma equação não linear (pelo Método de Newton, por exemplo). O método de Euler Implícito é incondicionalmente estável 1)0(, problema oResolver yyy x k x kk x kkkkkkk x yyhy yhyyyxfhyy yyxF k k 1 1 11 11111 ),( ),( O valor de yk+1 não pode ser explicitada em função de yk Para cada passo, deve-se determinar a raiz da equação não linear conhecidos ,,;0 cbacayy b Cálculo pelo Método de Newton, por exemplo )(1 )()()()1( )( )0( ofim_equant1 repetir ,)( Enquanto0 0)( j k jjjj j k b yy jj yfyfyy yf j yy cayyyf MÉTODO IMPLÍCITO DE SEGUNDA ORDEM (MÉTODO DO TRAPÉZIO) x y 0x 1x 2x 1y 2yTeorema do Valor Médio: ),(),(21)()(21)(Tomar )( )()()( que tal, 111 1 1 11 kkkkkk kk xk kk kk yxfyxfxyxyy yhyy xx xyxyyxx 111 ,,2 kkkkkk yxfyxfhyy Método de segunda ordem (erro decai com h2) Método Estável Mesmas dificuldades do Método de Primeira Ordem (Euler) Exercício Escreva uma rotina SciLab para solução de um problema de valor inicial usando o método de Euler implícito de primeira ordem. Utilize a rotina desenvolvida para resolver o problema: Determine o valor de para diferentes passos de tempo. MÉTODOS PREDITOR-CORRETOR Na resolução de uma equação diferencial deve-se decidir entre o uso deum método explícito, mais fácil e não estável, e o uso de ummétodo implícito, mais difícil, porém estáveis. Quando a equação diferencial é não linear, deve-se usar técnicas iterativaspara resolver a equação não linear resultante em cado passo. Para o Método de Newton, o chute inicial deve ser bom para o processoconvergir em poucas iterações. Uma opção é usar um método explícito para obter o chute inicial doprocesso iterativo (Preditor) e um método implícito para obtera solução (Corretor). Método de Heun: Preditor: Euler e Corretor: Trapézio 111* 1 * 1 ,,2 :Inicial Chute ),( kkkkkkk kkkk yxfyxfhyyy yxfhyy MÉTODOS DE MÚLTIPLOS PASSOS Nos métodos vistos até agora, o valor yk+1 depende somente de informações no instante anterior k no instante presente k+1. Métodos de Múltiplos Passos:Usar informações em vários pontos anteriorespara obter maior precisão. Passo Único: ),()( 11 kkkkkk yxfh yyhOh yydxdy Dois Passos: ),(2 ),(2)(2 11 11311 kkkk kk kkkk yxfhyy yxf h yyhO h yy dx dy )()(2)()( )(6)(2)()()( )(6)(2)()()( 311 32 1 32 1 hOxyhxyxy xyhxyhxyhxyxy xyhxyhxyhxyxy kkk kkkkk kkkkk MÉTODO LEAPFROG Idéia geral dos Métodos de Múltiplos Passos: Usar informações em vários pontos anteriores a xk para descrever como a função se comportaentre xk e xk+1. 1 11 )( )(,)()()( 1 1 k k k k k k x x kk x x x x kk dxxpyy dxxyxfdxxyxyxy p(x) é um polinômio interpolador de grau N que aproxima f(x,y) e passapelo conjundo de dados Nkkkifx ii ,,1,,),( Para N = 0: método de passo único ),( )( 1 1 kkkk x x kkk yxfhyy hfdxffxp k k Método de Euler Para N = 1: método de Dois Passos Método de Adams-Bashforth de 2a ordem p(x) é um polinômio linear que interpola ),( e ),( 11 kkkk fxfx 22 )()( )( 1 2 1 11 111 1 1 hffhf h xxffhfdxxp ff h xxff xx xxf xx xxxp kkk x x k kkk x x kk k kk kk k k kk k k k k k 1111 322 kkkkkkkkk ffhyyffhfhyy Para N = 2: método de Três Passos — Método de Adams-Bashforth 3a ordem p(x) é um polinômio quadrático que interpola ),( e ),(,),( 1122 kkkkkk fxfxfx 211 5162324 kkkkk fffhyy Métodos de Adams-Bashforth são Métodos Explícitos Pode-se formar os polinômios interpoladores utilizando-se pontos para frente.Métodos Implícitos Situação mais comum é formar um polinômio de ordem N com os pontos Nkkkk xxxx ,,, 11 Método de Adams-Moulton de ordem N Para N = 0: método de passo único Regra do Trapézio 111 ,,2 kkkkkk yxfyxfhyy Para N = 3: Método de Adams-Moulton de 4a ordem 2211111 ,,5,19,924 kkkkkkkkkk yxfyxfyxfyxfhyy SOLUÇÃO DE EQUAÇÕES RÍGIDAS (STIFF) EQUAÇÕES INSTÁVEIS 1)0( 1)0(c.c. 01110 y y yyy Solução exata: )1()( xexy 1)0( 1)0(c.c. 01110 y y yyy Solução exata: )2(1212111)( 11xx eexy (2) (1) 0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 1.2 Microsoft Excel Worksheet O problema (1) é instável. Pequenas alterações na condição inicial podem produzir grandesalterações na solução do problema para x grande. Esses problemas são chamados de mal condicionados. A solução numérica é extremamente difícil, pois erros de arredondamentoe da discretização podem causar o mesmo efeito que a pequenamudança na condição inicial do problema e a solução tenderá adivergir para o infinito. Estes problemas requerem método numéricos estáveis com passos bemmenores do que o usual. As instabilidades são mais pronunciadas em problemas não-lineares. 2y(0)c.c. )2( :Exemplo yxyy Solução exata: )1(2)( xy Este problema é instável. A solução para condição inicial é:0)0( yy )2()2( 2)( 200 0 xeyy yxy 1 1.5 2 2.5 3 0 0.2 0.4 0.6 0.8 1 1.2 Microsoft Excel Worksheet MÉTODOS ESTÁVEIS E INSTÁVEIS 1)0( 12 :Problema y yy Solução exata: )1(2 121)( 2 xexy Este problema é estável, pois a solução não muda muito alterando-se a c.c. 21 21)(1)0( Se 2 xexyy Aplicando-se o método de Leapfrog (segunda ordem, dois passos, explícito): hyhyyhyy kkkkk 24122 111 ky eyy k h quando 2 121;1 210 -10 -5 0 5 10 0 2 4 6 8 Método implícitos são estáveis e portanto devem ser usados para problemas stiff Resolver o problema: 0)0(;)sin(100 yyxy Solução exata: 0001.1 01.0)cos(01.0)sin()( 100xexxxy Solução por Runge-Kutta: Metodo de Runge-Kutta de quarta ordem: h = 0.0300 y(0) = 0.0000 X f1 f2 f3 f4 Yk Yexato 0.00 0.0000 00.03 0.0000 1.4999 -0.7500 5.2495 0.033747047 0.0204960.06 -0.3752 1.6865 -1.4060 6.8397 0.068874772 0.0500020.09 -0.8911 1.9421 -2.3077 9.0234 0.105880707 0.0799120.12 -1.6002 2.2930 -3.5468 12.0236 0.14545912 0.1097730.15 -2.5747 2.7752 -5.2496 16.1467 0.188574804 0.1395360.18 -3.9137 3.4383 -7.5896 21.8144 0.236564525 0.1691740.21 -5.7535 4.3504 -10.8055 29.6059 0.291276497 0.198660.24 -8.2817 5.6055 -15.2252 40.3183 0.355262162 0.2279660.27 -11.7560 7.3323 -21.3001 55.0471 0.43203987 0.2570680.30 -16.5308 9.7080 -29.6503 75.2989 0.526457436 0.2859380.33 -23.0937 12.9765 -41.1288 103.1450 0.645190639 0.3145510.36 -32.1148 17.4727 -56.9085 141.4339 0.797428656 0.3428810.39 -44.5154 23.6576 -78.6019 194.0818 0.995816526 0.3709020.42 -61.5628 32.1644 -108.4264 266.4737 1.257751018 0.398590.45 -84.9991 43.8645 -149.4308 366.0140 1.607162455 0.425918 M eto do de R unge-Kutta de quarta o h = 0.03 y(0) = 0 X f1 f2 f3 f4 Yk Yexato 0 =$E$3 =(SIN(A7)-0.01*COS(A7)+0.01* =A7+$B$3 =100*(SIN(A7)-F7) =100*(SIN(A7+$B$3/2)-(F7+$B$3/2*B8)) =100*(SIN(A7+$B$3/2)-(F7+$B$3/2*C8)) =100*(SIN(A7+$B$3)-(F7+$B$3*D8)) =F7+$B$3/6*(B8+2*C8+2*D8+E8) =(SIN(A8)-0.01*COS(A8)+0.01* =A8+$B$3 =100*(SIN(A8)-F8) =100*(SIN(A8+$B$3/2)-(F8+$B$3/2*B9)) =100*(SIN(A8+$B$3/2)-(F8+$B$3/2*C9)) =100*(SIN(A8+$B$3)-(F8+$B$3*D9)) =F8+$B$3/6*(B9+2*C9+2*D9+E9) =(SIN(A9)-0.01*COS(A9)+0.01* =A9+$B$3 =100*(SIN(A9)-F9) =100*(SIN(A9+$B$3/2)-(F9+$B$3/2*B10)) =100*(SIN(A9+$B$3/2)-(F9+$B$3/2*C10)) =100*(SIN(A9+$B$3)-(F9+$B$3*D10)) =F9+$B$3/6*(B10+2*C10+2*D10+E10) =(SIN(A10)-0.01*COS(A10)+0.0 =A10+$B$3 =100*(SIN(A10)-F10) =100*(SIN(A10+$B$3/2)-(F10+$B$3/2*B11=100*(SIN(A10+$B$3/2)-(F10+$B$3/2*C11=100*(SIN(A10+$B$3)-(F10+$B$3*D11)) =F10+$B$3/6*(B11+2*C11+2*D11+E11) =(SIN(A11)-0.01*COS(A11)+0.0 =A11+$B$3 =100*(SIN(A11)-F11) =100*(SIN(A11+$B$3/2)-(F11+$B$3/2*B12=100*(SIN(A11+$B$3/2)-(F11+$B$3/2*C12=100*(SIN(A11+$B$3)-(F11+$B$3*D12)) =F11+$B$3/6*(B12+2*C12+2*D12+E12) =(SIN(A12)-0.01*COS(A12)+0.0 =A12+$B$3 =100*(SIN(A12)-F12) =100*(SIN(A12+$B$3/2)-(F12+$B$3/2*B13=100*(SIN(A12+$B$3/2)-(F12+$B$3/2*C13=100*(SIN(A12+$B$3)-(F12+$B$3*D13)) =F12+$B$3/6*(B13+2*C13+2*D13+E13) =(SIN(A13)-0.01*COS(A13)+0.0 =A13+$B$3 =100*(SIN(A13)-F13) =100*(SIN(A13+$B$3/2)-(F13+$B$3/2*B14=100*(SIN(A13+$B$3/2)-(F13+$B$3/2*C14=100*(SIN(A13+$B$3)-(F13+$B$3*D14)) =F13+$B$3/6*(B14+2*C14+2*D14+E14) =(SIN(A14)-0.01*COS(A14)+0.0 =A14+$B$3 =100*(SIN(A14)-F14) =100*(SIN(A14+$B$3/2)-(F14+$B$3/2*B15=100*(SIN(A14+$B$3/2)-(F14+$B$3/2*C15=100*(SIN(A14+$B$3)-(F14+$B$3*D15)) =F14+$B$3/6*(B15+2*C15+2*D15+E15) =(SIN(A15)-0.01*COS(A15)+0.0 =A15+$B$3 =100*(SIN(A15)-F15) =100*(SIN(A15+$B$3/2)-(F15+$B$3/2*B16=100*(SIN(A15+$B$3/2)-(F15+$B$3/2*C16=100*(SIN(A15+$B$3)-(F15+$B$3*D16)) =F15+$B$3/6*(B16+2*C16+2*D16+E16) =(SIN(A16)-0.01*COS(A16)+0.0 =A16+$B$3 =100*(SIN(A16)-F16) =100*(SIN(A16+$B$3/2)-(F16+$B$3/2*B17=100*(SIN(A16+$B$3/2)-(F16+$B$3/2*C17=100*(SIN(A16+$B$3)-(F16+$B$3*D17)) =F16+$B$3/6*(B17+2*C17+2*D17+E17) =(SIN(A17)-0.01*COS(A17)+0.0 Microsoft Excel Worksheet O método só é estável para passos muito pequenos h < 0.030 Solução por Trapézio: 10021 )sin()sin(100221001 )sin(100)sin(1002 ,,2 1 1 111 111 h xxhhy y yxyxhyy yxfyxfhyy kkk k kkkkkk kkkkkk Metodo do Trapezio h = 0.5000 y(0) = 0.0000 X Yk Yexato 0.00 0.0000 00.50 0.460986095 0.4706026531.00 0.844567185 0.8359843631.50 0.988636033 0.9966879462.00 0.920867137 0.9133675582.50 0.59974723 0.6064229383.00 0.157533472 0.1510048333.50 -0.347014762 -0.3413845224.00 -0.744664953 -0.750191044.50 -0.980244479 -0.9753246275.00 -0.95713432-0.96166473 M eto do do T rapezio h = 0.5 X Yk 0 =$E$3 =A7+$B$3 =(B7*(1-100*$B$3/2)+$B$3/2*100*(SIN(A7)+SIN(A8)))/(1+$B$3/2*100) =A8+$B$3 =(B8*(1-100*$B$3/2)+$B$3/2*100*(SIN(A8)+SIN(A9)))/(1+$B$3/2*100) =A9+$B$3 =(B9*(1-100*$B$3/2)+$B$3/2*100*(SIN(A9)+SIN(A10)))/(1+$B$3/2*100) =A10+$B$3 =(B10*(1-100*$B$3/2)+$B$3/2*100*(SIN(A10)+SIN(A11)))/(1+$B$3/2*100) =A11+$B$3 =(B11*(1-100*$B$3/2)+$B$3/2*100*(SIN(A11)+SIN(A12)))/(1+$B$3/2*100) =A12+$B$3 =(B12*(1-100*$B$3/2)+$B$3/2*100*(SIN(A12)+SIN(A13)))/(1+$B$3/2*100) =A13+$B$3 =(B13*(1-100*$B$3/2)+$B$3/2*100*(SIN(A13)+SIN(A14)))/(1+$B$3/2*100) =A14+$B$3 =(B14*(1-100*$B$3/2)+$B$3/2*100*(SIN(A14)+SIN(A15)))/(1+$B$3/2*100) =A15+$B$3 =(B15*(1-100*$B$3/2)+$B$3/2*100*(SIN(A15)+SIN(A16)))/(1+$B$3/2*100) =A16+$B$3 =(B16*(1-100*$B$3/2)+$B$3/2*100*(SIN(A16)+SIN(A17)))/(1+$B$3/2*100) Microsoft Excel Worksheet PROBLEMA DE VALOR DE CONTORNO ByAyyyxf dx yd )1(;)0( :cont. cond.,),,(22 MÉTODO DE TIRO (SHOOTING METHOD) Baseado nos Problemas de Valor Inicial. Estima-se a derivada em x = 0: Utilizando-se os métodos de valor inicial, determina-se a solução em x = 1. Verifica-se se o valor obtido em x = 1 é igual a B. Repetir até convergir. )0(y A B Problema Linear Usar o Princípio da Superposição. )( e )( 21 xyxy : Funções que satisfazem a eq. Diferencial e a cond. de contorno em x = 0. )0()0( )0()0( 21 21 yy Ayy )()()( 2211 xycxycxy satisfaz a eq. Diferencial Aycc ycycy )0(1 Se )0()0()0( 21 2211 )( )1()1()1( 2211 xy Bycycy é solução do problema se: 1221 212211 21 1)1()1( )1()1()1( 1 cce yy yBc Bycyc cc Problema Não-Linear O Princípio da Superposição não pode ser usado. Cada valor de corresponde um valor de . Utilizar métodos iterativos para determinar o valor de que fornece a condição de contorno correta em x = 1, isto édeterminar a raiz da equação: )0(y )1(y )()1( gy Bgf )()( Por exemplo: Método da Secante: )()()( )()( Chute )()( Chute 01 01112 111 000 gg Bg Bgf Bgf O Problema de Valor Inicial pode ser mal-condicionado mesmo queo Problema de Valor de Contorno seja bem-condicionado. MÉTODO DE DIFERENÇAS FINITAS A equação diferencial é transformada em um conjunto de equações algébricas A função desconhecida é calculada apenas em N pontos – NÓS Derivadas são aproximadas por diferença dos valores nodais A equação aproximada é escrita em cada ponto nodal, gerando N equações Exemplo: LYLy Yy Lx dx dyyxf dx yd )( )0( 0;,, 0 2 2 Obter y(x). i=1 i=2 i=Ni i+1i-1 1x 1ix ix 1ix Nxhx Aproximação das derivadas por uso de série de Taylor truncada: )(2)(2 2 1 2 1 ByhyhyyAyhyhyy iiiiiiii Diferentes aproximações para primeira derivada: DIFERENÇA PARA FRENTE DIFERENÇA PARA TRÁS DIFERENÇA CENTRAL h yyyA iii 1)( h yyyB iii 1)( h yyyBA iii 2)()( 11 Problema Linear Aproximação para segunda derivada (Deve-se eliminar o termo de 1a ordem): DIFERENÇA CENTRAL 2 11 2)()( h yyyyBA iiii i i+1i-1 1ix ix 1ix hx e d Interpretação geométrica 2 112 2 11 2 2 2 h yyy dx yd h h yy h yy h dx dy dx dy dx dy dx d dx yd iii iiii ed EXEMPLO: Condução de calor em uma barra com convecção natural AT BT Thc , Lx Equação diferencial que descrevea variação da temperatura na barra. B A c TLxT TxT TT kA Ph dx Td )( )0( 022 i=1 i=2 i=Ni i+1i-1 1x 1ix ix 1ix Nx Incógnitas do problema: Ni TTTT ,,,,, 21 No ponto i: T kA PhT h T kA Ph h T h TT kA Ph h TTT TT kA Ph dx Td c ii c i i ciii i c i 12212 2 11 2 2 121 02 0 Para se obter as N equações necessárias para determinar as N incógnitas,a aproximação deve ser satisfeita em todos os nós: (c.c.) 1213 1212 (c.c.) 1 423222 322212 1 BN cc cc A TTNi T kA PhT h T kA Ph h T h i T kA PhT h T kA Ph h T h i TTi B c c c A N c c T TkA Ph TkA Ph TkA Ph T T T T T T hkA Ph hh hkA Ph hh 4 3 2 1 222 222 10000 0121 00121 00001 O sistema pode ser escrito em forma matricial como: Exemplo: Desenvolver o problema se os nós não são uniformemente distribuidos. i=1 i=2 i=Ni i+1i-1 1x 1ix ix 1ix Nx 1ix ix TLxT K hLx dx dT TxT dx Td e A)0( 022 EXEMPLO: Condição de contorno na derivada da função AT Thc , L x No ponto i: 0121 02 0 12212 2 11 2 2 iii iii i T h T h T h h TTT dx Td Para se obter as N equações necessárias para determinar as N incógnitas,a aproximação deve ser satisfeita em todos os nós: T K h K h h T h TT K h h TTNi T h T h T h i T h T h T h i TTi ee NN eNN A 11 01213 01212 (c.c.) 1 11 423222 322212 1 TK h T T T T T T K h hh hhh hhh e A N e 00 0 110000 00121 000121 000001 4 3 2 1 222 222 O sistema pode ser escrito em forma matricial como: Exercício Escreva uma rotina SciLab para solução de um problema de valor de contorno pelo método de diferenças finitas (diferença central). Utilize a rotina desenvolvida para resolver o problema: L = 5 m Problema Não-Linear EXEMPLO: Problema de Convecção e Difusão AV BV Lx Equação diferencial que descrevea velocidade em cada ponto. B A VLxu Vxu dx udK dx duu )( )0( 022 i=1 i=2 i=Ni i+1i-1 1x 1ix ix 1ix Nx Incógnitas do problema: Ni uuuu ,,,,, 21 Aproximação por diferença central: 2 112 2 11 2 2 h uuu dx ud h uu dx du iii i ii i No ponto i: 022 022 0 1211212 2 1111 2 2 i Ai i Bi ii i Ai iiiii i ii i u h Ku h uu h Ku h K h uuuK h uuu dx udK dx duu Para se obter as N equações necessárias para determinar as N incógnitas,a aproximação deve ser satisfeita em todos os nós: (c.c.) 0223 0222 (c.c.) 1 42324222 32213212 1 BN A VuNi u h Ku h uu h Ku h Ki u h Ku h uu h Ku h Ki Vui B A N T V u u u u u ABA ABA 00 0 10000 000 00001 4 3 2 1 333 222 Função de u1 e u3 Os coeficientes da matriz dependem da solução do problema. Sistema de equações Não-Linear Solução de Sistema de Equações Não-Linear Método de Picard: 1. Chute inicial; 2. Calcular coeficientes da matriz usando o valor atual das incógnitas; 3. Resolver o sistema de equações e determinar o novo valor dasincógnitas; • Comparar solução atual com anterior; • Se não covergiu, voltar para 2. )0()0(3)0(2)0(1)0( ,,,, Nuuuuc )(kcAA fcAc kk 1)()1( Convergência Ruim Método de Newton: Generalização do Método de Newton para 1 equação não-linear xf xfx xfxxfxxf xfxxfxxfxxf 0 2 PROCEDIMENTO ITERATIVO )1( )()1( )( )( )( )0( :Raiz 1 )( )( do ,)( While0 :inicial Chute i ii i i i x ii xxx xf xf x xf i x 0),,,,( 0),,,,( 0),,,,( 0),,,,( 321 3213 3212 3211 NN N N N xxxxf xxxxf xxxxf xxxxf Sistema a ser resolvido: Expansão por série de Taylor até termos de primeira ordem de cada equação: N N NNN NN NNN N N N NN N N N NN x x fx x fx x fxxxf xxxxxxf x x fx x fx x fxxxf xxxxxxf x x fx x fx x fxxxf xxxxxxf 221121 2211 222 211 2212 22112 122 111 1211 22111 ),,,( 0),,,( ),,,( 0),,,( ),,,( 0),,,( N N NNN NN N N N N N N x x fx x fx x fxxxf x x fx x fx x fxxxf x x fx x fx x fxxxf 221121 222 211 2212 122 111 1211 ),,,( ),,,( ),,,( fJx f f f x x x x f x f x f x f x f x f x f x f x f f N x N J N NNN N N 1 2 1 2 1 21 2 2 2 1 2 1 2 1 1 1 Sistema em Forma matricial Matrix Jacobiana j i ij x fJ PROCEDIMENTO ITERATIVO )1( )()1( 1 )( )0( :Raiz 1 do , While 0 :inicial Chute i ii i c ii xcc fJx cf i c Solução de um sistema linear Convergência Quadrática Voltando ao Problema Não-Linear: B A VLxu Vxu dx udK dx duu )( )0( 022 0,,,,,, ,,3,2 022,,,,,, 0,,,,,, 111 2 1111111 11111 BNNiiiN iiiii iNiiii ANiii Vuuuuuuf Ni h uuuK h uuuuuuuuf Vuuuuuuf Sistema de equações algébricas não-linear resultante: Solução pelo Método de Newton… Cálculo da matriz Jacobiana: 1;0;;0 ;0;2;22;2;0 0;;0;2;22;2 0;;0;1 11 5 3324 32423 3322 3 1 3 2 4 2223 21322 2221 2 1 2 1 1 1 N N N NN N N u f u f u f u f h u h K u f h uu h K u f h u h K u f u f u f u f h u h K u f h uu h K u f h u h K u f u f u f u f Exercício
Compartilhar