• Nenhum resultado encontrado

ExercícioEulerRungeKutta

N/A
N/A
Protected

Academic year: 2021

Share "ExercícioEulerRungeKutta"

Copied!
10
0
0

Texto

(1)

1

Gladys Castillo, UA, 2009

Métodos Numéricos de Passo Único para  

Resolução de Equações Diferenciais Ordinárias (EDOs) 

  

Problema: Um míssil com uma massa inicial de 200  é disparado no instante , sendo a partir daí acelerado por uma força constante de 2000  . Como essa força é gerada por jacto de gases a partir do míssil, a sua massa decresce à taxa de 1  . Usando o método de Euler com e

e o método de Runge Kutta de quarta ordem com , encontre a velocidade no instante sabendo que o míssil está sujeito a uma força de resistência do ar . Compare os resultados obtidos.

0  /    10     5  10    /    50     2 Resolução:

9 Massa do míssil no instante

t

:

m(t) = m

0

– k t

Como a massa inicial é

m

0

= 200kg

e a taxa de decrescimento é k=1,

então:

m(t) = 200 – t

9 Força constante de 2000 N mas sujeito a uma força de resistência do ar de

Fr=2v

, então a força resultante é dada por:

F = 2000 – 2 v

9 Pela 2ª Lei de Newton:

F = m(t)

× a

F = m(t)

× dv/dt ⇔ F = m(t) × v’(t)

v’= F / m(t)

Como resultado obtém-se o seguinte Problema do Valor Inicial (PVI) :

0 ) 0 ( 200 2 2000 ' = − − = v t v v

O objectivo então é aproximar o valor da solução

v(t)

para o instante

t=50

s usando diferentes métodos numéricos para resolução de PVI de passo único.

(2)

2

Gladys Castillo, UA, 2009 50 5 10 0 40 4 10 0 30 3 10 0 20 2 10 0 10 1 10 0 5 4 3 2 1 = × + = = × + = = × + = = × + = = × + = t t t t t

y = y(x)

do PVI num conjunto discreto de pontos.

⇒ a solução aproximada é apresentada numa tabela de valores (

x

n,

y

n);

 1, 2, …, onde:

9 os

x

n são nós equidistantes (com igual espaçamento ),

i.e.: xn =x0 +h×n, n=1, 2, ...

9 os

y

n são aproximações da solução

y(x)

no nó

x

n,

i.e.: yny(xn), n=1, 2, ...

⇒ ambos os métodos são considerados métodos de passo único, pois a aproximação

y

n+1 é calculada usando apenas a aproximação anterior

y

n .

I) Aproximar

v(50)

usando o método de Euler com

h=10

.

Fórmula de Euler:

y

n+1

=

y

n

+

h

f

(

x

n

,

y

n

),

n

=

0

,

1

,

2

,....

,

y

0 =

y(x

0

)

é dado pela condição inicial.

Para o problema é dado:

9

t

v

v

t

f

=

200

2

2000

)

,

(

, (queremos aproximar v(50)) 10,

 

0 0,   50        50/10 

5

,

4

,

3

2

1

,

0

h

n

n

,

,

t

t

n Calcular:

1. / ⇔   5 (número de pontos tabelados)

2. Calcular nós:

=

+

×

=

3. Calcular aproximações

v

n≈

v(t

n

)

usando a fórmula de Euler:

0

4

,

3

,

2

,

1

,

0

,

200

2

2000

10

0 1

=

=

+

=

+

v

n

t

v

v

v

n n n n

(3)

3

Gladys Castillo, UA, 2009 Tabela de valores (

t

n

, v

n)

tn 0 10 20 30 40 50

vn 0 100.0000 194.7368 284.2105 368.4211 447.3684

As aproximações são arredondadas a 4 casas decimais:

447.3684

40

200

4211

.

68

3

2

2000

10

4211

.

68

3

200

2

2000

10

)

50

(

4211

.

68

3

30

200

284.2105

2

2000

10

284.2105

200

2

2000

10

)

40

(

284.2105

20

200

7368

.

4

9

1

2

2000

10

7368

.

4

9

1

200

2

2000

10

)

30

(

7368

.

194

10

200

0000

.

100

2

2000

10

00.0000

1

200

2

2000

10

)

20

(

0000

.

100

200

2000

10

0

200

0

2

2000

10

0

200

2

2000

10

)

10

(

4 4 4 5 3 3 3 4 2 2 2 3 1 1 1 2 0 0 0 1

×

+

=

+

=

×

+

=

+

=

×

+

=

+

=

×

+

=

+

=

=

=

×

+

=

+

=

t

v

v

v

v

t

v

v

v

v

t

v

v

v

v

t

v

v

v

v

t

v

v

v

v

A aproximação da velocidade no instante encontrada com o método de Euler com passo é de 447.3684  , i.e.:

   50 

10 /

50  

    

  

447.3684  /

 

Para resolve-lo em Matlab podemos usar a rotina EULERS do pacote de rotinas de MN:

f = inline('(2000 - 2*v)/(200 - t)'); a =0; b =50;

v0 =0; h =10;

n = (b-a)/ h; % o número de aproximações a calcular

[t,v] = EULERS(f, a, b, v0, n)

(4)

4

Gladys Castillo, UA, 2009 II. Aproximar

v(50)

usando o método de Euler com

h=5

.

Para o problema é dado:

t

v

v

t

f

=

200

2

2000

)

,

(

,   (queremos aproximar )  5,

 

0 0,   50 50     /   ⇔     50/5   10 Calcular:

1. (número de pontos tabelados)

2. Calcular nós:

t

n

=

t

0

+

h

×

n

,

n

=

1

,

...,

10

3. Calcular aproximações

 

 

usando a fórmula de Euler:

0

9

,...,

1

,

0

,

200

2

2000

5

0 1

=

=

+

=

+

v

n

t

v

v

v

n n n n Tabela de valores (

t

n

, v

n) tn 0 5 10 15 20 25 30 35 40 45 50 vn 0 50 98.72 146.15 192.30 237.18 280.77 323.08 364.10 403.85 442.31

(5)

5

Gladys Castillo, UA, 2009

442.3077

45

200

403.8461

2

2000

5

403.8461

200

2

2000

5

v(50)

...

192.3077

15

200

146.1538

2

2000

5

146.1538

200

2

2000

5

)

20

(

146.1538

10

200

7179

.

98

2

2000

5

7179

.

98

200

2

2000

5

)

15

(

7179

.

98

5

200

0000

.

50

2

2000

5

0000

.

50

200

2

2000

5

)

10

(

0000

.

50

200

2000

5

0

200

0

2

2000

5

0

200

2

2000

5

)

5

(

9 9 9 10 3 3 3 4 2 2 2 3 1 1 1 2 0 0 0 1

×

+

=

+

=

×

+

=

+

=

×

+

=

+

=

×

+

=

+

=

=

=

×

+

=

+

=

t

v

v

v

t

v

v

v

v

t

v

v

v

v

t

v

v

v

v

t

v

v

v

v

A aproximação da velocidade no instante encontrada com o método de Euler com passo é de 447.3684  , i.e.:

50 

10 /

v(50)

≈ v

10

442.3077  /

Para resolve-lo em Matlab podemos usar a rotina EULERS do pacote de rotinas de MN: f = inline('(2000 - 2*v)/(200 - t)'); a =0; b =50; h = 5; n = (b-a)/ h; [t,v] = EULERS(f, a, b, v0, n)

v10 = v(n+1) % a aproximação é a ultima componente do vector % das aproximações

(6)

6

Gladys Castillo, UA, 2009 PVI e compará-lo com as aproximações encontradas pelo método de Euler com passo h=5. A solução exacta pode ser calculada e é:

40 10 ) ( 2 t t t v = − % Os pontos aproximados pelo método de Euler encontram-se calculados nos vectores [t,v]

% Os pontos para desenhar o gráfico da solução exacta t1 = linspace(0,55); v1 = 10 *t1 - (t1.^2/40); figure(1);clf; hold on; grid on; plot(t1,v1,'-b'); plot(t,v,'or');

legend('solução exacta v(t)=10 t - (t^2/40)', 'aproximações pelo método Euler', 2);

xlabel('t'); ylabel('v(t)');

title('Aproximação da solução do P.V.I. pelo método de Euler'); hold off;

III. Aproximar

v(50)

usando o método de Runge-Kutta de quarta ordem com

h=10

.

Fórmula Runge-Kutta, ordem 4 (RK4):

)

(

,....

2

,

1

,

0

),

2

2

(

6

1

0 0 4 3 2 1 1

x

y

y

n

k

k

k

k

y

y

n n

=

=

+

+

+

+

=

+ com:

)

,

(

)

2

,

2

(

)

2

,

2

(

)

,

(

3 4 2 3 1 2 1

k

y

h

x

f

h

k

k

y

h

x

f

h

k

k

y

h

x

f

h

k

y

x

f

h

k

n n n n n n n n

+

+

=

+

+

=

+

+

=

=

(7)

7

Gladys Castillo, UA, 2009 Para o problema:

t

v

v

t

f

=

200

2

2000

)

,

(

,    10,    0,   50      /   ⇔      50/10  s) s:

a.  5 (número de pontos tabelado

b. Calcular nó

t

n

=

t

0

+

h

×

n

,

n

=

1

,...

,5

c. Calcular aproximações

v

n≈

v(t

n

)

usando a fórmula de RK4:

0

4

,

3

,

2

,

1

,

0

),

2

2

(

6

1

0 4 3 2 1 1

=

=

+

+

+

+

=

+

v

n

k

k

k

k

v

v

n n com

)

10

(

200

)

(

2

2000

10

)

5

(

200

)

2

(

2

2000

10

)

5

(

200

)

2

(

2

2000

10

200

2

2000

10

3 4 2 3 1 2 1

+

+

=

+

+

=

+

+

=

=

n n n n n n n n

t

k

v

k

t

k

v

k

t

k

v

k

t

v

k

Tabela de valores (

t

n

, v

n) tn 0 10 20 30 40 50 vn 0 97.4999 189.9998 277.4997 359.9996 437.4995 Aproximando v(10):

)

2

2

(

6

1

0

)

2

2

(

6

1

)

10

(

v

1

v

0

k

1

k

2

k

3

k

4

k

1

k

2

k

3

k

4

v

=

+

+

+

+

=

+

+

+

+

(8)

8

Gladys Castillo, UA, 2009

1280

.

100

)

10

0

(

200

)

5673

.

97

0

(

2

2000

10

)

10

(

200

)

(

2

2000

10

5673

.

97

)

5

0

(

200

)

2

4359

.

97

0

(

2

2000

10

)

5

(

200

)

2

(

2

2000

10

4359

.

97

)

5

0

(

200

)

2

100

0

(

2

2000

10

)

5

(

200

)

2

(

2

2000

10

100

0

200

0

2000

10

200

2

2000

10

0 3 0 4 0 2 0 3 0 1 0 2 0 0 1

+

+

=

+

+

=

+

+

=

+

+

=

+

+

=

+

+

=

=

=

=

t

k

v

k

t

k

v

k

t

k

v

k

t

v

k

Substituindo os valores de k1, k2, k3 e k4 na fórmula obtêm-se a aproximação:

v(10)

≈ v

1

98.3558

A seguir podemos calcular as aproximações para e . Como resultado, a aproximação da velocidade no instante

encontrada com o método de Runge-Kutta de ordem 4 e passo é de , i.e.: 20, 30, 40    50    50  10 447.3684  /

v(50)

≈ v

5

437.4995 m/s

Para este P.V.I. 0 ) 0 ( 200 2 2000 ' = − − = v t v v a solução exacta é : 40 10 ) ( 2 t t t

v = − e o valor exacto da velocidade no instante

v(50)

= 437.5

50 

(9)

9

Gladys Castillo, UA, 2009 Aproximando por:

9

Euler com

h=10……... v(50)

≈ v

5

447.3684

9

Euler com

h=5……….. v(50)

≈ v

10

442.3077

9

Runge-Kutta, ordem 4,

h=10 …..

v(50)

≈ v

5

437.4995

Conhecendo o valor exacto de , podemos calcular o erro de truncatura global (o erro resultante da acumulação dos erros de truncatura introduzidos em todos os passos)

50

10

Valores do erro de truncatura global (absoluto) cometido na aproximação de 50  pelos diferentes métodos:

9 Euler com

h=10……… | e

5

| = | v(50) - v

5

|

=

9.868421053

9 Euler com

h=5………. | e

10

| = | v(50) – v

10

|

=

4.807692308

9 Runge-Kutta, ordem 4,

h=10…| e

5

| = | v(50) – v

5

|

=

0.0005173705014

Apesar do método de Euler ser de aplicação muito simples, os resultados obtidos têm, em geral, pouca precisão. Assim, a melhor aproximação de v(50) é a aproximação obtida com o método de Runge-Kutta de ordem 4 e passo

.

Podemos também desenhar o gráfico da solução exacta deste problema de PVI e compará-lo com as aproximações encontradas pelos métodos de Euler com passo h=5 e h=10 e com o método de Runge-Kutta de 4ª ordem e passo h=10.

(10)

( programa em Matlab: fp6_ex6.m )

Referências

Documentos relacionados

obtidas em cada base, também são registradas, elas são utilizadas para dar volume ao sistema subterrâneo.. Trabalhos sobre levantamentos topográficos em cavernas [1,2] discutem

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e

O empregador deverá realizar a avaliação ambiental de poeira de asbesto nos locais de trabalho em intervalos não superiores a seis meses.. Os registros das avaliações deverão

Promovido pelo Sindifisco Nacio- nal em parceria com o Mosap (Mo- vimento Nacional de Aposentados e Pensionistas), o Encontro ocorreu no dia 20 de março, data em que também

A seqüência analítica • Definição do problema • Escolha do método • Amostragem • Pré-tratamento da amostra • Medida • Calibração • Avaliação •

O desenvolvimento das interações entre os próprios alunos e entre estes e as professoras, juntamente com o reconhecimento da singularidade dos conhecimentos

2. Identifica as personagens do texto.. Indica o tempo da história. Indica o espaço da história. Classifica as palavras quanto ao número de sílabas. Copia do texto três

1- A vida das comunidades recoletoras era muito difícil, devido ao frio intenso e aos animais ferozes, mas também porque era difícil encontrar comida e lugares onde se abrigarem.. 2-