Márcio Menezes Cálculo Numérico - …£o podemos garantir que uma aproximação de uma derivada...

36
Márcio Menezes Cálculo Numérico

Transcript of Márcio Menezes Cálculo Numérico - …£o podemos garantir que uma aproximação de uma derivada...

Márcio Menezes

Cálculo Numérico

Sumário

03

CAPÍTULO 4 – Como Usar o Cálculo Diferencial e Integral no Computador? .......................05

Introdução ....................................................................................................................05

4.1 Derivadas numéricas ................................................................................................05

4.1.1 Diferenças finitas .............................................................................................05

4.1.2 Análise gráfica ................................................................................................06

4.1.3 Exemplo .........................................................................................................09

4.2 Equações Diferenciais Ordinárias ...............................................................................11

4.2.1 O que são equações diferenciais ordinárias .......................................................12

4.2.2 Método de Euler ..............................................................................................14

4.2.3 Equações diferenciais de ordem superior ............................................................15

4.2.4 Método de Euler para equações diferenciais de ordem superior ............................18

4.3 Integração Numérica: regra dos retângulos, regra dos trapézios e regra de Simpson .......20

4.3.1 Regra dos retângulos .......................................................................................21

4.3.2 Regra dos trapézios .........................................................................................25

4.3.3 Regra de Simpson ............................................................................................26

4.4 Integração Usando o Método de Monte Carlo .............................................................30

4.4.1 Como funciona? .............................................................................................30

4.4.2 Exemplo .........................................................................................................32

Síntese ..........................................................................................................................34

Referências Bibliográficas ................................................................................................35

Capítulo 4

05

IntroduçãoO Cálculo Diferencial e Integral tem aplicações em situações práticas? Como podemos utilizá-lo para resolver diversos problemas no contexto da engenharia? Veremos ao longo deste capítulo que podemos usar o Cálculo Diferencial e Integral mesmo em situações onde não é possível encontrar uma primitiva para a função em questão.

Temos como exemplo a evolução de um satélite artificial colocado na órbita da Terra. A resolução das equações diferenciais de forma analítica pode ser muito difícil, mas a resolução através de métodos numéricos pode ser muito mais simples. Como podemos aproximar as derivadas num com-putador? Como podemos aproximar as integrais num computador? Veremos como fazer cada uma destas aproximações ao longo deste capítulo.

Bom, todos os resultados em Cálculo Numérico são aproximados, mas estas aproximações podem ter um nível de erro bem pequeno, desde que tenhamos conhecimento dos algoritmos para que possamos utilizá-los corretamente.

Veremos como aproximar as derivadas, depois usaremos as derivadas para resolver equações dife-renciais. Depois disso, veremos como aproximar integrais unidimensionais e posteriormente integrais multidimensionais.

4.1 Derivadas numéricasComo podemos calcular uma derivada no computador? Conforme veremos, não será possível calcular uma derivada no computador, mas podemos aproximar o seu resultado. Existem várias formas de aproximarmos uma derivada no computador. Algumas aproximações não são muito boas e outras são melhores.

Não podemos garantir que uma aproximação de uma derivada não contenha erro no cálculo do seu valor. Mas podemos conhecer o nível de erro no cálculo de uma derivada numérica, de tal forma a sabermos em que situações esta aproximação pode causar problemas.

4.1.1 Diferenças finitas

Observe que o cálculo de derivadas envolve tomar o limite para uma variável tendendo a zero:

Como Usar o Cálculo Diferencial e Integral no

Computador?

06 Laureate- International Universities

Cálculo Numérico

No estudo de Cálculo Diferencial, é possível tomar o limite para uma variável tendendo a zero, mas no computador não é possível tomar este limite. Portanto, uma derivada terá que ser apro-ximada por diferenças finitas:

A variável y indica os valores de f(x). δy representa a diferença de dois valores da variável y. O mesmo vale para δx. Chamamos δ y/δ x de diferença finita para diferenciá-la das diferenças infinitesimais obtidas nas derivadas calculadas através do limite.

Veremos como interpretar graficamente uma derivada. A partir desta interpretação gráfica, po-deremos notar que existem algumas possibilidades de aproximarmos uma derivada através da implementação numérica.

Podemos ainda escrever a última expressão como:

4.1.2 Análise gráfica

Vimos que podemos aproximar uma derivada por diferenças finitas, mas queremos saber qual é a qualidade da aproximação. Se a qualidade não for boa, queremos saber se é possível melhorá-la de alguma forma.

Veremos que existem três formas muito comuns de calcularmos uma derivada numérica, que são chamadas de:

• derivada para trás;

• derivada para frente;

• derivada central.

Vamos entender cada uma delas através de equações e de gráficos.

Suponha que conhecemos o valor da função f(x) em três diferentes pontos: x0 - δx, x0 e x0 + δx, tal como mostrado na Figura 1.

07

f(x)

x0 - δx x0

x

verdadeira

x0 + δx

Figura 1 – O gráfico de uma função f(x) em azul juntamente com o gráfico de da sua derivada em x = x0 em vermelho.

Fonte: Elaborado pelo autor, 2015.

Apesar de ser mostrado o gráfico da função f(x) na Figura 1, ele está ali apenas para facilitar o entendimento do problema. Numa situação prática é comum conhecermos o gráfico da função somente em alguns pontos, que são os pontos mostrados nesta figura sobre a curva azul.

A Figura 1 mostra ainda a ‘verdadeira’ derivada da função. Observe que, numa situação prática, a ‘verdadeira’ derivada é desconhecida. Esta derivada está apresentada aí somente para facilitar o entendimento e também para podermos comparar as derivadas que obtivermos com o valor exato da derivada que é apresentado por esta reta vermelha.

Qual a interpretação gráfica de uma derivada? É importante observar, graficamente, que a derivada é uma reta tangente, que passa por um único ponto do gráfico. Esta reta representa a inclinação da reta tangente ao gráfico da funçãof(x)no ponto x espe-cificado. No caso, o ponto específico é o ponto x0. Se escolhêssemos um outro ponto, a inclinação da reta que representa a derivada seria diferente. Em outras palavras, o valor da derivada assume valores diferentes em diferentes pontos desta função.

VOCÊ SABIA?

Como conhecemos apenas três diferentes pontos desta função, como podemos calcular o valor da derivada desta função no ponto x = x0?

Derivada para trásVeremos primeiramente o cálculo da derivada para trás. Ela recebe este nome porque, ao cal-cularmos a derivada no ponto x = x0, além do ponto x = x0, utilizamos também o ponto anterior (x0 - δx). A Figura 2 mostra a representação gráfica da derivada para trás.

Vemos que a inclinação da derivada para trás é diferente da inclinação da ‘verdadeira’ derivada, ou seja, o valor da derivada para trás apresenta um valor diferente que a ‘verdadeira’ derivada

08 Laureate- International Universities

Cálculo Numérico

da função. No caso apresentado, a inclinação da derivada para trás é menor que a inclinação da ‘verdadeira’ derivada da função.

f(x)

x0 - δx x0

x

verdadeira

para trás

central

para frente

x0 + δx

Figura 2 – O gráfico da função f(x) em azul, juntamente com o gráfico da sua ‘verdadeira’ derivada em x = x0 em vermelho, e o gráfico das três derivadas numéricas em preto.

Fonte: Elaborado pelo autor, 2015.

Derivada para frenteAlém da derivada para trás, é possível calcularmos a derivada para frente. Ela recebe este nome porque, ao calcularmos a derivada no ponto x = x0, além do ponto x = x0, utilizamos tam-bém o ponto posterior, ou seja, x0 + δx. A Figura 2 mostra a representação gráfica da derivada para frente.

Vemos que a inclinação da derivada para frente é diferente da inclinação da ‘verdadeira’ deri-vada, ou seja, o valor da derivada para frente apresenta um valor diferente que a ‘verdadeira’ derivada da função. Vemos que a inclinação da derivada para frente é maior que a inclinação da ‘verdadeira’ derivada da função.

Derivada central Além das outras duas derivadas numéricas que vimos, existe também a derivada central. Ela re-cebe este nome porque, ao calcularmos a derivada no ponto x = x0, utilizamos somente os pontos x0 - δx e também o ponto x0 + δx. Ou seja, utilizamos o ponto anterior e o ponto posterior. Não utilizamos o próprio ponto x0. A Figura 2 mostra a representação gráfica da derivada central.

Vemos que a inclinação da derivada central continua não coincidindo exatamente com a inclina-ção da ‘verdadeira’ derivada. Apesar disso, o valor da derivada central é razoavelmente próximo ao valor da ‘verdadeira’ derivada.

Comparando as derivadas numéricasQueremos comparar todas as três derivadas numéricas que aprendemos até agora!

Vemos que, das três derivadas numéricas apresentadas, a derivada central é a que mais se apro-xima da inclinação da ‘verdadeira’ derivada. Portanto, vemos que é interessante utilizar um inter-valo que seja simétrico em torno do ponto onde pretendemos calcular a derivada. Outro ponto importante é que, quanto menor for o intervalo da variável x (quanto menor for δx), melhor será

09

a aproximação que obteremos para a derivada, pois a derivada ocorre no limite onde δx tende a zero. Como não é possível ter num computador o limite de δx tendendo a zero, devemos observar que o resultado melhora quando utilizamos um valor pequeno para δx.

Vale ressaltar que, sempre que tivermos a opção de utilizarmos qualquer uma das três derivadas numéricas, devemos utilizar a derivada central, porque ela é simétrica em torno do ponto onde queremos calcular a derivada. Além disso, se houver a possibilidade de escolha do tamanho do intervalo δx, devemos escolher o menor valor disponível.

E quando não temos a opção de utilizar a derivada central? Imagine que temos um conjunto de 10 pontos. Em cada um destes 10 pontos temos o valor da variável x e o valor da variável y, onde y = f(x). Queremos calcular o valor da derivada da função f(x) em cada um dos pontos. Como não conhecemos a função, devemos calcular a derivada numérica. Mas não será possível calcu-lar a derivada central no primeiro ponto, pois não existe um ponto anterior a este. Também não é possível calcular a derivada para trás neste ponto. No último ponto acontece algo semelhante. No último ponto não é possível calcular a derivada para frente nem mesmo a derivada central. No último ponto é possível calcular somente a derivada para trás.

Antes de finalizarmos esta discussão sobre as três derivadas numéricas que calculamos até agora, é importante verificar que é comum denotarmos os pontos com índices. Portanto, não é comum utilizar x_0±nδx para representar cada uma das posições da variável x.

4.1.3 Exemplo

Vamos considerar um exemplo para consolidarmos o conteúdo que vimos até agora.

Um engenheiro está fazendo estudos sobre a aceleração de um novo veículo que está sendo produzido. Para isto, ele mede a posição do veículo, enquanto ele está sendo acelerando. As duas variáveis que ele tem são: a posição do veículo (x) o instante de tempo (t) onde ocorre a medição. O veículo parte do repouso e é acelerado durante todo o percurso. A Tabela 1 mostra o valor das variáveis medidas.

t 0 s 1 s 2 s 3 s 4 s 5 s

x 0 m 4 m m 13 m 28 m 50 m 28

Tabela 1 – Posição de um veículo em função do tempo.

Fonte: Elaborada pelo autor, 2015.

Para entendermos melhor estes valores medidos, colocamos todos eles num gráfico, apresentado na Figura 3. A velocidade do veículo aumenta em função do tempo.

10 Laureate- International Universities

Cálculo Numérico

80

60

40

20

00 1 2

t (s)

x (m

)

3 4 5

Figura 3 – Posição do veículo ao longo do tempo.

Fonte: Elaborada pelo autor, 2015.

Agora queremos calcular a velocidade do carro em cada instante de tempo. Como temos apenas um conjunto discreto de pontos, não será possível calcular a velocidade instantânea do veículo, mas podemos obter boas aproximações para a velocidade. É importante lembrar que a velocida-de é a derivada da posição em relação ao tempo.

Na Tabela 2 é apresentada a derivada da posição, calculando cada uma das derivadas numéri-cas que aprendemos: a derivada para trás, a derivada para frente e a derivada central.

t x(t) Derivada para trás Derivada para frente Derivada central

0 s 0 m – 4 m/s –

1 s 4 m 4 m/s 9 m/s 6,5 m/s

2 s 13 m 9 m/s 15 m/s 12,0 m/s

3 s 28 m 15 m/s 22 m/s 18,5 m/s

4 s 50 m 22 m/s 28 m/s 25,0 m/s

5 s 78 m 28 m/s – –

Tabela 2 – Posição de um veículo e sua velocidade em função do tempo.

Fonte: Elaborada pelo autor, 2015.

Sabemos que a derivada central é o resultado que melhor se aproxima da ‘verdadeira’ deriva-da da função. Portanto, a melhor aproximação para a velocidade do veículo é obtida quando utilizamos a derivada central. Entretanto, como acontece com qualquer derivada numérica, esta derivada não pode ser calculada em qualquer ponto. Não podemos calcular a derivada central no primeiro ponto nem no último ponto. Assim, uma aproximação seria utilizar a derivada para frente no primeiro ponto e a derivada para trás no último ponto.

11

Se fizermos uma análise física do que está acontecendo, podemos perceber que o veículo partiu do repouso, assim, sua velocidade inicial é nula. Podemos melhorar o resultado numérico obtido através de uma análise do que está acontecendo. Mas não temos nenhuma informação adicional que nos ajude a melhorar a velocidade obtida no último ponto medido.

O melhor resultado que conseguiríamos para a velocidade é apresentado na Tabela 3.

t x(t) d x/d t

0 s 0 m 0,0 m/s

1 s 4 m 6,5 m/s

2 s 13 m 12,0 m/s

3 s 28 m 18,5 m/s

4 s 50 m 25,0 m/s

5 s 78 m 28,0 m/s

Tabela 3 – Posição de um veículo e a estimativa da sua velocidade em função do tempo.

Fonte: Elaborada pelo autor, 2015.

4.2 Equações Diferenciais OrdináriasAgora que sabemos calcular a derivada num computador podemos começar a pensar em re-solver uma equação diferencial numericamente. Uma equação diferencial costuma ser utilizada para descrever a evolução de alguma coisa ao longo do tempo. Também pode ser utilizada para indicar a evolução espacial de uma variável. Em suma, indica sempre a evolução de uma variável em função de outra. Quase sempre é usada para evolução temporal ou espacial.

Veremos primeiramente o que são as equações diferenciais ordinárias, bem como o que é a or-dem de uma equação diferencial. Será que é possível resolver numericamente somente equações diferenciais de primeira ordem ou então sistemas de equações de primeira ordem? Depois de termos adquirido este conhecimento, abordaremos o método de Euler para a resolução de equa-ções diferenciais de primeira ordem e também para resolução de sistemas.

Veremos ainda que é possível transformar uma única equação diferencial de ordem superior num sistema de equações diferenciais de primeira ordem. Finalmente, resolveremos estes sistemas de equações diferenciais também utilizando o método de Euler.

Leonhard Euler foi um físico e matemático suíço que viveu entre 1707 e 1783. Ele fez diversas descobertas em diferentes áreas da matemática. Ele é conhecido pela sua di-dática, tanto que grande parte da notação que utilizamos atualmente (forma de repre-sentar uma função, o número de Neper, entre outros) foram criadas por Euler.

VOCÊ O CONHECE?

12 Laureate- International Universities

Cálculo Numérico

4.2.1 O que são equações diferenciais ordinárias

Vamos falar aqui apenas de equações diferenciais ordinárias, que são equações diferenciais onde todas as derivadas que aparecem são em relação a uma mesma variável. Uma equação diferencial ordinária de primeira ordem pode ser escrita assim:

Ainda podemos ter equações diferenciais de primeira ordem escritas assim:

Poderíamos, ainda, ter o seguinte sistema de equações:

Em todos os casos apresentados, sempre aparece a derivada somente em relação a uma variá-vel, ou seja, somente em relação a t. O caso em que aparecem derivadas parciais, ou seja, onde teríamos derivada em relação a mais de uma variável não será tratado aqui, sendo este tipo de equação chamada de equação diferencial parcial, devido às derivadas parciais. A resolução de equações diferenciais parciais está além do escopo do material apresentado aqui.

Em suma, a palavra ‘ordinária’ no nome da equação diferencial aparece como sinônimo de ‘co-mum’. Portanto, nas equações que trataremos aqui, aparecerão apenas a derivada comum (ou seja, ordinária), e não a derivada parcial.

Exemplo

Um engenheiro está observando um circuito elétrico e descobre que a corrente que passa por dois terminais tem uma variação dada pela equação:

O que esta equação diz é que, se a tensão for zero, ela deve crescer com uma velocidade α, pois d V/d t é igual a a quando V vale zero. Caso contrário, a tensão cresce mais lentamente, pois

será subtraído da velocidade original o termo . Quando V for igual a Vmax, a tensão não vai

mais subir, pois o resultado da equação acima será:

13

Esta equação diferencial que apresentamos pode ser resolvida analiticamente. Vamos apenas afirmar que a solução da equação é do tipo:

V(t) = k1 + ek2t

Onde k1 e k2 são constantes que precisam ser determinadas. Para descobrir o valor destas cons-tantes, basta substituir esta solução na equação diferencial:

Primeiramente, queremos que a constante k1 desapareça. Para que isto aconteça, ela deve ser igual a a.Vmax. Se fizermos esta escolha, sobra somente:

Obtemos, finalmente, que k2 deve ser igual a: -a/Vmax . Assim, a solução será:

V = a. Vmax (1 - e-a t/Vmax )

A Figura 4 mostra a tensão em função do tempo. Para este gráfico foram escolhidos a = 1 e Vmax = 1.

1

0.8

0.6

0.4

0.2

00 2 4

t

V

6 8 10

Figura 4 – O gráfico da tensão em função do tempo. O gráfico é solução da equação diferencial

Figura 4 – O gráfico da tensão em função do tempo.

Fonte: Elaborada pelo autor, 2015.

14 Laureate- International Universities

Cálculo Numérico

A equação diferencial que acabamos de resolver nos dá a dinâmica da tensão ao longo do tempo. Mas é importante salientar que a maioria das equações diferenciais que obtemos em situações práticas de engenharia não podem ser resolvidas analiticamente. Assim, temos que resolvê-las utilizando métodos numéricos, tal como veremos a seguir.

4.2.2 Método de Euler

Agora veremos um método para resolução das equações diferenciais ordinárias de primeira or-dem, o Método de Euler.

O Método de Euler consiste em aproximar a equação diferencial:

A aproximação consiste em escrever a derivada como uma diferença finita, ou seja:

A partir desta equação de diferenças, podemos escrever:

δx = f(x) δt

É importante observar que δx pode ser interpretado como xn+1 - xn. Assim, obtemos:

xn+1= xn + f (xn) δt

A partir de uma condição inicial (x0) é possível calcular os próximos valores para a variável x, ou seja, calculamos: x1, x2, ... , xn.

Exemplo

Vamos resolver o mesmo problema da tensão ao longo do tempo que resolvemos anteriormente. A equação que temos que resolver é:

Assumindo que a e Vmax são ambos iguais a 1, a equação fica simplesmente:

Devemos primeiramente escrever esta equação na forma de diferenças finitas, que é:

A forma iterativa da equação fica:

Vn+1 = Vn + (1 - Vn) δt

15

Para resolver esta equação, devemos primeiramente escolher uma condição inicial (um ponto de partida). Vamos escolher como condição inicial o momento quando o circuito está sendo ligado. Neste instante a tensão é nula, portanto a condição inicial é V0 = 0. Depois disso, precisamos escolher o tamanho do passo δt. Sabemos que, quanto menor for este passo, melhor será o re-sultado da derivada que estamos tentando aproximar. Vamos escolher este passo com o valor: δt = 0,1 segundos.

Vamos usar esta equação substituindo V0 por 0 e δt por 0,1, então o resultado será:

V1 = 0 + (1 - 0) · 0,1 = 0,1

Agora usamos V1 na equação para encontrar o valor de V2:

V2 = 0,1 + (1 - 0,1) · 0,1 = 0,19

O processo continua para o cálculo de V3, V4, etc. O resultado dos cálculos é mostrado na Tabela 4.

Iteração V Iteração V Iteração V Iteração V

1 0.10000 11 0.68619 21 0.89058 31 0.96185

2 0.19000 12 0.71757 22 0.90152 32 0.96566

3 0.27100 13 0.74581 23 0.91137 33 0.96910

4 0.34390 14 0.77123 24 0.92023 34 0.97219

5 0.40951 15 0.79411 25 0.92821 35 0.97497

6 0.46856 16 0.81470 26 0.93539 36 0.97747

7 0.52170 17 0.83323 27 0.94185 37 0.97972

8 0.56953 18 0.84991 28 0.94767 38 0.98175

9 0.61258 19 0.86491 29 0.95290 39 0.98358

10 0.65132 20 0.87842 30 0.95761 40 0.98522

Tabela 4 – Tensão num circuito em função do tempo.

Fonte: Elaborada pelo autor, 2015.

4.2.3 Equações diferenciais de ordem superior

A ordem de uma equação diferencial é dada pela maior derivada que aparece na equação di-ferencial. Em todas as equações diferenciais que vimos até agora apareceu sempre a primeira derivada, assim estas equações são chamadas de equações diferenciais de ordem 1. Quando aparece a segunda derivada, a equação diferencial terá ordem 2, tal como nesta equação:

A equação pode ou não apresentar a dependência na derivada de primeira ordem. Acima foi colocada uma função que teria a dependência na primeira derivada. O importante é que deve existir um termo com a segunda derivada para que seja considerada uma equação diferencial de segunda ordem.

Uma equação diferencial de ordem n, deve apresentar a derivada de ordem n, assim:

16 Laureate- International Universities

Cálculo Numérico

A equação acima poderia ter ainda a dependência de outras variáveis, como por exemplo de uma variável chamada y, assim como suas derivadas.

Exemplo bidimensionalVamos considerar como exemplo a equação diferencial de Van der Pol:

A equação de Van der Pol representa um oscilador não-linear com amortecimento.

Para transformar esta equação de segunda ordem num sistema de duas equações de primeira ordem, devemos criar uma variável auxiliar, e chamaremos esta variável de y. A variável y será:

Ao fazer esta escolha podemos observar que:

Depois de fazer esta escolha, podemos substituir y e d y/d t na equação original, obtendo:

Para que possamos resolver, precisamos descobrir como a variável x e como a variável y evoluem ao longo do tempo. Para isto, devemos resolver o seguinte sistema de equações diferenciais:

Vemos, portanto, que a equação diferencial de segunda ordem pode ser escrita como um sistema com duas equações diferenciais de primeira ordem.

Exemplo n-dimensionalVamos considerar como exemplo a seguinte equação diferencial:

17

Para transformar esta equação de ordem n num sistema de n equações de primeira ordem, deve-mos criar n variáveis auxiliares. Chamaremos esta variável de x1 a xn. As variáveis serão:

Ao fazer esta escolha, podemos observar que:

Agora podemos substituir as variáveis x1 a xn na equação original, juntamente com obtendo:

Para que possamos resolver, precisamos descobrir como cada variável x_i evolui ao longo do tempo. Para isto, devemos resolver o seguinte sistema de equações diferenciais:

CASODiversas situações são muito difíceis de serem estudadas na prática sem o auxílio de um com-putador. Para se conhecer a propagação de poluentes na atmosfera ou na água, é comum a utilização de equações diferenciais.

Através das equações diferenciais é possível simular:

• uma fonte inserindo poluente num determinado meio;

• passagem de poluente de um meio para outro (do ar para a água);

• transporte, devido a correntes (de ar ou marítima);

• difusão (espalhamento aleatório do poluente no meio em questão).

Existem diversos estudos neste sentido. Um destes estudos foi realizado por um pesquisador da Unicamp e outro pesquisador da UFMT. O resultado pode ser visto no artigo científico disponível em: <http://www.ime.unicamp.br/~biomat/bio14_art10.pdf>.

18 Laureate- International Universities

Cálculo Numérico

4.2.4 Método de Euler para equações diferenciais de ordem superior

Para resolver uma equação diferencial de ordem n, é necessário primeiramente transformá-la num sistema n de equações diferenciais de primeira ordem. Depois disso, podemos utilizar o método de Euler para resolver esta equação.

Transformando o sistema de equações diferenciais num sistema de diferenças finitas, temos:

Transformando este sistema num sistema de equações iterativas, temos:

Utilizamos o índice k sobrescrito para indicar a iteração de cada uma das variáveis.

Para resolver esta equação é necessário ter um valor inicial para cada uma das variáveis criadas. Precisamos atribuir um valor inicial para cada uma das n variáveis.

Exemplo

Vamos voltar à equação de van der Pol. Sua forma original é:

Depois de transformá-la num sistema de duas equações de primeira ordem, temos:

19

Transformando o sistema de equações diferenciais num sistema de diferenças finitas, temos:

Transformando este sistema num sistema de equações iterativas, temos:

Para resolver este sistema de equações diferenciais é necessário ter um valor inicial para cada uma das variáveis, ou seja, para as variáveis x e y. Além disso, é necessário definir o valor da constante µ. Utilizamos em nossas simulações o valor µ=2,5.

Escolhendo o valor zero para a variável x e o valor -3 para a sua velocidade, ou seja, para a variável y (lembre-se que y=d x/d t.) temos o seguinte:

x1 = 0 ± 3 · 0,1 = -0,3

y1 = -3 + [2,5 · (1 - 02) · (-3) - 0] · 0,1= -3,75

Continuando a evoluir esta variável, temos o resultado mostrado na Tabela 5 e na Figura 5.

Iteração x y Iteração x y

1 -0.30000 -3.75000 11 -2.28666 0.21362

2 -0.67500 -4.57313 12 -2.26530 0.21645

3 -1.13231 -5.12800 13 -2.24365 0.21941

4 -1.64511 -4.65307 14 -2.22171 0.22250

5 -2.11042 -2.50357 15 -2.19946 0.22573

6 -2.36078 -0.13078 16 -2.17689 0.22911

7 -2.37385 0.25482 17 -2.15398 0.23265

8 -2.34837 0.19692 18 -2.13071 0.23636

9 -2.32868 0.20949 19 -2.10708 0.24026

10 -2.30773 0.21073 20 -2.08305 0.24436

Tabela 5 – Evolução da equação diferencial de Van der Pol.

Fonte: Elaborada pelo autor, 2015.

20 Laureate- International Universities

Cálculo Numérico

3

2

1

0

-1

-2

-30 10 20

t

y

30 40

6

4

3

0

-2

-4

-60 10 20

t

y

30 40

Figura 5 – Evolução da equação diferencial de Van der Pol. O primeiro gráfico mostra a evolução da variável x, enquanto o segundo gráfico mostra a evolução da variável y.

Fonte: Elaborada pelo autor, 2015.

As equações diferenciais estão presentes em diversas situações. Sempre que existe mo-vimento, este movimento pode ser escrito por uma equação diferencial. O movimento não precisa ser necessariamente um objeto se movendo, pode ser a carga elétrica ou então calor, ou qualquer outra propriedade que esteja variando com o tempo. Qual-quer uma destas situações pode ser tratada como um movimento.

Para conhecer um pouco mais sobre a resolução no computador das equações dife-renciais, você pode ler o documento que está disponível em: <http://www.uesc.br/arbelos/_borders/arquivo/sm/2002/mc.03.doc>.

VOCÊ QUER LER?

4.3 Integração Numérica: regra dos retângulos, regra dos trapézios e regra de SimpsonMuitos problemas da engenharia baseiam-se no cálculo da integral de uma função. A função pode ser conhecida ou desconhecida. No caso da função desconhecida, temos apenas um conjunto de pontos que correspondem ao valor da função em pontos específicos. Neste caso, a única forma de calcularmos a integral é através de métodos numéricos.

Quando a função é conhecida, o valor de sua integral pode ser desconhecido. Aqui, a única alternativa é a integração numérica, que pode auxiliar na descoberta da integral da função.

21

4.3.1 Regra dos retângulos

Todos os problemas de integração numérica se resumem a calcular o valor da integral de uma função f(x) num intervalo [a,b], ou seja:

A primeira coisa que devemos fazer é dividir o subintervalo [a,b] em n subintervalos. Os subin-tervalos podem ter tamanhos iguais ou diferentes. Assim, escolhemos n+1 pontos em ordem crescente, sendo o primeiro ponto x0 = a e o último xn = b, ou seja:

a = x0 < x1 < x2 <...< xn-1 < xn = b

Depois de escolhidos os n+1 valores para a variável x, vamos calcular a área de cada um dos n retângulos. Temos três opções na hora de calcular a área (A) dos retângulos:

• Ai = f(xi) · (xi+1 - xi)

• Ai = f(xi+1) · (xi+1 - xi)

• Ai =

Estamos interessados em calcular a área total. Vamos ver como é calculada a área em cada um dos três casos.

No primeiro caso, a área total é dada por:

No segundo caso, a área total é dada por:

No terceiro caso, a área total é dada por:

Se o intervalo [a,b] for dividido em n subintervalos de tamanhos iguais, então os subintervalos podem ser chamados de δx. Além disso, podemos chamar f(xi) de yi.

No primeiro caso, a área total (para subintervalos de mesmo tamanho) é dada por:

22 Laureate- International Universities

Cálculo Numérico

No segundo caso, a área total (para subintervalos de mesmo tamanho) é dada por:

No terceiro caso, a área total (para subintervalos de mesmo tamanho) é dada por:

Exemplo

Para entendermos a integração numérica, vamos analisar a integral da função:

Queremos integrar esta função para x no intervalo [-10,+10]. O gráfico desta função é mostrado na Figura 6.

3

2.5

2

1.5

1

0.5

0-10 -5 0

x

f (x)

5 10

Figura 6 – Gráfico da função f(x) que será integrada utilizando diferentes métodos.

Fonte: Elaborado pelo autor, 2015.

Geralmente, a função f(x) é conhecida somente em alguns pontos, por exemplo, conhecemos somente os valores da função nos pontos azuis mostrados na Figura 6.

Numa situação prática, não sabemos qual é o verdadeiro valor da integral, mas, no caso que estamos considerando, o valor desta integral é 26,66667. Estamos apresentando este valor para mostrar posteriormente a eficácia de cada metodologia que utilizaremos para fazer a integração.

23

À medida que formos evoluindo no conteúdo de integração numérica, veremos que teremos re-sultados cada vez melhores.

Os valores dos pontos azuis da Figura 6 são mostrados na Tabela 6.

A questão que fica é a seguinte: Será que podemos encontrar o valor da integral da função f(x) com alguma acurácia?

x y x y

-10 2.54402 1 1.85147

-9 1.39788 2 1.94930

-8 0.65064 3 1.23112

-7 0.83301 4 0.40320

-6 1.63942 5 0.29108

-5 2.20892 6 1.08058

-4 1.91680 7 2.14699

-3 0.94888 8 2.62936

-2 0.13070 9 2.22212

-1 0.16853 10 1.45598

0 1.00000

Tabela 6 – Pontos que serão utilizados para obter uma aproximação da integral da função f(x).

Fonte: Elaborado pelo autor, 2015.

Usando a regra dos retângulos, poderíamos montar cada retângulo utilizando o valor da função que está à esquerda do subintervalo, tal como mostrado na Figura 7. O resultado no cálculo da integral utilizando esta metodologia é: 27,24402.

Podemos ainda usar o valor da função que está à direita do subintervalo, tal como mostrado na Figura 7. O resultado no cálculo da integral utilizando esta metodologia é: 26,15598.

Finalmente, poderíamos ainda usar o valor da função que está ao centro do subintervalo, tal como mostrado também na Figura 7. Mas é importante observar que, para que esta metodologia funcione, a função não deve ser calculada no lugar onde estão os pontos azuis, mas sim nos valores intermediários a estes. Não apresentamos os valores intermediários aqui, mas utilizamos estes valores e o resultado do cálculo da integral foi: 26,65000.

Vemos que o resultado foi muito melhor ao utilizar o valor centrado do que os outros valores. Mas, para que esta metodologia seja adotada, é necessário que a coleta de dados seja pensada desde o princípio para que se utilize o valor intermediário, caso contrário esta metodologia não poderá ser utilizada.

24 Laureate- International Universities

Cálculo Numérico

3

2.5

2

1.5

1

0.5

0 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10

x

f (x)

3

2.5

2

1.5

1

0.5

0 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10

x

f (x)

3

2.5

2

1.5

1

0.5

0 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10

x

f (x)

Figura 7 – Regra do retângulo. O primeiro gráfico usa f(x) à esquerda do retângulo para determinar a sua altura. O segundo gráfico usa f(x) à direita do retângulo para determinar a sua altura.

O terceiro gráfico usa f(x) ao centro do retângulo para determinar a sua altura.

Fonte: Elaborado pelo autor, 2015.

25

4.3.2 Regra dos trapézios

A ideia de resolver uma integral como a área de múltiplos retângulos de base estreita é, de uma forma geral, a ideia mais básica no cálculo de uma integral. Apesar de vermos que é possível obter uma boa aproximação para uma integral com este método, é possível melhorar este resul-tado sem aumentar o custo computacional, ou seja, sem que precisemos realizar mais operações matemáticas para isto. Uma das formas de se aprimorar o cálculo da integral numericamente é com o uso da regra dos trapézios.

Continuamos dividindo o intervalo [a,b] em n subintervalos. Os subintervalos podem ter tama-nhos iguais ou diferentes. Assim, escolhemos n+1 pontos em ordem crescente, sendo o primeiro ponto x0 = a e o último xn = b, ou seja:

a = x0 < x1 < x2 < ... <xn-1 < xn = b

Depois de escolhidos os n+1 valores para a variável x, vamos calcular a área de cada um dos n trapézios formados. A área de cada trapézio é dada por:

Estamos interessados em calcular a área total. Para isto realizamos a soma e obtemos:

Se o intervalo [a,b] for dividido em n intervalos de tamanhos iguais, então os intervalos pequenos podem ser chamados de δx, obtendo:

Ao expandirmos esta soma, obtemos:

Observamos que os termos se repetem (exceto y0 e yn), assim podemos agrupá-los:

A forma de se obter a área total neste caso é muito similar à obtenção da área total utilizando a regra do retângulo. A primeira diferença é que antes todos os pontos tinham o mesmo peso, agora os termos da borda têm a metade do peso que os demais elementos. A outra diferença é que antes somente n elementos apareciam na soma, agora são n+1 (de y0 a yn).

Como a maneira de se calcular o valor da integral é praticamente a mesma, podemos dizer que o custo computacional continua o mesmo que antes. Apesar disso, o resultado da regra do trapézio costuma ser melhor que o resultado da regra do retângulo.

26 Laureate- International Universities

Cálculo Numérico

Exemplo

Vamos novamente integrar a mesma função:

Agora usaremos a regra do trapézio. Assim obtemos o resultado mostrado na Figura 8. O resul-tado no cálculo da integral é: 26,70000.

3

2.5

2

1.5

1

0.5

0 -10 -5 0 5 10

x

f (x)

Figura 8 – Gráfico da função f(x) juntamente com a representação gráfica da regra dos trapézios.

Fonte: Elaborada pelo autor, 2015.

O ajuste por trapézios se aproxima melhor da função do que o ajuste por retângulos. Assim, este ajuste costuma apresentar resultados melhores do que a regra dos retângulos.

4.3.3 Regra de Simpson

A regra do trapézio melhorou os resultados fazendo uma interpolação linear entre os pontos da função. A ideia é fazer uma interpolação mais suave, que passe mais próximo da função.

Agora precisamos dividir o intervalo [a,b] em um número par de subintervalos. Assim, teremos que ter 2n subintervalos, sendo que os subintervalos deverão ter tamanhos iguais, caso contrário o cálculo não poderá ficar tão simples como nos outros métodos. Assim, escolhemos 2n+1 pon-tos em ordem crescente, sendo o primeiro ponto x0 = a e o último x2n = b, ou seja:

a = x0 < x1 < x2 <...< x2n-1< x2n = b

É importante observar que nas outras regras tínhamos n subintervalos e agora temos 2n subinter-valos. Mas tudo é apenas uma questão de notação. O número de intervalos agora não precisa ser maior do que antes. O número de intervalos pode ser o mesmo, desde que o número de

27

intervalos seja par. Justamente por aparecer 2n intervalos, pode parecer que estamos produzindo o dobro de intervalos e é isto que está levando a um resultado melhor, mas não é verdade. Não precisamos aumentar o número de pontos, apenas garantir que o número de intervalos seja par. O resultado melhor não acontece por uma mudança no número de intervalos, mas por causa da interpolação suave entre os pontos da função f(x).

Depois de escolhidos os 2n+1 valores para a variável x, precisamos primeiramente criar uma função com interpolação suave. Faremos a interpolação com uma equação do segundo grau para cada grupo de três pontos da função, ou seja, para cada dois subintervalos consecutivos. Por este motivo é que precisamos de um número par de subintervalos, pois os subintervalos são tratados aos pares. A cada par de subintervalos ajustamos uma equação do segundo grau. De-pois teremos que descobrir a área sobre este polinômio.

O procedimento parece complexo, mas na verdade somente a dedução desta regra é custosa. No final da dedução, chegaremos a uma equação similar às equações da regra do retângulo e da regra do trapézio.

Vamos encontrar o polinômio que passa pelos pontos 2i, 2i+1 e 2i+2. Para isto, vamos escrever o polinômio assim:

p(x) = ax2 + bx + c

Este polinômio deve passar pelos pontos (x2i, y2i), (x2i+1, y2i+1) e (x2i + 2), y2i+2). Podemos escrever esta informação assim:

Para simplificar esta equação, podemos deslocar a origem do eixo x. Assumamos que a origem está sobre o ponto x2i+1, ou seja, vamos assumir que x2i+1 = 0. Assim temos:

• x2i = -δx

• x2i+1= 0

• x2i+2 = +δx

Com esta simplificação, a equação matricial fica assim:

Fazendo algumas operações com as linhas deste sistema, podemos deixar a matriz assim:

28 Laureate- International Universities

Cálculo Numérico

Desta forma descobrimos o valor das constantes a, b e c do polinômio:

O que estamos interessados não é no polinômio propriamente dito, mas sim na integral deste polinômio. A integral do polinômio do segundo grau no intervalo [-h,+h] é dada por:

Esta é a área sob o polinômio entre os pontos 2i e 2i+2, ou seja:

Estamos interessados em calcular a área total. Para isto realizamos a soma e obtemos:

Ao expandirmos esta soma obtemos:

Podemos agrupá-los, obtendo:

Podemos observar que:

• y0 e y2n aparecem apenas uma única vez;

• os índices ímpares aparecem multiplicados por 4;

• os índices pares aparecem multiplicados por 2.

Vemos que a forma de se obter a área total neste caso é muito similar à obtenção da área total utilizando a regra do retângulo e a regra do trapézio. A única diferença é o peso atribuído a cada um dos pontos.

A regra de Simpson apresenta melhor resultado que as demais regras com o mesmo número de subintervalos para a integração.

29

Thomas Simpson foi um matemático inglês que viveu entre 1710 e 1761. Ele é conhe-cido principalmente pela regra de Simpson, que utiliza polinômios para interpolar um conjunto de pontos e realizar uma integração que obtém melhor convergência que ou-tros métodos. Apesar de ele ser conhecido por esta regra, ela não foi criada por Simp-son. A regra já era conhecida há mais de 100 anos por Johannes Kepler. Entretanto, a regra foi popularizada por Simpson nos livros que ele escreveu.

VOCÊ O CONHECE?

Exemplo

Vamos mais uma vez integrar a função: f(x)=

Usando a regra de Simpson, o resultado no cálculo da integral é: 26,66667. Conseguimos o mesmo valor que o resultado analítico, pelo menos dentro da precisão utilizada.

3

2.5

2

1.5

1

0.5

0 -10 -5 0 5 10

x

f (x)

Figura 9 – Gráfico da função f(x) juntamente com a representação gráfica da regra de Simpson.

Fonte: Elaborada pelo autor, 2015.

30 Laureate- International Universities

Cálculo Numérico

A qualidade da integração numérica depende da interpolação feita entre os pontos da função f(x)que será integrada. Quanto mais suave for a função, melhor será o resul-tado. A regra dos retângulos utilizava uma aproximação cheia de descontinuidades. A utilizamos a regra do trapézio, que é uma aproximação contínua, e o resultado me-lhorou. Quando utilizamos a regra de Simpson (que além de ser contínua é suave) o resultado ficou melhor que a regra do trapézio. Assim, o resultado da integral utilizando a regra de Simpson apresenta um resultado melhor do que as outras metodologias.

VOCÊ SABIA?

4.4 Integração Usando o Método de Monte CarloO método de Monte Carlo é baseado em variáveis aleatórias, tal como o resultado de uma pessoa jogando dados ou qualquer outra metodologia que seja baseada num processo proba-bilístico. Nos outros métodos escolhíamos uma sequência ordenada de valores para a variável x. Geralmente escolhíamos os valores igualmente espaçados dentro do intervalo de integração.

Agora nossa escolha será diferente, escolheremos valores pseudoaleatórios para a variável x. Um computador não é capaz de gerar números aleatórios (ou seja, números que sejam resultados de um jogo de dados ou outro método probabilístico), pois um computador é uma máquina determi-nística, mas existem algoritmos que geram uma sequência de números que se parecem aleatória para nós, humanos. Estes números que se assemelham a números aleatórios são chamados de números pseudoaleatórios.

O método de Monte Carlo é útil para realizar uma integral multidimensional. Podemos utilizá-lo, por exemplo, para calcular o volume de um objeto que não pode ser facilmente integrado de forma analítica.

O método de Monte Carlo foi criado na época da Segunda Guerra Mundial. Foi criado como uma ferramenta computacional que auxiliou a criar a bomba atômica por cien-tistas que trabalhavam no Projeto Manhattan. O nome se deve a um distrito de Mônaco que se chama Monte Carlo. Este distrito é conhecido pelos seus cassinos. Assim, o nome é devido à associação das variáveis aleatórias do modelo com as variáveis alea-tórias presentes em jogos, como aqueles existentes em um cassino.

Conheça mais sobre a história do método de Monte Carlo lendo a história disponível em: <http://www.portalaction.com.br/simulacao-monte-carlo>.

VOCÊ QUER LER?

4.4.1 Como funciona?

Vamos fazer uma ilustração com a integração de uma função. Observe a Figura 10, onde é co-locado o gráfico da função e um conjunto de 1000 pontos colocados de forma pseudoaleatória sobre o gráfico. Os números pseudoaleatórios se assemelham os números aleatórios, sendo a forma de um computador aproximar os números aleatórios. No método de Monte Carlo, a esti-

31

mativa para a área do gráfico é o percentual de pontos que ficaram abaixo da curva multiplicado pela área total do gráfico.

3

2.5

2

1.5

1

0.5

0 -10 -5 0 5 10

x

f (x)

Figura 10 – Cálculo da integral de uma função f(x) usando o método de Monte Carlo.

Fonte: Elaborada pelo autor, 2015.

No exemplo dado, de um total de 1000 pontos, somente 422 ficaram abaixo do gráfico, portan-to o percentual é 42,2%, que pode ser escrito como 0,422. O gráfico total tem 20 unidades de largura e 3 de altura, portanto a área total é de 60 unidades quadradas. Para ter uma estimativa para integral basta fazer a multiplicação:

A = 60 · 0,422 = 25,32

Vemos que o resultado não foi muito bom, mas aparentemente o método está funcionando. Re-petindo com cem mil pontos aleatórios o resultado para a área da integral foi 26,72.

O resultado da integral utilizando o método de Monte Carlo varia a cada vez que calculamos. Como os pontos colocados sobre o gráfico têm coordenadas pseudoaleatórias, as coordenadas variam a cada vez que executamos este programa. Assim, o resultado varia, mas a variação não é muito grande, principalmente quando utilizamos uma quantidade grande de pontos.

Imagine a seguinte situação: colocamos somente um ponto sobre o gráfico da Figura 10. En-tão existem apenas duas possibilidades: ou este ponto está na região azul, ou ele está fora. Se ele estiver na área azul, diremos que 100% dos pontos estão na área azul. Assim, a área será 60 · 1,0 = 60. Se o ponto estiver na região branca, então 100% dos pontos estão fora da região azul. Assim, a área será 60 · 0,0 = 0. Portanto, se utilizarmos poucos pontos, o resul-tado final pode variar muito de uma simulação para a próxima. Se utilizarmos uma quantidade grande de pontos, o resultado flutuará muito pouco entre diferentes simulações.

32 Laureate- International Universities

Cálculo Numérico

4.4.2 Exemplo

O método de Monte Carlo é muito utilizado para calcular integrais multidimensionais, então vamos ver um exemplo multidimensional que aplica este método. Imagine um engenheiro que precisa conhecer a massa e o centro de massa de um objeto mostrado na Figura 11.

A Figura 11 mostra um objeto que precisamos conhecer melhor. Trata-se de um toro com alguns cortes. Um toro é o nome de um objeto que tem o formato de um anel.

Apesar da Figura 11 mostrar um objeto oco, aquele que estamos interessados em conhecer me-lhor é um maciço. Ele é descrito por um conjunto de inequações:

Figura 11 – Objeto que desejamos saber o volume, a massa e o centro de massa.

Fonte: Elaborada pelo autor, 2015.

Agora que conhecemos um pouco melhor o objeto, vamos verificar o que queremos saber sobre ele:

• Volume: V = ∫ dxdydz

• Massa: M = ∫ ρdxdydz

• Coordenada x do centro de massa: xCM=

• Coordenada y do centro de massa: yCM =

• Coordenada z do centro de massa: zCM =

Nas equações anteriores, ρ é a densidade do material utilizado para fabricar o objeto.

33

Para descobrir o volume, a massa e o centro de massa do objeto, vamos utilizar o método de Monte Carlo. Colocaremos uma grande quantidade de pontos numa região tridimensional, de-pois vamos contar o percentual destes pontos que ficaram dento da região de interesse, ou seja, a região definida pelas três inequações que vimos há pouco. Finalmente, vamos multiplicar o volume do paralelepípedo onde o objeto está contido pelo percentual dos pontos dentro do ob-jeto. Nos casos específicos, teremos ainda que multiplicar cada ponto pela densidade ρ e pela coordenada que aparece na integral (x, y, ou z).

CálculosSorteamos N números com coordenadas: 1 ≤ x ≤ 4; -3 ≤ y ≤ 4; -1 ≤ z ≤ 1.

Chamamos o volume da região total onde estamos gerando números aleatórios de volume total, sendo representado por VT

Todos estes números obedecem às restrições: x ≥ 1; y ≥ -3.

Verificamos quais destes valores satisfazem:

Chamamos as coordenadas que satisfazem a restrição de xr, yr e zr. O total de pontos que satis-fazem à restrição chamamos de Nr.

O volume do objeto é dado por:

A massa do objeto é dada por:

A coordenada x do centro de massa é dada por:

A coordenada y do centro de massa é dada por:

A coordenada z do centro de massa é dada por:

Os resultados variaram de acordo com a simulação, mas em todas elas o resultado era apro-ximadamente: V = 22,1, M = 22,1, xCM = 2,41, yCM = 0,16 e zCM = 0,00. O resultado em todas as simulações realizadas foi sempre este quando utilizamos o número de pontos superior a 100.000. Para números em torno de 10.000, as respostas variaram um pouco mais, mas não se afastaram muito destes valores.

34 Laureate- International Universities

SínteseAo longo deste capítulo nós vimos vários pontos fundamentais sobre Cálculo Integral e Diferen-cial em computador.

• Aprendemos a aproximar derivadas por diferenças finitas.

• Conhecemos a derivada para trás, a derivada para frente e a derivada central, que são métodos numéricos para aproximar o valor da derivada de uma função. A derivada central é melhor que as demais por apresentar um erro menor, mas ela não pode ser calculada nos pontos extremos.

• Aprendemos a encontrar a evolução de uma equação diferencial através do Método de Euler.

• Aprendemos a transformar uma equação diferencial de ordem n em n equações diferenciais de primeira ordem.

• Aprendemos a resolver um sistema de equações diferenciais.

• Conhecemos a regra dos retângulos para aproximar uma integral numericamente.

• Conhecemos a regra dos trapézios para aproximar uma integral numericamente, que é melhor que a regra dos retângulos e apresenta o mesmo custo computacional.

• Conhecemos a regra de Simpson para aproximar uma integral numericamente, que é melhor que a regra dos trapézios e apresenta o mesmo custo computacional.

• Conhecemos o método de Monte Carlo para aproximar integrais, principalmente integrais multidimensionais.

Síntese

35

ReferênciasARENALES, S., DAREZZO, A. Cálculo Numérico – Aprendizagem com Apoio de Software. Thompson Learning, 2008.

BURDEN, R.L, FAIRES, J.D. Análise Numérica, Editora Pioneira, 2003.

FRANCO, N. B. Cálculo numérico. São Paulo: Pearson Prentice Hall, 2006.

QUARTERONI, A., SALERI, F. Cálculo Científico com Matlab e Octave. Springer-Verlag, 2007.

RUGGIERO, M.A.G. e LOPES, V.L.R. Cálculo Numérico, Aspectos Teóricos e Computacio-nais. São Paulo. McGraw-Hill, 1988.

Bibliográficas