Use o botão abaixo para reportar erros ou dar sugestões.

Cálculo Numérico - Versão Python

Capítulo 10
Problemas de valor inicial


Neste capítulo, vamos estudar metodologias numéricas para aproximar a solução de problema de valor inicial (problema de valor inicial) para equações diferenciais ordinárias. Primeiramente, daremos atenção aos problemas de primeira ordem e, depois, mostraremos que estas técnicas podem ser estendidas para problemas e sistemas de ordem superior. Considere um problema de valor inicial de primeira ordem dado por:

u(t) = f(t,u(t)),t > t(1) (10.1a) u(t(1)) = a(condição inicial). (10.1b)

A incógnita de um problema de valor inicial é uma função que satisfaz a equação diferencial (10.1a) e a condição inicial (10.1b).

Considere os próximos três exemplos:

Exemplo 10.0.1. O seguinte problema é linear não homogêneo:

u(t) = t u(0) = 2 (10.2)

Exemplo 10.0.2. O seguinte problema é linear homogêneo: u(t) = u(t) (10.3) u(0) = 1 (10.4)

Exemplo 10.0.3. O seguinte problema é não linear e não homogêneo: u(t) = sen (u(t)2 + sen (t)) (10.5) u(0) = a (10.6)

A solução do primeiro exemplo é u(t) = t22 + 2 pois satisfaz a equação diferencial e a condição inicial. A solução do segundo também é facilmente obtida: u(t) = et. Porém como podemos resolver o terceiro problema?

Para muitos problemas de valor inicial da forma (10.1), não é possível encontrar uma expressão analítica fechada, ou seja, sabe-se que a solução existe e é única, porém não podemos expressá-la em termos de funções elementares. Por isso é necessário calcular aproximações numéricas para a solução.

Existem uma enorme família de metodologias para construir soluções numéricas para problemas de valor inicial. Aqui, vamos nos limitar a estudar métodos que aproximam u(t) em um conjunto finito de valores de t. Este conjunto de valores será chamado de malha e será denotado por {t(i)} i=1N = {t(1),t(2),t(3),,t(N)}. Desta forma, aproximamos a solução u(t(i)) por u(i) em cada ponto da malha usando diferentes esquemas numéricos.

Nos códgos em Python apresentados neste capítulo, assumiremos que as seguintes bibliotecas e módulos estão importados:

from __future__ import division  
import numpy as np  
from numpy import linalg  
import matplotlib.pyplot as plt

Creative Commons License Este texto é disponibilizado nos termos da licença Creative Commons Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC-BY-SA 3.0). Página gerada em 15/5/2019 às 15:24:50.

Informe erros ou edite você mesmo!