Erros de Cálculo Numérico - Apostila

15
Universidade Federal do Pará Instituto de Tecnologia Programa de Pós-Graduação em Engenharia Mecânica - PPGEM Métodos Numéricos Prof. Dr. Jerson R. P. Vaz Belém-PA Brasil

description

Erros de Cálculo Numérico - Apostila

Transcript of Erros de Cálculo Numérico - Apostila

Universidade Federal do Pará

Instituto de Tecnologia

Programa de Pós-Graduação em Engenharia Mecânica - PPGEM

Métodos Numéricos

Prof. Dr. Jerson R. P. Vaz

Belém-PA

Brasil

1. Introdução

O estudo de métodos numéricos constitui-se como um grande passo para

o entendimento de novas ferramentas matemáticas passíveis de serem aplicadas

na solução de problemas de engenharia, que eventualmente podem parecer

insolúveis devido a complexidade analítica envolvida.

O uso dessas ferramentas foi acelerado com o surgimento de

equipamentos eletrônicos sofisticados como os PCs, que incentivou o

crescimento de métodos numéricos cada vez mais robustos, tornando o estudo

dos métodos numéricos, uma disciplina imprescindível em qualquer curso

científico.

Neste curso é desenvolvido um estudo sobre os métodos numéricos mais

comumente utilizados, onde alguns conceitos importantíssimos para a

compreensão e o entendimento de técnicas numéricas serão abordados,

objetivando suas aplicações na engenharia. Desta forma, os seguintes conceitos

serão estudados:

- Erro de arredondamento, truncamento, acurácia e precisão;

- Análise de condicionamento e aproximação de funções e derivadas

através da série de Taylor;

- Métodos para o cálculo de raízes de equações não lineares;

- Sistemas de equações lineares;

- Ajuste de curvas;

- Integração numérica;

- Soluções numéricas para equações diferenciais ordinárias e parciais.

Objetivo geral

Proporcionar ao aluno conhecimentos para utilizar métodos numéricos

como ferramenta na solução de problemas de engenharia.

Conteúdo

Introdução; Erros e incertezas; Solução numérica de sistemas de equações

lineares e não-lineares; Interpolação e aproximação de funções; Diferenciação e

integração numérica; Prática de cálculo numérico computacional.

2. Erros e Incertezas

2.1. Erro absoluto

É o módulo da diferença entre um valor exato x e sua aproximação x , o

qual denotamos por ae .

ae x x (2.1)

2.2. Erro relativo

É a razão entre o erro absoluto ae e o valor aproximado x . Denotado por

re :

a

x xe

x (2.2)

2.3. Erro de arredondamento e truncamento

2.3.1. Erro de arredondamento

Entende-se por erro de arredondamento, o erro resultante da associação

de um número real a um número de máquina do sistema numérico de uma

máquina digital.

Existem muitas formas de se determinar a associação de um número real

a um número aproximado estabelecido por uma máquina. Tais associações

definem os tipos de arredondamento. Entre os tipos de arredondamento mais

usados está o arredondamento por corte, em que, para se ter um número com n

dígitos, corta-se o número na posição do dígito n. Por exemplo, deseja-se o

número 1,2356123456 com apenas três casas decimais. Então cortamos o número

na posição que se encontra o dígito 5, resultando em 1,235.

Um outro tipo de arredondamento muito usado é o arredondamento

simétrico ou, como é conhecido, arredondamento para um número mais próximo

da máquina. Considera-se para se ter uma precisão de n dígitos, o dígito n+1,

caso este seja menor ou igual a 5, corta-se na posição do dígito n; caso contrário,

aplica-se o arredondamento para cima. Por exemplo, deseja-se, novamente, o

número 1,2356123456 com apenas três casas decimais. Então cortamos o número

na posição que se encontra o dígito 5, e somamos uma unidade a este mesmo

dígito, pois o dígito 6 é maior que quatro, resultando em 1,236.

A Tab. 1 mostra uma comparação entre os erros de arredondamento por

corte e simétrico em relação a um valor exato. Além de indicar um problema

que é comum nos processos iterativos – propagação dos erros.

Tab. 1: Erro de arredondamento – propagação.

2.3.2. Acurácia e precisão

A qualidade de um resultado é dita exatidão (“acurácia”). A exatidão

tem a responsabilidade de informar se um resultado emitido por uma máquina

digital é bom ou ruim. Já a precisão, em termos práticos, corresponde ao

número de dígitos significativos do sistema de representação de uma máquina

digital.

Esta distinção entre dois conceitos, que na linguagem coloquial são

sinônimos, é fundamental para a matemática computacional. É surpreendente

ver quanta confusão isso causa, mesmo para pessoas que deviam conhecê-los.

Um computador pode ter uma grande precisão, mas produzir resultados com

exatidão muito ruins. Essa confusão entre esses conceitos é revelada claramente

pelos fabricantes de computadores e aqueles usuários que pensam que uma

maior precisão é um passaporte automático para altas exatidões nos resultados.

Desta maneira é oferecido pelos fabricantes precisão simples, alta precisão e

algumas vezes precisão estendida, fazendo com que um usuário não satisfeito

com a exatidão dos resultados obtidos em precisão simples, os recalcule com

maior precisão. Isso nem sempre vai garantir uma melhor exatidão. Como

exemplo basta considerar a expressão:

40 40 45 4510 500 10 610 10 400 10 1510 ,

que terá como resposta zero em muitas máquinas disponíveis hoje em dia. O

usuário não sabe em geral quantos dígitos são necessários para garantir a

resposta correta e o problema de se conseguir uma aritmética computacional

com exatidão ótima, só foi conseguido a partir dos trabalhos do Prof. U. Kulish

e sua equipe na Universidade de Karlsruhe (Alemanha) a partir de 1979.

2.3.3. Erro de truncamento

São erros provenientes da utilização de processos que deveriam ser

infinitos ou muito grandes para a determinação de um valor e que, por razões

práticas, são truncados.

Estes processos infinitos são muito utilizados na avaliação de funções

matemáticas, tais como, exponenciação, logaritmos, funções trigonométricas e

várias outras que uma máquina pode ter.

No presente curso, estudaremos o erro de truncamento associado à

aplicação da série de Taylor, dada por:

2

0 0 0 0 00

' ''1! 2 ! ! !

n n

n n

n

h h h hf x f x f x f x f x f x

n n

onde

0x x h , em que Dfx e xh .

O erro cometido com o truncamento da série no termo de ordem n é dado por:

1

1

1 !

n

n

n

he x f

n onde

0x h .

Na série de Taylor calcula-se o desenvolvimento até um número finito de

termos, e despreza-se outro número infinito de termos, truncando, portanto, o

modelo real. Uma das principais dificuldades da computação científica é fazer

uma estimativa realística deste erro, isto é, por exemplo, determinar que número

de termos deve ser usado. Um modelo usual seria ir calculando até que o valor

representado fosse menor do que uma certa grandeza dada a priori (tolerância).

Exemplo:

Determine o polinômio de Taylor, com truncamento no termo de segunda

ordem, para a função xxf cos , para 00 x , e use esse polinômio para obter

o resultado aproximado de 01,0cos . Calcule, também, o erro de truncamento

do polinômio.

Passo 1

Para aplicar a série de Taylor precisamos conhecer a função no ponto

inicial 0x e as suas derivadas neste mesmo ponto. Desta forma, temos:

xxf cos 10coscos 00 xxf

senxxf ' 00' 00 sensenxxf

xxf cos'' 10coscos'' 00 xxf

Passo 2

Vamos agora, aplicar a série de Taylor para aproximar a função

xxf cos no ponto 0x .

00

2

00!

''!2

'!1

xfn

hxf

hxf

hxfxf n

n

.

Desta maneira, a série fica

0.32

0.1032 hh

hhf

Como 0xxxh , e truncando no termo de segunda ordem, temos:

2

1cos2x

xxf

Então 99995,02

01,0101,0cos

2

e o erro de truncamento

11

!1

n

n

n fn

hxe

sen

xsen

xxe

6!12

312

2

para 01,0x , fica

sensene 63

2 10.61,0.6

01,001,0 , em que 01,00

como 1sen e xex

xxf 2

2

21cos , então:

610.61,099995,001,0cos

Esta expressão indica que pelo menos os 5 primeiros algarismos significativos

são iguais aos algarismos do valor real de 01,0cos .

3. Aproximação de Funções

3.1. Série de Taylor e sua aplicação na aproximação de funções e derivadas

O desenvolvimento em série de Taylor constitui uma ferramenta bastante

eficaz para o cálculo de aproximação de funções e derivadas, pois, toda função

analítica pode ser representada por uma série de potências em x-x0, cuja

representação, neste caso, é a própria série de Taylor.

2

0 0 0 0' ''1! 2! !

nnh h h

f x f x f x f x f xn

Cuja forma em notação sigma é

2

0 0 0 0

0

' ''! 1! 2! !

k kk

ko o o o o

k

f x x x x x x x x xf x f x f x f x f x

k k

onde 0x x h , em que x Df .

O erro cometido com o truncamento da série no termo de ordem n é dado por:

1

1

1 !

kk

k

he x f

k

onde 0x h .

3.2.Série de Taylor na aproximação de funções

Neste item, vamos aplicar a série de Taylor para aproximar a solução de

algumas funções. Em seguida, faremos uma breve análise dos resultados quando

comparados com os valores da solução exata.

Antes de aplicar a série de Taylor, é necessário conhecer o critério de

convergência de D’Lembert, cuja aplicação é bastante comum nas séries de

potências.

Aplicação A

Vamos desenvolver a função 2f x x em série de Taylor e avaliar o

valor função em 0 0x .

Passo 1

Para aplicar a série de Taylor precisamos conhecer a função no ponto

inicial 0x e as suas derivadas neste mesmo ponto. Desta forma, temos:

2f x x 0 0f x

' 2f x x 0' 0f x

'' 2f x 0'' 2f x

''' 0f x 0''' 0f x

Observe que a partir do termo de terceira ordem na derivada, seus

valores são todos nulos. O desenvolvimento de Taylor em 0 0x é conhecido

como desenvolvimento de Maclaurin, e é

2

0

00 ' 0 '' 0 0

! 1! 2! !

k k kk

k

f x x x xf x f f f f

k k

Passo 2

Vamos agora, aplicar a série de Taylor para aproximar a função

2f x x no ponto 0x .

2

0 0 0 0' ''1! 2! !

nnh h h

f x f x f x f x f xn

.

Desta maneira, a série fica

2 3

0 .0 .2 .01! 2! 3!

h h hf x

que se reduz a 2f x x quando substituímos 0h x x x na equação

acima. Observe que a série se torna exatamente a própria função.

Neste caso, como a função é polinomial de grau dois, a série de Taylor

reconstitui a função 2f x x de forma exata, confirmando a importante

característica que a série de Taylor tem de representar qualquer função

analítica, seja de forma aproximada ou exata.

Aplicação B

Vamos executar o mesmo procedimento, feito na APLICAÇÃO 1, com a

função lnf x x para 0 1x .

Passo 1

Novamente, para aplicar a série de Taylor precisamos conhecer a função

no ponto inicial 0x e as suas derivadas neste mesmo ponto. Desta forma, temos:

lnf x x 0 0f x

1'f x

x 0' 1f x

2

1''f x

x 0'' 1f x

3

2'''f x

x 0''' 2f x

4

6IVf xx

0 6IVf x

1 !

1nn

n

nf x

x

1

0 1 1 !nn

f x n

Passo 2

Vamos agora, aplicar a série de Taylor para aproximar a função

lnf x x no ponto 0x .

2

0 0 0 0' ''1! 2! !

nnh h h

f x f x f x f x f xn

.

Desta maneira, a série fica

2 3 4

11 1

2 3 4

nnh h h h

f h hn

que é a função lnf x x em série de Taylor avaliada em 0x , ou seja:

2 3 4

1ln 1 1

2 3 4

nnh h h h

h hn

Utilizando a equação acima para calcular o valor de ln 2 , basta fazer

1h , o que resulta em:

11 1 1 1ln 1 1 1 1

2 3 4

n

n

A tabela abaixo mostra os resultados de ln 2 para diversos números de termos

n , e os respectivos erros absolutos quando comparados com os resultados exatos

de ln 2 .

n Valor Aproximado Valor Exato Erro Absoluto

1 1 0.6931 0.3069

2 0.5 0.6931 0.1931

3 0.8333 0.6931 0.1402

4 0.5833 0.6931 0.1098

5 0.7833 0.6931 0.0902

6 0.6167 0.6931 0.0765

7 0.7595 0.6931 0.0664

8 0.6345 0.6931 0.0586

9 0.7476 0.6931 0.0525

10 0.6456 0.6931 0.0475

5000 0.6930 0.6931 41 10

Observe que quanto maior é o número de termos menor é o erro absoluto

e conseqüentemente mais próximo está a solução aproximada da solução exata.

3.3.Série de Taylor na aproximação de derivadas

A série de Taylor, também, é uma poderosa ferramenta para aproximar

derivadas de qualquer ordem. Essa característica, forma a base para o

entendimento de um método bastante eficiente e rápido conhecido como o

método das diferenças finitas (DF), que é largamente utilizado para solucionar

inúmeros problemas físico-matemáticos, apesar de ser um método bastante

antigo. Sua utilização em grande escala é justificada pelo alto grau de

performance computacional que possui. Neste curso, concentraremos os nossos

estudos apenas na aproximação de derivadas de primeira e segunda ordens.

3.3.1.Aproximação de derivadas de primeira ordem

Para aproximar a derivada de primeira ordem pela série de Taylor, é

necessário executar o truncamento no termo de primeira ordem, o que resulta

em

0 0'f x f x hf x

Rearranjando tal equação, temos

0 0df x f x f x

dx h

, como 0x x h

0 0 0df x f x h f x

dx h

Na forma discreta

1i if fdf

dx h

, onde h x (chamado de passo)

Essa é a equação que aproxima uma derivada de primeira ordem

utilizando a série de Taylor. É fácil perceber que esta equação é um esquema de

diferenças finitas de primeira ordem.

Para determinar a derivada de uma função em um ponto, é necessário

conhecer dois pontos da função, de acordo com a o ilustrado na figura abaixo.

3.3.2.Aproximação de derivadas de segunda ordem

Neste item, para aproximar a derivada de segunda ordem, é necessário

expandir a série de Taylor de duas maneiras diferentes. A primeira consiste em

desenvolver a série executando passos positivos, ou seja, passos avançados h .

A segunda, desenvolver a série executando passos negativos, passos atrasados

h . Desta forma, os desenvolvimentos em série de Taylor, fica

2 3

0 0 0 0 0' '' '''1! 2! 3!

h h hf x h f x f x f x f x

e

2 3

0 0 0 0 0' '' '''1! 2! 3!

h h hf x h f x f x f x f x

Somando as duas parcelas e truncando no termo de segunda ordem, temos

2

0 0 0 02 2 ''2

hf x h f x h f x f x

Arrumando a expressão

2

000

2

0

2 2

h

hxfxfhxf

dx

xfd

Na forma discreta

2

11

2

2 2

h

fff

dx

fd iii , onde xh (chamado de passo)

Essa expressão aproxima uma derivada de segunda ordem, e é um

esquema de diferenças finitas de segunda ordem.

Neste caso, para determinar a segunda derivada de uma função em um

ponto, é necessário conhecer três pontos da função.

Aplicação A

Determinar 2'f , utilizando tanto a aproximação por série de Taylor

quanto a solução exata, a partir de xxf ln com 1.0h .

Passo 1

A solução exata é bastante simples de se calcular. Basta derivar uma vez

a função xxf ln e depois substituir o valor 2, ou seja, como x

xf1

' ,

então 5.02

12' f .

Passo 2

Para a solução aproximada, precisamos determinar o valor da função em

0x e em hx 0 . Desta forma, como 20 x e 1.21.020 hx , fazemos:

693.02lnln 00 xxf

742.01.02lnln 00 hxhxf

Aplicando a fórmula aproximada para a derivada de primeira ordem, temos:

49.0

1.0

693.0742.0

1.0

21.2000

ff

h

xfhxf

dx

xdf

Então o resultado aproximado de 2'f é 0.49. O erro absoluto é da ordem de

01.049.05.0 .

Aplicação B

Nesta aplicação vamos utilizar a mesma função da APLICAÇÂO A, com

a diferença de que agora vamos calcular 2''f , utilizando, da mesma maneira,

tanto a aproximação por série de Taylor quanto a solução exata, a partir de

xxf ln com 1.0h .

Passo 1

A solução exata, da mesma maneira que na aplicação A, é bastante

simples de se calcular. Basta derivar duas vezes a função xxf ln e depois

substituir o valor 2, ou seja, como 2

1''

xxf , então 25.0

4

12'' f .

Passo 2

Para a solução aproximada, precisamos determinar o valor da função em

0x , hx 0 e em hx 0 . Desta forma, como 20 x , 1.20 hx e 9.10 hx ,

fazemos:

693.02lnln 00 xxf

742.01.2lnln 00 hxhxf

642.09.1lnln 00 hxhxf

Aplicando a fórmula aproximada para a derivada de primeira ordem, temos:

2.0

01.0

642.0693.02742.0

1.0

9.1221.2222

000

2

0

2

fff

h

hxfxfhxf

dx

xfd

Então o resultado aproximado de 2''f é -0.2. O erro absoluto é da ordem de

05.02.025.0 .