Enunciado

Em cada um dos problemas de 7 a 12, encontre valores aproximados da solução do problema de valor inicial dado em t   =   0,5 ;   1,0 ;   1,5   e 2,0 . Compare os resultados com os obtidos usando outros métodos e com a solução exata (se disponível).

(a) Useo método de Runge-Kutta com h   =   0,1 .

(b) Useo método de Runge-Kutta com h   =   0,05 .

11. y ' = 4 - t y 1 + y 2 ,     y 0 = - 2

Passo 1

Bora lá pro nosso primeiro probleminha sobre método de R u n g e - K u t t a .

Olha só! A nossa f ( t , y ) já sabemos que é dada por...

f t , y = 4 - t y 1 + y 2

E sabemos também das seguintes condições:

t n = t 0 + n h

y 0 = 1

Sabendo disso, é uma boa utilizarmos o método de 4 ª ordem pra resolver esse nosso problema. Assim, iremos obter valores mais aproximados em cada ponto pedido.

A nossa iteração no método de R u n g e - K u t t a de 2 ª   ordem é dada por...

y n + 1 = y n + 1 6 k 1 + 2 k 2 + 2 k 3 + k 4

Agora presta atenção! Como o objetivo é resolver esse problema computacionalmente, o que estamos procurando aqui é fórmulas pra colocarmos em nosso código. De preferência, que estejam em função de h e das condições fornecidas pelo enunciado.

Disso isso! Bora pro que interessa! Vamos obter k 1 ...

k 1 = h f ( t n , y n )

k 1 = h 4 - t n y n 1 + y n 2

k 1 = h 4 - n h y n 1 + y n 2

Depois, bora descobrir k 2 , que é dado por...

k 2 = h f t n + 1 2 h , y n + k 1 2

k 2 = h 4 - t n + 1 2 h ⋅ y n + k 1 2 1 + y n + k 1 2 2

k 2 = h 4 - n h + 1 2 h ⋅ y n + k 1 2 1 + y n + k 1 2 2

Em seguida, bora partir pra obtenção de k 3   , que é igual à...

k 3 = h f t n + 1 2 h , y n + k 2 2

k 3 = h 4 - t n + 1 2 h ⋅ y n + k 2 2 1 + y n + k 2 2 2

k 3 = h 4 - n h + 1 2 h ⋅ y n + k 2 2 1 + y n + k 2 2 2

E finalmente, vamos obter k 4 ...

k 4 = h f t n + h , y n + k 3

k 4 = h 4 - t n + h ⋅ y n + k 3 1 + y n + k 3 2

k 4 = h 4 - n h + h ⋅ y n + k 3 1 + y n + k 3 2

Pronto! Agora vamos pegar esses dados pra usar em nossa resolução computacional.

Passo 2

Para isso, vamos usar a seguinte estrutura abaixo em forma de algoritmo...

P a s s o   1 : D e f i n i r   c a d a   f u n ç ã o   d e   i t e r a ç ã o   k n

P a s s o   2 : D e f i n i r   o   t a m a n h o   d o   p a s s o   e   d o   v a l o r   i n i c i a l   y ( 0 )

P a s s o   3 : F a z e r   n   r e c e b e r   0 ,   p a r a   q u e   e l e   v e n h a   a   s e r   i n c r e m e n t a d o   e m   n o s s o s   c ó d i g o

P a s s o   4 : P a r a   i   d e   1   a t é   u m   t a m a n h o   T A M   d e   2 h   f a ç a  

P a s s o   5 :  

k 1 = h 4 - n h y n 1 + y n 2

k 2 = h 4 - n h + 1 2 h ⋅ y n + k 1 2 1 + y n + k 1 2 2

k 3 = h 4 - n h + 1 2 h ⋅ y n + k 2 2 1 + y n + k 2 2 2

k 4 = h 4 - n h + h ⋅ y n + k 3 1 + y n + k 3 2

y n + 1 = y n + 1 6 k 1 + 2 k 2 + 2 k 3 + k 4

i = i + 1  

n = n + 1  

P a s s o   6 : E s c r e v a   ( y n + 1 )

P a s s o   7 : F i m

Captou a mensagem!?

Pois bora em frente!

Passo 3

a) Desse modo, utilizando uma linguagem de programação qualquer, C ou P y t h o n ... Você é quem sabe! É possível determinar o que a gente quer. No caso, bora usar a linguagem C ...

Olha só! O seguinte código abaixo foi feito...

O legal é que esse código vai ser servir pra quase todas as questões desse seção! Só é preciso alterar um detalhe aqui e outro acolá!

Bom! Compilando ele, num total de iterações ( T A M ) igual à...

T A M = 2 h = 2 0.1 = 20

É importante ressaltar que botamos um condicional em nosso código para que ele p r i n t e apenas os valores que pede o enunciado. Podemos fazer isso, colocando um " i f " para que toda vez que a divisão de i por 5 for 0 , o programa mostrar.

Voltando ao assunto da compilação! Obtemos os seguintes valores da figura abaixo...

Passo 4

b) Já nessa letra, só basta alterar duas coisas no código confeccional. Primeiro, o valor de h   que vai ser igual a 0 . 05 .

E depois o tamanho T A M de iterações, que vai valer...

T A M = 2 0.05 = 40

Ah! Esqueci de falar! No condicional i f , dessa vez o nosso " i f " vai fazer com que toda vez que a divisão de i por 10 for 0 , o programa mostre o valor de y em j .

Desse modo, compilando o código com essas alterações... Obtemos o exposto na imagem abaixo:

Pronto! Finalizamos aqui!

Resposta

a)

b)

Ver Outros Exercícios desse livro

Exercícios de Livros Relacionados

Determine se as funções dadas são linearmente dependentes ou linearmente independentes. Se forem linearmente dependentes, encontre uma relação linear entre elas..
Determine se as funções dadas são linearmente dependentes ou linearmente independentes. Se forem linearmente dependentes, encontre uma relação linear entre elas..
Verifique se as funções dadas são soluções da equação diferencial, e determine seu wronskiano. .
Determine se as funções dadas são linearmente dependentes ou linearmente independentes. Se forem linearmente dependentes, encontre uma relação linear entre elas..
Em cada um dos problemas de 17 a 34, encontre todos os pontos singulares da equação dada e determine se cada um deles é regular ou irregular.26. x ( 3–x ) y ″+( x+1 ) y '-2 y=0