Baixe o app para aproveitar ainda mais
Prévia do material em texto
Exerc´ıcios de Ca´lculo Nume´rico Equac¸o˜es Diferenciais Ordina´rias 1. Determine a soluc¸a˜o nume´rica aproximada da seguinte Equac¸a˜o Diferencial Ordina´ria, com o passo h = 0.2:{ y′(x) + 2y(x) = 0 ∀x ∈ [0, 1] y(0) = 1 (a) Me´todo de Euler ( Me´todo das Tangentes) (b) Me´todo de Euler Aperfeic¸oado (c) Me´todo de Runge-Kutta de 4◦ ordem. (d) Me´todo de Predic¸a˜o-Correc¸a˜o de 4◦ ordem. (e) Sabendo-se que a soluc¸a˜o exata da equac¸a˜o e´ y(x) = e−2x, compare com as soluc¸o˜es aproximadas obtidas nos items anteriores. 2. Considere a equac¸a˜o diferencial ordina´ria, dada por:{ xy′(x)− x2y(x)− 2 = 0 ∀x ∈ [1, 2] y(1) = 3 Fazendo h = 0.1, determine a soluc¸a˜o aproximada no ponto x = 1.5, usando o me´todo de Euler Aperfeic¸oado. 3. Determine a soluc¸a˜o nume´rica aproximada da seguinte Equac¸a˜o Diferencial Ordina´ria, de segunda ordem, com o passo h = 0.2: y ′′(x) + y(x) = 0 ∀x ∈ [0, 1] y(0) = 0 e y′(0) = 1 pi (a) Me´todo de Euler ( Me´todo das Tangentes) (b) Me´todo de Euler Aperfeic¸oado (c) Sabendo-se que a soluc¸a˜o exata da equac¸a˜o e´ y(x) = (1/pi2) sen(pix), compare com as soluc¸o˜es aproximadas obtidas nos items anteriores. 4. Um corpo com massa inicial de 200Kg esta´ em movimento sob a ac¸a˜o de uma forc¸a constante de 2000N . Sabendo-se que esse corpo esta´ perdendo 1Kg de sua massa por segundo e considerando que a resisteˆncia do ar e´ o dobro de sua velocidade e que o corpo esta´ em repouso no instante t = 0, enta˜o a EDO que descreve a variac¸a˜o de sua velocidade e´ dada por v ′(t) = 2000− 2v(t) 200− t ∀t > 0 v(0) = 0 Determine a velocidade do corpo v(t) no instante t = 5 segundos com intervalos de 0.5 segundos, usando: (a) Me´todo de Euler Aperfeic¸oado (b) Me´todo de Runge-Kutta de 4◦ ordem. (c) Me´todo de Predic¸a˜o-Correc¸a˜o de 4◦ ordem. (d) Sabendo-se que a soluc¸a˜o exata da equac¸a˜o e´ v(t) = 10 t− 1 40 t2, compare com a soluc¸a˜o aproximada obtida nos items anteriores. 5. Na teoria da propagac¸a˜o de doenc¸as contagiosas, podemos utilizar uma equac¸a˜o diferencial para predizer o nu´mero de indiv´ıduos da populac¸a˜o infectado em um dado tempo, supondo algumas simplificac¸o˜es adequadas. Em particular, suponha que todos os indiv´ıduos de uma populac¸a˜o fixa tenham a mesma prob- abilidade de se infectar e que, uma vez infectado, permanec¸am neste estado. Vamos denotar por x(t) o nu´mero de indiv´ıduos vulnera´veis no tempo t e com y(t) o nu´mero de infectados. Podemos supor, que a taxa na qual o nu´mero de infectados muda seja proporcional ao produto de x(t) e y(t), ja´ que a taxa depende do nu´mero de indiv´ıduos infectados e do nu´mero de indiv´ıduos vul- nera´veis que existem nesse tempo. Se a populac¸a˜o e´ suficientemente numerosa para supormos que x(t) e y(t) sejam varia´veis cont´ınuas, podemos expressar o problema como: y′(t) = k x(t) y(t) onde k e´ uma constante e x(t) + y(t) = m e´ a populac¸a˜o total. Podemos reescrever essa equac¸a˜o, para que contenha apenas y(t), na forma, y′(t) = k (m− y(t)) y(t) ”Equac¸a˜o de Bernoulli” Supondo que m = 100.000, y(0) = 1000, k = 2 × 10−6 e que o tempo seja medido em dias, encontre uma aproximac¸a˜o para o nu´mero de infectados ao final de 30 dias. (a) Me´todo de Runge-Kutta de 4◦ ordem. (b) Me´todo de Predic¸a˜o-Correc¸a˜o de 4◦ ordem. 6. Problema Presa-Predador (Lotka & Volterra) Considere o problema de predic¸a˜o da populac¸a˜o de duas espe´cies, sendo uma delas a presa e a outra predadora, cuja populac¸a˜o no tempo t e´ dado por x(t) e y(t). Suponha que a presa sempre disponha de comida suficiente e que sua taxa da natalidade seja proporcional a` quantidade de presas vivas nesse tempo, ou seja, a taxa de na- talidade e´ c1x(t). A taxa de mortalidade da presa depende do nu´mero de presas e de predadores vivos nesse tempo, que podemos supor, na forma c2x(t)y(t). Por outro lado, a taxa de natalidade do predador depende de sua disponibil- idade de comida x(t) e, tambe´m, do nu´mero de predadores dispon´ıveis para processo de reproduc¸a˜o. Por tal raza˜o, suponha que a taxa de natalidade dos predadores seja c3x(t)y(t). Suponha que sua taxa de mortalidade seja pro- porcional a` quantidade de predadores vivos no tempo, ou seja, que a taxa de mortalidade dos predadores seja c4y(t). Dado que x ′(t) e y′(t) representam, a alterac¸a˜o nas populac¸o˜es de presas e predadores no tempo, o problema se expressa por meio do sistema acoplado de equac¸o˜es diferenciais na˜o lineares: x′(t) = c1 x(t)− c2 x(t)y(t) y′(t) = c3 x(t)y(t)− c4 y(t) x(0) = x0, y(0) = y0 (1) Resolva esse sistema para 0 ≤ t ≤ 4, usando o me´todo de Runge-Kutta de 4◦ ordem, supondo que x0 = 1000, y0 = 500, c1 = 3, c2 = 0.002, c3 = 0.0006, c4 = 0.5. Fac¸a o gra´fico das soluc¸o˜es encontradas, regis- trando ambas as populac¸o˜es em func¸a˜o do tempo, e descreva os fenoˆmenos f´ısicos encontrados.Sugesta˜o O sistema pode ser resolvido simultaneamente ou determina-se primeiro o nu´mero de presas x(t1) em (1)1, depois y(t1) em (1)2, usando x(t1). Calculado y(t1) determine x(t2) em (1)1 usando y(t1) e assim sucessivamente. Gabarito da Lista de Equações Diferenciais Ordinárias Exercício 1: (a) Método de Euler (Método das Tangentes) == =−= ⇒−=′⇒=+′ 10 2 202 0yy yxfy dx dy xyxyxyxy )( ),( )()()()( Dados do Problema: y0 = 1, h = 0.2, x ∈ [0,1] Este método consiste em aplicar a seguinte fórmula iterativa: 0 n , yxhfyy nnnn ≥+=+ ),(1 Então: (1) 0.60.412)0.2(1y)y,hf(xyy 22(1)2y)y,f(x , 1y , 0x 1000 1 00000 =−=−+=⇒+=⇒ −=−=−=== (2) 0.360.24-0.61.2)0.2(0.6y)y,hf(xyy 1.22(0.6)2y)y,f(x , 0.6y , 0.2x 2111 2 11111 ==−+=⇒+=⇒ −=−=−=== (3) 0.2160.144-0.360.2(-0.72)0.36y)y,hf(xyy 0.722(0.36)2y)y,f(x 0.36, y , 0.4x 3222 3 22222 ==+=⇒+=⇒ −=−=−=== (4) 0.1296)0.2(-0.4320.216y)y,hf(xyy 0.4322(0.216)2y)y,f(x , 0.216y , 0.6x 4333 4 33333 =+=⇒+=⇒ −=−=−=== (5) 0.077762)0.2(-0.2590.1296y)y,hf(xyy 0.25922(0.1296)2y)y,f(x , 0.1296y , 0.8x 544 5 44444 =+=⇒+=⇒ −=−=−=== 4 (6) x5 = 1.0 , y5 = 0.07776 (Método de Euler) (b) Método de Euler Aperfeiçoado (ou Runge-Kutta de 2a Ordem): Este método consiste em aplicar as seguintes fórmulas iterativas: )( ),( ),( 211 112 11 1 2 kk h yy uxfk (Preditor) hkyu yxfk nn nn nn nn ++= = += = + ++ + Assim, temos: (1) (Corretor) 0.680.3211.2)20.1(1)k(k 2 h yy 1.22u)u,f(xk (Preditor) 0.62)0.2(1hkyu 22y)y,f(xk 1y , 0x 2101 1112 101 0001 00 =−=−−+=++= −=−== =−+=+= −=−==⇒ == (2) (Corretor) 0.46240.816)-0.1(-1.360.68)k(k 2 h yy 0.8162u)u,f(xk (Preditor) 0.4081.36)0.2(0.68hkyu 1.362y)y,f(xk 0.68y , 0.2x 2112 2222 112 1111 11 =+=++= −=−== =−+=+= −=−==⇒ == (3) (Corretor) 0.3144320.55488)-0.92480.1(0.4624)k(k 2 h yy 0.554882u)u,f(xk (Preditor) 0.277440.9248)0.2(0.4624hkyu 0.92482y)y,f(xk 0.4624y , 0.4x 2123 3332 123 2221 22 =−+=++= −=−== =−+=+= −=−==⇒ == (4) (Corretor) 0.213813760.3773184)-0.6288640.1(0.314432)k(k 2 h yy -0.37731842)2(0.1886592u)u,f(xk (Preditor) 0.1886592864)0.2(-0.6280.314432 hkyu -0.6288642y)y,f(xk 0.314432y , 0.6x 2134 4442 134 3331 33 =−+=++= =−=−== =+=+= =−==⇒ == (5) (Corretor) 60.14539335204032)0.1(-0.6840.21381376)k(k 2 h yy 20.256576512u)u,f(xk (Preditor) 60.12828825)0.427627520.2(0.21381376hkyu0.427627522y)y,f(xk 0.21381376y , 0.8x 2145 5552 145 4441 44 =+=++= −=−== =−+=+= −=−==⇒ == (6) do)Aperfeiçoa (Euler 60.14539335y , 1.0x 55 == (c) Método de Runge-Kutta (ou Runge-Kutta de 4a Ordem): Suponha que queremos calcular as aproximações y1, y2, ... , yn para os valores verdadeiros y(x1), y(x2), ... , y(xn) e agora queremos calcular yn+1 ≈ y(xn+1). Então, ∫∫ + + ′=′=− + hx x x x nn n n n n dxxydxxyxyxy )()()()( 1 1 pelo teorema fundamental do cálculo. Assim, a Regra de Simpson para integração numérica fornece: ′+ +′+ +′+′= ′+ +′+′≈− +++ )(xy 2 h xy2 2 h xy2)(xy 6 h )(xy 2 h xy4)(xy 6 h )y(x)y(x 1nnnn1nnnn1n )kk2k2(k 6 h yy :fórmula a é resultado o feitas, são õessubstituiç estas Quando )hky,f(xk k 2 h y, 2 h xfk k 2 h y, 2 h xfk )y,f(xk :de sinclinaçõe as chamaremos ),y,f(xy)(xy usando forma, Dessa 4321n1n 3n1n4 2nn3 1nn2 nn1 nnnn ++++= += ++= ++= = =′≈′ +′ + + método. o para diferentes sinclinaçõe serão porque 2 h xy4 termo o termos de soma em separamos que Repare n Então, para este exercício, faremos: (1) -1.328-2(0.664)0.664) f(0.2,)hky,f(xk -1.68-2(0.84)0.84) f(0.1,k 2 h y, 2 h xfk -1.6-2(0.8)0.8) f(0.1,k 2 h y, 2 h xfk 22y)y,f(xk 1y , 0x 3014 2003 1002 0001 00 ===+= === ++= === ++= −=−==⇒ == 0.67041.328)3.363.22( 6 0.2 1)k2k2k(k 6 h y y 432101 =−−−−+=++++= (2) 0.44943616)k2k2k(k 6 h y y -0.890291256)-2(0.445140.4451456) f(0.4,)hky,f(xk 1.1262720.2k-2yk 2 h y, 2 h xfk 1.072640.2k2yk 2 h y, 2 h xfk -1.34082(0.6704)2y)y,f(xk 0.6704y , 0.2x 432112 3124 212113 111112 1111 11 =++++= ===+= −=−= ++= −=−−= ++= =−=−==⇒ == (3) 10.30130200)k2k2k(k 6 h y y 2-0.5968512)hky,f(xk 80.75505274k 2 h y, 2 h xfk 60.71909785k 2 h y, 2 h xfk 2-0.898872316)2(0.4494362y)y,f(xk 0.44943616y , 0.4x 432123 3234 2223 1222 2221 22 =++++= =+= −= ++= −= ++= =−=−==⇒ == (4) 90.19170841)k2k2k(k 6 h y y 45-0.3229957)hky,f(xk 20.69902064k 2 h y, 2 h xfk 10.48208320k 2 h y, 2 h xfk 02-0.6026040001)2(0.3013022y)y,f(xk 10.30130200y , 0.6x 432134 3344 2333 1332 3331 33 =++++= =+= −= ++= −= ++= =−=−==⇒ == (5) 10.30673347k 2 h y, 2 h xfk 39-0.3834168419)2(0.1917082y)y,f(xk 90.19170841y , 0.8x 1442 4441 44 −= ++= =−=−==⇒ == 40.12852132)k2k2k(k 6 h y y 81-0.2545887)hky,f(xk 40.32207014k 2 h y, 2 h xfk 432145 3454 2443 =++++= =+= −= ++= (6) 4)(RK 40.12852132y , 1.0x 55 == (d) Método da Predição-Correção de 4a Ordem (Métodos de Adams): (1) Adams-Bashforth (Preditor): )y,f(xf notação a usando , )9f37f59f(55f 24 h yu nnn3n2n1nnn1n =−+−+= −−−+ (2) Adams-Moulton (Corretor): ),()( * 112111 5199 24 +++−−++ =+−++= nn * 1nnnnnnn uxff onde , ffff h yy Primeiro, devemos calcular y1 , y2 e y3 por Runge-Kutta de 4a Ordem(RK-4). Depois, para calcular de y4 em diante, usamos o Preditor e o Corretor de Adams acima. Então, agora vamos resolver o exercício com esse método: (1) Pela letra (c), temos y1 = 0.6704, y2 = 0.44943616 e y3 = 0.301302001 Com as identificações x0 = 0 , x1 = 0.2 , x2 = 0.4 , x3 = 0.6 e f(x,y) = -2y, obtemos: 20.60260400)y,f(xf ; 0.89887232)y,f(xf; 1.3408)y,f(xf; 2)y,f(xf 333 222111000 −== −==−==−== Com os valores acima, o Preditor (1) nos fornece então: 40.20364072323)(-11.71935 24 0.2 10.30130200 )9f37f59f(55f 24 h yu 012334 =+=−+−+= Para utilizar o corretor, precisamos primeiro de: 80.407281442u)u,f(xf 444 * 4 −=−== Assim, temos: 20.201623277)11.9614474( 24 0.2 10.30130200 )f5f19f(9f 24 0.2 yy 123 * 434 =−+=+−++= (2) Ainda temos que calcular y5. Vamos repetir o processo: Preditor: 0.13464061362)(-8.037919 24 0.2 20.20162327 )9f37f59f(55f 24 h yu 123 * 445 =+=−+−+= Corretor: 10.269281222u)u,f(xf onde , )f5f19f(9f 24 0.2 yy 555 * 523 * 4 * 545 −=−==+−++= Assim, temos finalmente: 80.134558841)8.04773081( 24 0.2 20.20162327y5 =−+= Portanto, Ordem) Quarta de Correção(Predição 80.13455884y , 1.0x 55 −== (e) 30.13533528ey(1) 2 == − Portanto, o Método de Predição-Correção de 4a Ordem se aproximou mais do resultado, mostrando que os algoritmos de ordem superior são mais precisos. Exercício 2: { y)f(x, x 2 xy dx dy x 2 xy(x)(x)y0 x 2 xy(x)(x)y02y(x)x(x)yx x 2 =+=⇒+=′⇒=−−′⇒=−−′ ÷ Usar Euler Aperfeiçoado para: 0.1h 1,x 3,y x 2 xyy)f(x, dx dy 00 === +== até x5 = 1.5. Exercício 3: Obs.: Toda vez que tivermos um exercício sobre Equação Diferencial de Segunda Ordem, devemos transformá-la em um sistema de Equações de Primeira Ordem, fazendo a substituição y’ = z (aqui usei z, mas poderia ser qualquer outra variável arbitrária). ===′ ===′ ′=−==′′⇒=+⇒=+′′ pi 1 z , -yz)y,g(x,z 0y , z z)y,f(x,y :õessubstituiç seguintes as fazer Vou )yy,f(x,y dx yd y0y dx yd 0y(x)(x)y 0 0 2 2 2 2 (a) Usando Método de Euler, temos que resolver o sistema: −=+= +=+= + + nnnnnnn nnnnnnn hyzzyxhgzz hzyzyxhfyy ),,( ),,( 1 1 Assim, temos: (1) 60.31830988 pi 1 0.2y-zz 70.06366197 pi 1 0.200.2zyy 0x , pi 1 z 0,y 001 001 000 === = +=+=⇒ === (2) 0.305577490.2yzz 40.127323950.2zyy 0.2x 6,0.31830988z 7,0.06366197y 112 112 111 =−= =+=⇒ === (3) 90.280112690.2yzz 20.188439450.2zyy 0.4x ,0.30557749z 4,0.12732395y 223 223 222 =−= =+=⇒ === (4) 80.242424800.2yzz 10.244461990.2zyy 0.6x 9,0.28011269z 2,0.18843945y 334 334 333 =−= =+=⇒ === (5) 90.193532400.2yzz 20.292946950.2zyy 0.8x 8,0.24242480z 1,0.24446199y 445 445 444 =−= =+=⇒ === Em outras palavras, 90.19353240(1,0)y 20.29294695y(1.0) ≈′ ≈ (Euler) (b) Usando o Método de Euler Aperfeiçoado: Usando o mesmo sistema encontrado no item (a): ===′ ===′ pi 1 z , -yz)y,g(x,z 0y , z z)y,f(x,y 0 0 Temos para o Método de Euler Aperfeiçoado as seguintes fórmulas iterativas: Preditores: −=+= +=+= + + nnnnnnn nnnnnn1n hyzzyxhgzv hzyzyxhfyu ),,( ),,( 1 Corretores: [ ] [ ] [ ] [ ] +−=++= ++=++=+++++ +++++ 1nnn1n1n1nnnnn1n 1nnn1n1n1nnnnn1n uy 2 h z)v,u,g(x)z,y,g(x 2 h zz vz 2 h y)v,u,f(x)z,y,f(x 2 h yy (1) [ ] [ ] 80.31194368uy 2 h zz 70.06366197vz 2 h yy 60.31830988hyzv 70.06366197hzyu 0.2h , pi 1 z , 0y 1001 1001 001 001 00 =+−= =++= =−= =+= === Agora, vocês terão que repetir esse processo até encontrar y5 e z5. Exercício 4: Neste exercício, aplique os métodos para: 0.5 h , 0t , 0v t)f(v, t200 2v2000 dt dv 00 === = − − = Exercício 5: Após as devidas substituições, aplique os métodos para: 0t 1000,y 0.000002y0.2y dt dy 00 2 == −= OBS.: Aqui, não foi fornecido o valor de h. Usei h = 0.5. Exercício 6: Obs.: O enunciado não disse o valor de h. Aqui, fiz com h=0.5. ==−=′ ===′ 500y , y)x,g(t,0.5y0.0006xyy 1000x , y)x,f(t, 0.002xy-3xx 0 0 As fórmulas iterativas de Runge-Kutta para o passo de (xn,yn) à aproximação seguinte (xn+1,yn+1) ≈ (x(tn+1), y(tn+1)) são: )G2G2G(G 6 h yy )F2F2F(F 6 h xx 4321n1n 4321n1n ++++= ++++= + + onde: ( )334 223 112 1 222 222 hGyhFxhtfF G h yF h x h tfF G h yF h x h tfF yxtfF nnn nnn nnn nnn +++= +++= +++= = ,, ,, ,, ),,( Analogamente fazemos isso para 4321 GGGG ,,, . (1) 786.00018665.56525)470.43592430(150 6 1 500)G2G2G(G 6 h yy 4155.38654640.0221)6517.2975775(2000 6 1 1000)F2F2F(F 6 h xx Então, 665.56525 308.8199974.3851598)0.5(617.637.6398)9.3242)(610.0006(2626398).3242,617.g(0.5,2629G 4640.0221 3247.95057887.9726.6398).3242)(6170.002(26292)3(2629.3246398).3242,617.f(0.5,2629F 235.21796 276.875512.09296)0.5(553.75.75)1.875)(5530.0006(17275)1.875,553.g(0.25,172G 3258.6485 1906.97655165.62575).875)(553.0.002(1721)3(1721.87575)1.875,553.f(0.25,172F 215268.75483.750.5(537.5)0)(537.5)0.0006(1500,537.5)g(0.25,150G 2887.51612.54500)(537.5)0.002(15003(1500)0,537.5)f(0.25,150F 1502503000.5(500)0)(500)0.0006(10000)g(0,1000,5G 200010003000)(500)0.002(10003(1000)00)f(0,1000,5F 500y 1000,x , 0t 432101 432101 4 4 3 3 2 2 1 1 000 =++++=++++= =++++=++++= = =−=−== = =−=−== = =−=−== = =−=−== =−=−== =−=−== =−=−== =−=−== === Agora, é com vocês! Façam até t8 = 4. EDO.pdf gabarito_EDO.pdf
Compartilhar