Top Banner
UNIVERSIDADE FEDERAL DE PELOTAS INSTITUTO DE F ´ ISICA E MATEM ´ ATICA DEPARTAMENTO DE MATEM ´ ATICA E ESTAT ´ ISTICA APOSTILA DE C ´ ALCULO NUM ´ ERICO pelo Prof. Dr. Germ´ an Ram´on Canahualpa Suazo Apostila da disciplina de C´alculo Num´ erico Pelotas, setembro de 2004
126

Apostila Metodos Numericos

Jul 24, 2015

Download

Documents

s41r0n
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Apostila Metodos Numericos

UNIVERSIDADE FEDERAL DE PELOTASINSTITUTO DE FISICA E MATEMATICA

DEPARTAMENTO DE MATEMATICA E ESTATISTICA

APOSTILA DE CALCULO NUMERICO

pelo

Prof. Dr. German Ramon Canahualpa Suazo

Apostila da disciplina de Calculo Numerico

Pelotas, setembro de 2004

Page 2: Apostila Metodos Numericos

APOSTILA DE CALCULO NUMERICO

por

German Ramon Canahualpa Suazo

Apostila de Aula para a disciplina Calculo Numerico ministrada no semestre 2004-2.

Autor: Prof. Dr. German Ramon Canahualpa Suazo

Pelotas, setembro de 2004

Page 3: Apostila Metodos Numericos

RESUMO

O proposito deste trabalho e fornecer ao aluno da disciplina de Calculo Numerico,

um complemento teorico e pratico sobre os conceitos, definicoes e metodos ministrados em aula,

bem como detalhar as provas das proposicoes e dos teoremas para um melhor entendimento e

aproveitamento.

i

Page 4: Apostila Metodos Numericos

ABSTRACT

TITLE: “LESSONS OF NUMERICAL CALCULUS”

ii

Page 5: Apostila Metodos Numericos

INDICE

1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Natureza e Objetivos da Analise Numerica . . . . . . . . . . . . . . . . . . . 1

1.2 Analise Numerica no contexto da Matematica Computacional . . . . . . 1

1.3 Calculo Numerico no contexto da Analise Numerica . . . . . . . . . . . . . 2

1.4 Calculo Numerico no contexto da Modelagem Matematica . . . . . . . . . 2

2 ALGORITMOS NUMERICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 A Estrutura dos Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.3 Alguns Exemplos de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.4 Introducao a Analise de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . 7

3 INTRODUCAO A ANALISE DE ERROS . . . . . . . . . . . . . . . . . . . . . . 9

3.1 Erros na Fase da Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 Erros na Fase da Resolucao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.3 Conversao de Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.3.1 Conversao de Inteiros da Base Decimal para a Base Binaria . . . . . . . . . 11

3.3.2 Conversao de Numeros Fracionarios da Base Decimal para a Base Binaria . 12

3.3.3 Conversao de Inteiros da Base Binaria para a Base Decimal . . . . . . . . . 13

3.3.4 Conversao de Numeros Fracionarios da Base Binaria para a Base Decimal . 15

3.4 Aritmetica de Ponto Flutuante . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.5 Erros Absolutos e Relativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.6 Erros de Arredondamento e Truncamento em um Sistema de Aritmetica

de Ponto Flutuante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

iii

Page 6: Apostila Metodos Numericos

3.7 Erros nas Operacoes Aritmeticas de Ponto Flutuante . . . . . . . . . . . . 23

3.8 Problemas Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4 EQUACOES TRANSCENDENTES E ALGEBRICAS . . . . . . . . . . . . . . 29

4.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.2 Aproximacoes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.3 Criterios de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.4 O Metodo da Bissecao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.5 O Metodo da Falsa Posicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.6 O Metodo das Cordas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.7 O Metodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.8 A Velocidade de Convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.9 Eficiencia de um Metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.10 Equacoes Polinomiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.11 O Metodo de Birge-Vieta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.12 O Metodo de Bairstow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.13 Problemas Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5 SISTEMAS DE EQUACOES ALGEBRICAS LINEARES . . . . . . . . . . . . 56

5.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.2 Metodos Diretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.2.1 A Regra de Cramer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.2.2 Eliminacao Gaussiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.2.3 Metodo de Decomposicao LU . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5.3 Metodos Iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

iv

Page 7: Apostila Metodos Numericos

5.3.1 Metodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.3.2 Metodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.3.3 Convergencia dos Metodos Iterativos . . . . . . . . . . . . . . . . . . . . . . 69

6 INTERPOLACAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.2 Interpolacao de Lagrange e de Newton . . . . . . . . . . . . . . . . . . . . . 73

6.2.1 Interpolacao Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

6.2.2 Interpolacao de n+ 1 pontos . . . . . . . . . . . . . . . . . . . . . . . . . . 77

6.2.3 Erro na Interpolacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6.2.4 Forma de Gregory-Newton para o Polinomio Interpolador . . . . . . . . . . 84

6.2.5 Interpolacao Inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.3 Polinomios de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

7 AJUSTE DE CURVAS PELO METODO DOS QUADRADOS MINIMOS . 92

7.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

7.2 Caso Linear Discreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

7.2.1 Ajuste de uma Reta por Quadrados Mınimos . . . . . . . . . . . . . . . . . 95

7.3 Caso Linear Contınuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

7.4 Caso Nao Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

8 INTEGRACAO NUMERICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

8.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

8.2 As Formulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

8.2.1 Regra dos Trapezios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

8.2.2 Regra dos Trapezios Repetida . . . . . . . . . . . . . . . . . . . . . . . . . . 105

v

Page 8: Apostila Metodos Numericos

8.2.3 Regra de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

8.2.4 Regra de Simpson Repetida . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

8.2.5 Regra dos Tres Oitavos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

8.2.6 Regra dos Tres Oitavos Repetida . . . . . . . . . . . . . . . . . . . . . . . . 108

8.3 Quadratura Gaussiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

9 RESOLUCAO NUMERICA DE EQUACOES DIFERENCIAIS ORDINARIAS112

9.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

9.2 Erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

9.3 Metodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

9.4 Metodos de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

9.5 Metodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

9.6 Metodos de Passo Multiplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

9.6.1 Metodos Explıcitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

9.6.2 Metodos Implıcitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

9.7 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

vi

Page 9: Apostila Metodos Numericos

INDICE DE FIGURAS

Figura 3.1 Fases da resolucao de um problema . . . . . . . . . . . . . . . . . . . . . . . . . 9

Figura 4.1 Uma intersecao do eixo x com o grafico da funcao fornece uma raiz de f(x) = 0. 32

Figura 4.2 Uma intersecao dos graficos de duas funcoes, y = x e y = e−x cos(x) fornece

uma raiz de f(x) = 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Figura 4.3 Se f(a)f(b) < 0 entao existe pelo menos uma raiz no intervalo ]a, b[. No primeiro

grafico, existe exatamente uma raiz, no segundo, tres raızes e no terceiro, duas

raızes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Figura 4.4 Se f(a)f(b) < 0 e f ′(x) preservar o sinal em (a, b), entao existe uma unica raiz

no intervalo ]a, b[. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Figura 4.5 Escolha da aproximacao inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Figura 7.1 Ajuste de uma curva ϕ(x) = α1x2 aos dados da tabela. . . . . . . . . . . . . . . 94

Figura 7.2 Ajuste de uma curva ϕ(x) = α1x2 + α2x aos dados da tabela. . . . . . . . . . . 95

Figura 7.3 Ajuste de uma curva ϕ(x) = α1x+ α2 aos dados da tabela. . . . . . . . . . . . 97

Figura 7.4 Ajuste de uma curva ϕ(x) = α1x+ α2 a funcao f(x) = 4x3. . . . . . . . . . . . 99

Figura 7.5 Ajuste de uma curva ψ(x) = β2eβ1x aos dados da tabela. . . . . . . . . . . . . . 100

vii

Page 10: Apostila Metodos Numericos

1 INTRODUCAO

1.1 Natureza e Objetivos da Analise Numerica

A analise numerica e uma area da matematica destinada ao estudo analıtico das diver-

sas metodologias e abordagens numericas utilizadas na resolucao de problemas reais. Os diversos

problemas reais que se originam nas ciencias exatas envolvem quase sempre a resolucao de proble-

mas de valor inicial ou problemas de valor de contorno, isto e, equacoes diferenciais ordinarias ou

parciais junto com condicoes iniciais (isto e, uma certa configuracao inicial do modelo) ou condicoes

de contorno (isto e, uma configuracao na fronteira geometrico do modelo), respectivamente.

A analise numerica esta, desse modo, envolvida no estudo dos diversos metodos para a

resolucao numerica dos problemas de valor inicial ou de contorno, pois, em geral, tais problemas nao

podem ser resolvidos de maneira exata. Os metodos numericos sao sempre iterativos, isto e, os va-

lores aproximados seguintes dependem dos valores aproximados atuais e/ou anteriores, e devem ser

realizados um numero finito de vezes. Os tres aspectos fundamentais estudados sao: a eficiencia, a

convergencia e a estabilidade de um metodo numerico. As diversas tecnicas matematicas utilizadas

para a resolucao dos problemas envolvem com frequencia a resolucao de equacoes algebricas, de

sistemas de equacoes lineares, interpolacao, ajuste, e diferenciacao e integracao numerica.

Um conceito importante estudado na analise numerica e o erro, que pode originar-se

a partir das medicoes ou do tipo de instrumento de calculo que esta sendo utilizado.

1.2 Analise Numerica no contexto da Matematica Computacional

A analise numerica e uma area da matematica envolvida com o estudo da resolucao

numerica de problemas reais das ciencias exatas. Neste sentido, ela pode ser enquadrada como

uma area da matematica computacional, por estar diretamente relacionada com a elaboracao de

algoritmos bem como o estudo analıtico destes.

A matematica computacional esta relacionada com a resolucao de problemas matema-

ticos utilizando computadores.

Antigamente, existiam dois aspectos da investigacao cientıfica: a teoria e o experi-

mento. Atualmente, tem aparecido um terceiro aspecto: a computacao.

1

Page 11: Apostila Metodos Numericos

1.3 Calculo Numerico no contexto da Analise Numerica 2

Os modelos matematicos aparecem a partir de diversas areas cientıficas, incluındo a

previsao do tempo, angenharia, comercio e financas, ciencia e medicina. A utilizacao do computa-

dor para resolver modelos tem revolucionado estas areas.

Desenvolver e analisar tais modelos de modo que as simulacoes por computador se-

jam realizadas de maneira eficiente e precisa, envolve mais do que a matematica classica e a

ciencia da computacao elementar. Inclui ıtens tais como as implicacoes da imprecisao e os erros de

aproximacao, a eficiencia, a precisao e a estabilidade dos calculos numericos, o desenvolvimento e

manutencao de software matematico, e os efeitos de desenvolvimentos modernos em arquiteturas

e redes de computacao.

Ate pouco tempo atras, os modelos e as ferramentas de software correspondentes eram

basicamente desenvolvidos por especialistas na area. Mas devido a complexidade crescente dos

modelos e a facilidade do calculo por computador, faz-se necessario o entendimento dos conceitos

envolvidos na matematica computacional.

1.3 Calculo Numerico no contexto da Analise Numerica

O calculo numerico e a parte pratica da analise numerica, pois consiste na aplicacao

direta de resultados teoricos e fechados da analise numerica em problemas especıficos. A funda-

mentacao teorica desses resultados nao e o principal objetivo mas ela nao pode ser deixada de lado.

Nesta apostila, sempre que possıvel, serao feitas as demonstracoes dos resultados teoricos.

1.4 Calculo Numerico no contexto da Modelagem Matematica

O calculo numerico e uma ferramenta pratica poderosa para resolver problemas prove-

nientes das ciencias exatas. Ele e aproveitado ao resolver numericamente modelos matematicos de

sistemas reais mediante a tecnica denominada simulacao de sistemas. A modelagem matematica

e geralmente desenvolvida por especialistas da area especıfica sendo investigada, mas a tendencia

atual e a insercao de especialistas da matematica computacional pois o modelo matematico pode

envolver um comprometimento com aspectos tais como a complexidade computacional.

Page 12: Apostila Metodos Numericos

2 ALGORITMOS NUMERICOS

2.1 Introducao

Dizer que um problema e resolvıvel algoritmicamente significa, de modo informal que

pode ser escrito um programa de computador que produzira o resposta correta para qualquer en-

trada se e permitida a execucao do programa o tempo que for necessario utilizando o espaco de

armazenamento necessario. Na decada de 30, antes da aparicao dos computadores, os matematicos

trabalharam ativamente para formalizar e estudar a nocao de um algoritmo, que foi entao inter-

pretado informalmente como um conjunto de instrucoes simples a serem seguidas para resolver um

problema. Foi criada uma area especıfica da ciencia denominada teoria da computabilidade cujo ob-

jetivo era descrever e caracterizar aqueles problemas que podiam ser resolvidos algoritmicamente

e mostrar aqueles que nao podiam. Um dos resultados negativos importantes, estabelecido por

Alan Turing, foi a prova da insolubilidade do problema da parada. O problema da parada consiste

em determinar se um algoritmo arbitrario (ou um programa de computador) parara alguma vez

enquanto trabalha com uma entrada dada. Nao existe um programa de computador que resolva

este problema.

Embora a teoria da computabilidade tem implicacoes obvias e fundamentais para a

ciencia da computacao, o conhecimento que um problema pode ser teoricamente resolvido em um

computador nao basta para afirmar que tal resolucao e pratica. Por exemplo, um programa de

jogar xadrez de maneira perfeita pode ser escrito. Esta nao seria uma tarefa muito difıcil. Existe

so um numero finito de maneiras de arranjar as pecas no tabuleiro, e sob certas regras um jogo

deve terminar apos um numero finito de movimentos. O programa poderia considerar cada um dos

possıveis movimentos de um oponente e as possıveis respostas do outro, cada uma das respostas a

esses movimentos e assim por diante, ate que cada sequencia de movimentos chegue ao fim. Entao

como o ultimo resultado e conhecido, o computador pode escolher o melhor movimento. O numero

de arranjos diferentes das pecas sobre o tabuleiro que e razoavel considerar (muito menor que o

numero de sequencias de movimentos) e mais ou menos 1050. Um programa que examinasse todos

eles levaria varios milhares de anos. Assim, tal programa nao pode ser executado.

Existem diversos problemas com aplicacoes praticas que podem ser resolvidos - isto

e, para os quais podem ser escritos programas - mas para os quais os requerimentos de tempo e

armazenamento sao demasiado grandes para que estes programas sejam de uso pratico. E claro

que os requerimentos de tempo e armazenagem de um programa sao de importancia pratica. Estes

3

Page 13: Apostila Metodos Numericos

2.2 A Linguagem dos Algoritmos 4

aspectos tem-se convertido no tema de estudo teorico na area da ciencia da computacao denominada

complexidade computacional.

2.2 A Estrutura dos Algoritmos

Basicamente, todo algoritmo deve estar munido das seguintes partes:

1. Nome: que deve lembrar o procedimento ou o resultado do algoritmo.

2. Entrada: que deve enumerar de maneira completa todas as variaveis a serem uti-

lizadas pelo algoritmo, assim como a sua natureza. Por exemplo: numero real ou

inteiro, funcao, vetor, matriz (junto com a ordem), etc.

3. Saıda: que deve enumerar de maneira completa todas as variaveis a serem obtidas

atraves do procedimento.

4. Procedimento: que deve enumerar as possıveis variaveis locais, e o processo ao que

deve ser submetida a entrada do algoritmo, enumerado sequencialmente.

Por sua vez, o procedimento do algoritmo tem diversas ferramentas basicas, que sao

enumeradas a seguir:

1. Dar valor a uma variavel: associa o nome da variavel com certo valor calculado.

A sintaxe representativa dessa acao tem a forma:

variavel← valor

2. Ler o valor de uma variavel: realiza uma operacao de leitura, isto e, recebe o valor

de uma variavel e associa a ela o nome de uma variavel. A sintaxe representativa dessa

acao tem a forma:

read valor

3. Escrever uma mensagem ou o valor de uma variavel: realiza uma operacao

de escritura, isto e, escreve uma mensagem e/ou o valor de uma variavel em algum

dispositivo tal como a memoria ou a tela do computador. A sintaxe representativa

dessa acao tem a forma:

write valor

Page 14: Apostila Metodos Numericos

2.2 A Linguagem dos Algoritmos 5

4. Parar o procedimento: para o procedimento antes do final do algoritmo. A sintaxe

representativa dessa acao tem a forma:

return

5. O laco for: e utilizado para repetir instrucoes similares varias vezes. A sintaxe

representativa dessa acao tem a forma:

for variavel ← valor inicial to valor final by tamanho do salto{

instrucoes

end

6. O laco while: e utilizado para repetir instrucoes similares varias vezes enquanto

certa condicao seja satisfeita. A sintaxe representativa dessa acao tem a forma:

while condicao do{

instrucoes

end

7. O condicional if: e utilizado para realizar uma certa acao se alguma condicao e

satisfeita, e, opcionalmente, outra acao se a condicao nao e satisfeita. A sintaxe

representativa dessa acao tem a forma:

if condicao then{

instrucoes

end

ou,

if condicao

then instrucoes

else instrucoes

end

Tambem e utilizada uma terceira alternativa, denominada condicional aninhado que

nao e outra coisa que um condicional dentro de um outro.

Page 15: Apostila Metodos Numericos

2.3 Alguns Exemplos de Algoritmos 6

2.3 Alguns Exemplos de Algoritmos

1. Apresenta-se um algoritmo que calcula as raızes reais ou complexas, simples ou duplas,

de uma equacao quadratica com coeficientes reais

ax2 + bx+ c = 0, a 6= 0.

A tecnica matematica neste caso e a formula de Bhaskara. Lembre que os valores

das raızes dependem basicamente do discriminante b2 − 4ac: se o discriminante for

positivo, a equacao tem duas raızes reais diferentes, se for zero, a equacao tem uma

raiz real dupla, e se for negativo, a equacao tem duas raızes complexas conjugadas.

Um algoritmo que realiza este procedimento e

Algoritmo raızes

A. Entrada: a, b, c, numeros reais

B. Saıda: x1, x2, raızes reais ou complexas da equacao quadratica ax2 + bx+ c = 0, a 6= 0

C. Procedimento:

if a = 0 then

1. write ‘nao e uma equacao quadratica’

else if b2 − 4ac = 0 then

2. write ‘raiz real dupla, x1 = x2 =’,-b/(2a)

else if b2 − 4ac > 0 then

3. write ‘raızes reais simples, x1 =’,−b+√b2 − 4ac

2a ,‘x2 =’,−b−√b2 − 4ac

2a

else

4. write ‘raizes complexas conjugadas, x1 = x2 =’, b2a ± i√

4ac− b22a

end

end

end

Page 16: Apostila Metodos Numericos

2.4 Introducao a Analise de Algoritmos 7

2. Agora, apresenta-se um algoritmo que o produto de duas matrizes reais de ordem

m× n e p× q, respectivamente. Lembre que a multiplicacao so e possıvel se n = p.

Algoritmo prod mat

A. Entrada: A = [aij ]m×n, B = [bkl]p×q matrizes reais

B. Saıda: C = [cil]m×q matriz real, produto das matrizes A e B

C. Procedimento:

if n 6= p then

1. write ‘a multiplicacao nao e possıvel’

else

for i← 1 to m by 1 do

for l ← 1 to q by 1 do

2. cil ← 0

for j ← 1 to n by 1 do

3. cil ← cil + aijbjl

end

end

end

end

2.4 Introducao a Analise de Algoritmos

Os algoritmos sao analisados visando melhora-los, se possıvel, e para escolhe-lo como

apropriado para um determinado problema. Utilizam-se os seguintes criterios:

1. Correcao: Existem tres etapas envolvidas para estabelecer a correcao de um al-

goritmo. Primeiro, antes de determinar se um algoritmo e correto, deve-se ter um

entendimento claro do que significa “correto”. Precisa-se de uma lista de quais sao

as entradas e as saıdas. O metodo de solucao precisa ter as formulas corretas e/ou

previamente validadas analiticamente por lemas e teoremas. Segundo, implementar o

algoritmo na forma de um programa. Finalmente, verificar a validade do algoritmo

mediante tecnicas elementares ou sofisticadas (tais como a invariancia para lacos).

2. Quantidade de trabalho realizado: esta relacionado com o numero de operacoes

basicas realizadas. Quanto menor tal numero, mais eficiente sera o algoritmo.

Page 17: Apostila Metodos Numericos

2.4 Introducao a Analise de Algoritmos 8

3. Analise do pior caso e do caso medio: A quantidade de operacoes basicas nao e

o mesma para entradas diferentes. Por exemplo, o trabalho realizado nao e o mesmo

se, tratando-se de um algoritmo que ordena alfabeticamente, uma lista de palavras

tem poucas palavras fora de ordem.

4. Quantidade de espaco utilizado: esta relacionado com o requerimento de memoria

de um algoritmo. Quanto menos memoria requerida mais eficiente sera o algoritmo.

5. Simplicidade: Com frequencia, acontece que a maneira mais simples e mais direta de

resolver um problema nao e a mais eficiente. Ainda a simplicidade em um algoritmo e

uma caracterıstica desejavel. Pode fazer com que as outras caracterısticas do algoritmo

sejam mais faceis de medir.

6. Complexidade do problema: Existem basicamente duas tarefas a serem realizadas

para encontrar um bom algoritmo, ou, desde outro ponto de vista, para responder a

pergunta: Quanto trabalho e necessario e suficiente para resolver um problema?

(a) Monte o que parece ser um algoritmo eficiente. Encontre uma funcao W tal que,

para entradas de tamanho n, o algoritmo efetua como maximo W (n) passos no

pior caso.

(b) Para alguma funcao F , prove que para qualquer algoritmo em uma classe sob

consideracao, existe alguma entrada de tamanho n para a qual o algoritmo deve

realizar pelo menos F (n) passos.

Se as funcoes W e F sao iguais, entao o algoritmo e otimo, senao poderia existir um

algoritmo melhor.

Page 18: Apostila Metodos Numericos

3 INTRODUCAO A ANALISE DE ERROS

O objetivo maior e a resolucao de problemas que surgem das mais diversas areas da

ciencia. Este objetivo pode ser atingido atraves de varias fases. Estas podem ser resumidas, de

maneira geral, no seguinte esquema:

- -

problema modelagem modelo resolucaosolucao

matematicoreal

Figura 3.1 Fases da resolucao de um problema

De maneira bastante geral, um erro e e diferenca entre o valor real e o valor obtido

como solucao de um problema. E de interesse conhecer as possıveis fontes de erros para que se

possa controla-los ou evita-los. As duas fases, modelagem e resolucao, sao as maiores fontes de

erros na resolucao de um problema.

3.1 Erros na Fase da Modelagem

O objetivo da fase da modelagem e obter um modelo matematico que descreve

o comportamento do fenomeno que origina o problema real.

Nesta fase, os erros podem ser classificados basicamente em dois tipos:

• erros inerentes ao modelo: decorrem das simplificacoes feitas no ambiente do

fenomeno, aplicadas no modelo. Por exemplo: considere a equacao de queda livre de

um corpo

h = H − v0t−1

2gt2 (3.1)

sendo

– h : altura do corpo com relacao ao solo no instante t (m),

– H : altura inicial (t = 0) do corpo com relacao ao solo (m),

– v0 : velocidade inicial (t = 0) do corpo (m/s),

– g : aceleracao da gravidade (m/s2) e

– t : tempo (s).

A equacao (3.1) tem simplificacoes tais como a nao inclusao da resistencia do ar, a

velocidade e direcao do vento, etc.

9

Page 19: Apostila Metodos Numericos

3.2 Erros na Fase da Resolucao 10

• erros no levantamento dos dados: sao os erros introduzidos atraves dos in-

strumentos de medicao. Por exemplo, suponha que quer-se determinar a altura de

um predio mediante um cronometro e uma bolinha de metal, utilizando a formula da

queda livre (3.1). Sobe-se no topo do edifıcio e larga-se a bolinha, medindo o tempo

que a bolinha gasta para tocar o solo. Se o cronometro marcou tres (3) segundos,

entao, como no solo h = 0,

H = v0t+1

2gt2 = 0 +

1

2· 9, 8 · 32 = 44, 1 m

Mas este resultado nao e confiavel, pois para 3, 1 segundos a altura resulta H = 47, 1

m. A diferenca entre as medicoes pode ser devido a percepcao do observador bem

como a imprecisoes proprias do instrumento.

3.2 Erros na Fase da Resolucao

O objetivo da fase da resolucao e obter a solucao do modelo matematico

junto com a informacao dos dados, mediante a aplicacao de metodos numericos.

Nesta fase, tem-se as seguintes fontes de erros:

• erros de conversao numerica: originam-se quando a informacao dos dados numericos

na base decimal e transferida para a calculadora ou computador, ou quando o resul-

tado numerico obtido no computador e transferido para o usuario. Estes erros podem

ser de arredondamento ou de truncamento.

• erros de aritmetica de ponto flutuante: que se originam quando os dados

sao processados no computador mediante operacoes aritmeticas. Cabe ressaltar que

acontece um fenomeno chamado propagacao de erros, que e um processo em que os

erros cometidos em um calculo influenciam nos calculos subsequentes.

Nas secoes seguintes, estudam-se estes processos.

Page 20: Apostila Metodos Numericos

3.3 Conversao de Bases 11

3.3 Conversao de Bases

3.3.1 Conversao de Inteiros da Base Decimal para a Base Binaria

Aplica-se o metodo das divisoes sucessivas, que consiste em dividir o numero por 2 e

os sucessivos quocientes por 2 ate que o ultimo quociente seja 1. Esquematicamente:

N | 2

r1 q1 | 2

r2 q2 | 2

r3 q3. . .

qn−1 | 2

rn−1 1

(3.2)

A representacao binaria do numero N esta dada por

N = 1rn−1 . . . r3r2r1(2) (3.3)

Este metodo pode ser utilizado para converter qualquer numero inteiro da base decimal

para uma base qualquer β : divide-se o numero por β e os sucessivos quocientes por β ate que o

ultimo quociente seja um inteiro 1 ≤ qn < β. Esquematicamente:

N | β

r1 q1 | β

r2 q2 | β

r3 q3. . .

qn−1 | β

rn−1 qn

(3.4)

A representacao do numero N na base β esta dada por

N = qnrn−1 . . . r3r2r1(β) (3.5)

Page 21: Apostila Metodos Numericos

3.3 Conversao de Bases 12

Exemplo 3.1.

18 | 2

0 9 | 2

1 4 | 2

0 2 | 2

0 1

1810 = 100102

Exemplo 3.2.

11 | 2

1 5 | 2

1 2 | 2

0 1

1110 = 10112

3.3.2 Conversao de Numeros Fracionarios da Base Decimal para a Base Binaria

Aplica-se o metodo das multiplicacoes sucessivas, que consiste em multiplicar o numero

por 2 e extrair a parte inteira (podendo ser 0). O resto fracionario e multiplicado novamente por 2

e a parte inteira e extraıda. Este processo deve-se repetir ate ter um resto fracionario igual a 0 ou

ate observar um padrao repetitivo, em cujo caso tratar-se-a de um numero fracionario periodico

(puro ou misto).

Exemplo 3.3.

0, 3125 0, 625 0, 25 0, 50

×2 ×2 ×2 ×2

0, 6250 1, 250 0, 50 1, 00

0, 312510 = 0, 01012

Exemplo 3.4.

0, 8 0, 6 0, 2 0, 4 0.8

×2 ×2 ×2 ×2 ×2

1, 6 1, 2 0, 4 0, 8 1, 6

. . . os produtos estao se repetindo

0, 810 = 0, 11002

Page 22: Apostila Metodos Numericos

3.3 Conversao de Bases 13

Exemplo 3.5. Considere o numero 12, 12510 = 1210 + 0, 12510

12 | 2

0 6 | 2

0 3 | 2

1 1

0, 125 0, 25 0, 5

×2 ×2 ×2

0, 250 0, 50 1, 0

1210 = 11002 0, 12510 = 0, 0012

Portanto, 12, 12510 = 11002 + 0, 0012 = 1100, 0012

Para converter um numero fracionario da base decimal para uma base β, tambem

aplica-se o metodo das multiplicacoes sucessivas, que, neste caso, consiste em multiplicar o numero

por β e extrair a parte inteira (podendo ser 0). O resto fracionario e multiplicado novamente por

β e a parte inteira e extraıda. Este processo deve-se repetir ate ter um resto fracionario igual a 0

ou ate observar um padrao repetitivo.

3.3.3 Conversao de Inteiros da Base Binaria para a Base Decimal

O numero representado por

am . . . a2a1a0(2)

tem o valor decimal igual a

am2m + · · ·+ a222 + a12 + a0. (3.6)

Portanto, para conhecer o valor decimal do numero am . . . a2a1a0(2) basta calcular a soma em (3.6).

Esta soma pode ser calculada diretamente ou utilizando dois metodos equivalentes

1. o esquema de Horner que consiste em calcular a sequencia

bm = am,

bm−1 = am−1 + 2bm,

bm−2 = am−2 + 2bm−1,

...

b1 = a1 + 2b2,

b0 = a0 + 2b1.

(3.7)

Page 23: Apostila Metodos Numericos

3.3 Conversao de Bases 14

O valor decimal do numero am . . . a2a1a0(2) e entao, simplesmente, b0.

2. a divisao de Ruffini que e equivalente ao primeiro metodo e so difere na disposicao

dos coeficientes aj e bj ,

am am−1 · · · a2 a1 a0

2 2bm · · · 2b3 2b2 2b1

bm bm−1 · · · b2 b1 b0

Exemplo 3.6. O numero 111012 forma a sequencia de Horner

b4 = a4 = 1,

b3 = a3 + 2b4 = 1 + 2 · 1 = 3,

b2 = a2 + 2b3 = 1 + 2 · 3 = 7,

b1 = a1 + 2b2 = 0 + 2 · 7 = 14,

b0 = a0 + 2b1 = 1 + 2 · 14 = 29;

isto e, 111012 = 29.

Exemplo 3.7. O numero 1011002 forma o esquema de Ruffini

1 0 1 1 0 0

2 2 4 10 22 44

1 2 5 11 22 44

Portanto, 1011002 = 44

A metodologia anterior pode ser generalizada para converter qualquer numero inteiro

na base β para a base decimal. Considere o numero O numero representado por

am . . . a2a1a0(β)

1. o esquema de Horner consiste em calcular a sequencia

bm = am,

bm−1 = am−1 + βbm,

bm−2 = am−2 + βbm−1,

...

b1 = a1 + βb2,

b0 = a0 + βb1.

(3.8)

O valor decimal do numero am . . . a2a1a0(β) e entao, simplesmente, b0.

Page 24: Apostila Metodos Numericos

3.3 Conversao de Bases 15

2. a divisao de Ruffini,

am am−1 · · · a2 a1 a0

β βbm · · · βb3 βb2 βb1

bm bm−1 · · · b2 b1 b0

3.3.4 Conversao de Numeros Fracionarios da Base Binaria para a Base Decimal

Considere o numero fracionario na base binaria

0, a1a2 . . . an(2).

Este numero tem representacao finita e o valor decimal e

a12−1 + a22

−2 + · · ·+ an2−n. (3.9)

Esta soma pode ser calculada diretamente ou utilizando qualquer um dos dois metodos ja enunci-

ados na subsecao anterior com algumas modificacoes

1. o esquema de Horner,

bn = an,

bn−1 = an−2 +1

2bn,

bn−2 = an−3 +1

2bn−1,

...

b2 = a2 +1

2b3,

b1 = a1 +1

2b2,

b0 =1

2b1.

(3.10)

O valor decimal do numero 0, a1a2 . . . an(2) e entao, simplesmente, b0.

2. a divisao de Ruffini,

an an−1 · · · a2 a1 0

12

12bn · · · 1

2b312b2

12b1

bn bn−1 · · · b2 b1 b0

Page 25: Apostila Metodos Numericos

3.3 Conversao de Bases 16

Exemplo 3.8. O numero 0, 101112 origina a sequencia de Horner

b5 = a5 = 1,

b4 = a4 +1

2b5 = 1 +

1

2· 1 =

3

2,

b3 = a3 +1

2b4 = 1 +

1

2· 32

=7

4,

b2 = a2 +1

2b3 = 0 +

1

2· 74

=7

8,

b1 = a1 +1

2b2 = 1 +

1

2· 78

=23

16,

b0 =1

2b1 =

1

2· 23

16=

23

32= 0, 71875.

Portanto, 0, 101112 = 0, 71875

Exemplo 3.9. O numero 0, 001112 origina a divisao de Ruffini

1 1 1 0 0 0

12

12

34

78

716

732

1 32

74

78

716

7

32

Portanto, 0, 001112 = 732 = 0, 21875.

Se o numero fracionario tem representacao binaria infinita

0, a1a2 . . . anb1b2 . . . bm(2),

entao o valor decimal e

a12−1 + a22

−2 + · · ·+ an2−n + b12−n−1 + b22

−n−2 + · · ·+ bm2−n−m

+ b12−n−m−1 + b22

−2n−2 + · · ·+ bm2−n−2m

+ b12−n−2m−1 + b22

−n−2m−2 + · · ·+ bm2−n−3m + · · ·

(3.11)

que pode ser escrito como

(

a12−1 + a22

−2 + · · ·+ an2−n)

+(

b12−1 + b22

−2 + · · ·+ bm2−m)

· 2m−n

2m − 1(3.12)

onde as duas expressoes entre parenteses tem a mesma forma que a soma na equacao (3.9) e podem

ser calculadas diretamente ou utilizando qualquer dos metodos descritos anteriormente.

Exemplo 3.10. O numero fracionario 0, 110102 tem valor decimal

(

1 · 2−1 + 1 · 2−2)

+(

0 · 2−1 + 1 · 2−2 + 0 · 2−3)

· 1

23 − 1=

(

1

2+

1

4

)

+1

4· 17

=11

14

Page 26: Apostila Metodos Numericos

3.4 Aritmetica de Ponto Flutuante 17

Portanto,

0, 110102 =11

14= 0, 7857142

Em geral, se o numero fracionario tem representacao infinita na base β,

0, a1a2 . . . anb1b2 . . . bm(β),

entao o valor decimal e

(

a1β−1 + a2β

−2 + · · ·+ anβ−n

)

+(

b1β−1 + b2β

−2 + · · ·+ bmβ−m

)

· βm−n

βm − 1(3.13)

onde as duas expressoes entre parenteses podem ser calculadas diretamente ou utilizando qualquer

dos metodos descritos anteriormente (divisao de Ruffini ou metodo de Horner).

3.4 Aritmetica de Ponto Flutuante

As calculadoras e computadores possuem um numero finito de dıgitos para representar

os numeros. Formaliza-se esta afirmacao na seguinte definicao:

Definicao 3.1. Um sistema normalizado de aritmetica de ponto flutuante consiste de

0 e todos os numeros que podem ser representados na forma

±(

0, d1d2 . . . dt

)

β× βexp

onde β e um inteiro maior ou igual que 2 denominado base do sistema, t e um inteiro maior ou

igual que 1 denominado numero de dıgitos do sistema, dj sao inteiros tais que 0 ≤ dj ≤ β−1,

∀j = 2, . . . t, e 0 < d1 ≤ β − 1, e exp e um inteiro tal que m ≤ exp ≤ M sendo m ≤ M dois

inteiros, exp e denominado expoente do numero. Tal sistema e denotado por F(

β, t,m,M)

.

Em um sistema normalizado de aritmetica de ponto flutuante, a parte fracionaria de

um numero na base β,(

d1d2 . . . dt

)

e denominada mantissa.

Os parametros β, t, m e M dependem exclusivamente do computador

Page 27: Apostila Metodos Numericos

3.4 Aritmetica de Ponto Flutuante 18

Maquina β t m M

Burroughs 5500 8 13 -51 77

Burroughs 6700 8 13 -63 63

HP 45 10 10 -98 100

Texas SR-5X 10 12 -98 100

PDP-11 2 24 -128 127

IBM/360 16 6 -64 63

IBM/370 16 14 -64 63

Quartzil QI 800 2 24 -127 127

No sistema F(

β, t,m,M)

podem ser observadas as seguintes caracterısticas:

1. O menor numero positivo possıvel de ser representado neste sistema e

xMIN = 0, 10 . . .0β × βm = βm−1

2. A regiao de “underflow” e definida como o intervalo

(

−xMIN , xMIN

)

,

isto e, qualquer numero real cujo valor verdadeiro esta nesse intervalo, sera considerado

0 neste sistema.

3. O maior numero positivo possıvel de ser representado neste sistema e

xMAX =(

0, (β − 1)(β − 1) . . . (β − 1))

β× βM =

βt − 1

βt · βM

4. A regiao de “overflow” e definida como a uniao de dois intervalos

(

−∞,−xMAX

)

∪(

xMAX ,∞)

,

isto e, qualquer numero real cujo valor verdadeiro esta nessa uniao de intervalos, sera

considerado −∞ ou +∞, dependendo de se o numero esta no primeiro ou no segundo

intervalo, respectivamente.

5. O numero total de elementos do sistema e

2(

β − 1)(

M −m+ 1)

βt−1 + 1 (3.14)

Page 28: Apostila Metodos Numericos

3.5 Erros Absolutos e Relativos 19

Exemplo 3.11. Considere o sistema F(

2, 3,−1, 2)

. O menor elemento positivo deste sistema e

xMIN = (0, 100)2 × 2−1 = 2−1−1 =1

4,

portanto, a regiao de “underflow” e o intervalo

(

−1

4,1

4

)

.

O maior elemento positivo deste sistema e

xMAX = (0, 111)2 × 22 =23 − 1

23 · 22 =7

2,

portanto, a regiao de “overflow” deste sistema e

(

−∞,−7

2

)

∪(

7

2,+∞

)

.

Mais ainda, como os valores dos parametros do sistema sao pequenos, os valores na base decimal

dos elementos positivos podem ser enumerados em um arranjo

mantissa ↓ exp=-1 exp=0 exp=1 exp = 2

100 14

12 1 2

101 516

58

54

52

110 38

34

32 3

111 716

78

74

72

O numero de elementos do sistema F(

2, 3,−1, 2)

e

2(

β − 1)(

M −m+ 1)

βt−1 + 1 = 2 · (2− 1) · (2 + 1 + 1) · 23−1 + 1 = 33.

3.5 Erros Absolutos e Relativos

Nesta secao, formaliza-se o conceito de erro absoluto e relativo.

Definicao 3.2. Seja x o valor exato de um numero e x o seu valor aproximado. O erro absoluto

e definido como a diferenca entre o valor exato e o valor aproximado do numero, isto e,

EAx = x− x

Page 29: Apostila Metodos Numericos

3.5 Erros Absolutos e Relativos 20

Em geral, apenas o valor x e conhecido, e neste caso, e impossıvel obter o valor exato

do erro absoluto. Mas uma alternativa e calcular uma estimativa ou cota superior do valor absoluto

do erro absoluto.

Por exemplo, sabe-se que o valor exato de π ∈(

3, 14 , 3, 15)

, e para um valor aproxi-

mado, π dentro deste intervalo, tem-se

∣EAπ

∣ = |π − π| < 0, 01.

Por outro lado, seja x o numero aproximado por x = 1234, 5 de modo que∣

∣EAx

∣ < 0, 1,

ou seja, x ∈(

1234, 4 , 1234, 6)

e seja y o numero aproximado por y = 2, 3 de modo que∣

∣EAy

∣ < 0, 1,

ou seja, y ∈(

2, 2 , 2, 4)

. As cotas superiores para os erros absolutos sao os mesmos, mas os numeros

x e y nao estao representados com a mesma precisao. Neste caso, e necessario comparar a ordem

de grandeza de x e y. Fazendo isto, pode-se concluir que o primeiro resultado e mais preciso que

o segundo, pois a ordem de grandeza de x e maior que a ordem de grandeza de y.

Observa-se, entao, que o erro absoluto nao e suficiente para descrever a precisao de

uma aproximacao. Precisa-se de uma outra ferramenta, o erro relativo.

Definicao 3.3. Seja x o valor exato de um numero e x o seu valor aproximado. O erro relativo

e definido como o erro absoluto dividido por x, isto e,

ERx =EAx

x=x− xx

.

Voltando ao exemplo anterior, tem-se

∣ERx

∣ =

∣EAx

|x| <0, 1

1234, 5≈ 0, 8× 10−4

e∣

∣ERy

∣ =

∣EAy

|y| <0, 1

2, 3≈ 0, 4× 10−1,

que confirma, portanto, que o numero x e representado com maior precisao que o numero y.

Page 30: Apostila Metodos Numericos

3.6 Erros de Arredondamento e Truncamento em um Sistema de Aritmetica de Ponto Flutuante 21

3.6 Erros de Arredondamento e Truncamento em um Sistema de Aritmetica dePonto Flutuante

Na secao 3.4, viu-se que a representacao de um numero depende da maquina uti-

lizada, isto e, cada maquina possui um sistema F(

β, t,m,M)

, que determina a base numerica, o

comprimento de palavra, etc.

Se um numero x nao tem uma representacao finita na base β ou se o comprimento

de palavra da maquina nao comporta tal representacao, sera considerada uma aproximacao por

arredondamento ou por truncamento.

Exemplo 3.12. Considere o sistema F(

10, 4,m,M)

, com m e M muito grandes em modulo. O

numero x = 62, 378 pode ser expresso como

x = 0, 6237× 102 + 0, 8× 10−2.

Pode-se observar que a ultima parcela, 0, 8×10−2, desta soma nao pode ser incorporada totalmente

a mantissa. Entao, aparece a questao de como considerar esta parcela e determinar o erro absoluto

ou relativo maximo cometido.

Um problema semelhante aparece quando tenta-se representar o numero y = 16 = 0, 16.

Observa-se que

y = 0, 1666× 100 + 0, 6× 10−4.

Dado o sistema F(

β, t,m,M)

, se um numero x positivo, nao esta na regiao de “un-

derflow” ou “overflow”, entao pode ser escrito como

x =(

0, d1d2 . . . dt

)

β× βexp + gx × βexp−t, d1 6= 0,

onde 0 ≤ gx < 1. Para tratar o problema de considerar a parcela gx × βexp−t , podem-se adotar

dois criterios:

1. truncamento: a parcela gx × βexp−t e desprezada e

x =(

0, d1d2 . . . dt

)

β× βexp ∈ F

(

β, t,m,M)

.

Neste caso,

∣EAx

∣ = |x− x| =∣

∣gx

∣× βexp−t < βexp−t, pois∣

∣gx

∣ < 1

Page 31: Apostila Metodos Numericos

3.6 Erros de Arredondamento e Truncamento em um Sistema de Aritmetica de Ponto Flutuante 22

e∣

∣ERx

∣ =

∣EAx

|x| =

∣gx

∣× βexp−t

(

0, d1d2 . . . dt

)

β× βexp

<βexp−t

0, 1β × βexp = β−t+1,

pois(

0, d1d2 . . . dt

)

β≥ 0, 1β = β−1.

2. arredondamento: a forma mais comum e o arredondamento simetrico, isto e,

x =

(

0, d1d2 . . . dt

)

β× βexp se

∣gx

∣ < 12 ,

(

0, d1d2 . . . (dt + 1))

β× βexp se

∣gx

∣ ≥ 12 .

O erro absoluto esta dado por

∣EAx

∣ = |x− x| =

∣gx

∣× βexp−t, se∣

∣gx

∣ < 12 ,

∣gx − 1∣

∣× βexp−t, se∣

∣gx

∣ ≥ 12 ,

<1

2× βexp−t;

e o erro relativo pode ser calculado como

∣ERx

∣ =

∣EAx

|x| <

12 × β

exp−t

(

0, d1d2 . . . dt

)

β× βexp se

∣gx

∣ < 12 ,

12 × β

exp−t

(

0, d1d2 . . . (dt + 1))

β× βexp se

∣gx

∣ ≥ 12 ,

<12 × β

exp−t

0, 1β × βexp =1

2β−t+1.

Portanto, os erros cometidos no arredondamento simetrico tem as seguintes cotas

superiores∣

∣EAx

∣ <1

2× βexp−t; (3.15)

e∣

∣ERx

∣ <1

2β−t+1. (3.16)

Uma ferramenta muito utilizada para medir quanto um numero aproxima outro e o

numero de dıgitos significativos exatos.

Page 32: Apostila Metodos Numericos

3.7 Erros nas Operacoes Aritmeticas de Ponto Flutuante 23

Definicao 3.4. Sejam x e x dois numeros. O numero x e dito uma aproximacao de x em k dıgitos

significativos exatos, se∣

∣x− x∣

|x| ≤ 1

2β−k+1

Exemplo 3.13. Se x = 1/3 e x = 0.333, entao

∣x− x∣

|x| ≤ 0, 1× 10−2 = 0, 1× 10−3+1

e x e uma aproximacao de x em 3 dıgitos significativos exatos.

3.7 Erros nas Operacoes Aritmeticas de Ponto Flutuante

Sejam x e y dois numeros reais e x e y dois valores aproximados dos primeiros, re-

spectivamente. Entao

x = x+ EAx (3.17)

e

y = y + EAy . (3.18)

Serao obtidas as formulas para os erros absolutos e relativos nas quatro operacoes

aritmeticas principais:

1. adicao: tem-se que

x+ y =(

x+ EAx

)

+(

y + EAy

)

=(

x+ y)

+(

EAx + EAy

)

;

portanto, o erro absoluto na soma, denotado por EAx+y e a soma dos erros absolutos

das parcelas,

EAx+y = EAx + EAy. (3.19)

O erro relativo pode ser calculado como

ERx+y =EAx+y

x+ y

=EAx

x· x

x+ y+EAy

y· y

x+ y

= ERx ·x

x+ y+ ERy ·

y

x+ y.

(3.20)

Page 33: Apostila Metodos Numericos

3.7 Erros nas Operacoes Aritmeticas de Ponto Flutuante 24

2. subtracao: similarmente ao caso anterior, tem-se que

EAx−y = EAx − EAy (3.21)

e

ERx−y = ERx ·x

x− y − ERy ·y

x− y . (3.22)

3. multiplicacao: tem-se que

x · y =(

x+ EAx

)

·(

y + EAy

)

= x · y + y · EAx + x · EAy + EAx · EAy

e considerando que o produto EAx · EAy e muito pequeno, pode ser desprezado na

expressao acima, conseguindo a seguinte equacao para o erro absoluto no produto

EAx·y = x ·EAy + y · EAx. (3.23)

O erro relativo pode ser calculado como

ERx·y =EAx·y

x · y

=x ·EAy + y ·EAx

x · y

=EAx

x+EAy

y

= ERx + ERy.

(3.24)

4. divisao: tem-se que

x

y=x+ EAx

y + EAy=x+ EAx

1

1 +EAy

y

.

O ultimo fator,1

1 +EAy

y

, pode ser representado mediante uma serie

1

1 +EAy

y

= 1− EAy

y+

(

EAy

y

)2

−(

EAy

y

)3

+ · · · (3.25)

Page 34: Apostila Metodos Numericos

3.7 Erros nas Operacoes Aritmeticas de Ponto Flutuante 25

e desprezando os termos com potencias maiores que 1, tem-se que

x

y≈ x+ EAx

1−EAy

y

=x

y+EAx

y− x ·EAy

y2− EAx · EAy

y2;

novamente, considerando que o produto EAx · EAy e muito pequeno, pode ser de-

sprezado na expressao acima, e entao

x

y≈ x

y+EAx

y− x · EAy

y2.

Assim, consegue-se a seguinte expressao para o erro absoluto da divisao:

EAx/y =EAx

y− x · EAy

y2=y ·EAx − x ·EAy

y2(3.26)

e para o erro relativo tem-se

ERx/y =y ·EAx − x ·EAy

y2· yx

=EAx

x− EAy

y,

portanto

ERx/y = ERx − ERy. (3.27)

Exemplo 3.14. Suponha que x, y, z e v estao representados de maneira exata. Quer-se encontrar

uma cota superior do erro relativo total cometido ao calcular

u = (x + y) · z − v

no sistema de aritmetica de ponto flutuante F(

10, t,m,M)

. O erro relativo de arredondamento e

denotado por ǫa.

Tem-se que

ERtotalx+y = ERx ·

x

x+ y+ ERy ·

y

x+ y+ ǫa = ǫa

e entao∣

∣ERtotalx+y

∣ =∣

∣ǫa∣

∣ <1

2× 10−t+1.

Seja s = x+ y. Ao calcular s · z, o erro relativo total desse produto e

ERtotals·z = ERs + ERz + ǫa = ERx+y + 0 + ǫa

Page 35: Apostila Metodos Numericos

3.8 Problemas Propostos 26

e, portanto,∣

∣ERtotals·z

∣ ≤ 2∣

∣ǫa∣

∣ < 10−t+1

Seja m = s · z. Ao calcular u = m− v, o erro relativo total dessa diferenca e

ERtotalm−v = ERm

m

m− v − ERv ·v

m− v + ǫa = ERm ·m

m− v + ǫa

e, portanto,

∣ERtotalm−v

∣ ≤∣

∣ERm

∣ ·∣

m

m− v

+∣

∣ǫa∣

∣ < 10−t+1 ·∣

m

m− v

+1

2× 10−t+1.

Enfim,∣

∣ERtotalm−v

∣ <

(

m

u− 1

2

)

× 10−t+1.

3.8 Problemas Propostos

1. Converter os seguintes numeros decimais para sua forma binaria

(a) 321

(b) 32, 15

(c) 0, 025

(d) 3, 17

2. Converter os seguintes numeros binarios para sua forma decimal

(a) 10101012

(b) 0, 0112

(c) 0, 011102

(d) 1101, 00101102

3. Efetuar as seguintes operacoes (sem converter para a base decimal):

(a) 1, 0012 + 0, 12 + 0, 01112

(b) 1534, 236 + 54, 4456 + 44, 126

(c) 754, 568 − 552, 77778

(d) 4332, 25 × 23, 225

(e) A1B,A16 × 7CE,D16

Page 36: Apostila Metodos Numericos

3.8 Problemas Propostos 27

4. Considere o sistema F(

10, 4,m,M)

. Dados os numeros x = 0, 7273×104, y = 0, 3323×10−1 e z = 0, 8382× 101, efetuar as operacoes abaixo e obter o erro relativo total no

resultado:

(a) x+ y + z

(b) x− y − z

(c) x/y

(d) (x · y)/z

(e) x · (y/z)

5. Seja x um numero real e x a sua aproximacao por arredondamento. Obter cotas

superiores para os erros relativos de u = 2x e w = x+ x.

6. Sejam x e y numeros reais aproximados por arredondamento por x e y, respectiva-

mente. Compare os erros relativos de u = 3 · x · y e w = (x + x+ x) · y

7. Sejam x e y dois numeros reais aproximados por x = 0, 178693×101 e y = 0, 178439×101 no sistema F

(

10, 6,m,M)

. Quantos dıgitos significativos exatos tem estas aprox-

imacoes? Se a diferenca z = x − y e aproximada mediante z = x − y, qual e o erro

relativo total cometido? Quantos dıgitos significativos exatos possui z?

8. Considere o sistema aritmetico de ponto flutuante F(

2, 4,−2, 1)

.

(a) Encontre o menor e maior elementos positivos de tal sistema e determine a regiao

de “underflow” e “overflow”;

(b) Enumere, mediante uma tabela, todos os elementos positivos de tal sistema e

encontre o numero de elementos.

9. Em um sistema F(

10, 3,m,M)

, onde a aproximacao e feita por truncamento, calcule

a media dos numeros x = 4, 45 e y = 6, 76 de duas maneiras, primeiro, mediante a

formula

c =x+ y

2

e depois pela formula

d = x+y − x

2.

Calcule a media verdadeira, compare os resultados e explique a diferenca.

10. Encontre as raızes da equacao

x2 − 400x+ 1 = 0

Page 37: Apostila Metodos Numericos

3.8 Problemas Propostos 28

utilizando a formula

x =−b±

√b2 − 4ac

2a

em um sistema aritmetico decimal flutuante de quatro dıgitos. Calcule a verdadeira

raiz e compare. Compare os resultados anteriores, se no mesmo sistema aritmetico

(de quatro dıgitos), a raiz e calculada pela formula

x =2c

−b±√b2 − 4ac

.

Explique a diferenca destes resultados.

11. Em um sistema F(

10, 4,m,M)

, calcule a media dos numeros x = 4, 568 e y = 6, 762

de duas maneiras, primeiro, mediante a formula

c =x+ y

2

e depois pela formula

d = x+y − x

2.

Calcule a media verdadeira, compare os resultados e explique a diferenca.

Page 38: Apostila Metodos Numericos

4 EQUACOES TRANSCENDENTES E ALGEBRICAS

4.1 Introducao

Um problema de grande importancia na matematica aplicada e na engenharia e de-

terminar as solucoes de uma equacao da forma

f(x) = 0. (4.1)

Definicao 4.1. Se na equacao

f(x) = 0,

a funcao f(x) e dada explicitamente por

f(x) = pn(x) = xn + an−1xn + · · ·+ a1x+ a0, (4.2)

isto e, f(x) e um polinomio de grau n em x, entao a equacao (4.1) e denominada uma equacao

polinomial.

Se f(x) pode ser conhecida so de maneira implıcita mediante uma funcao transcen-

dente, entao a equacao (4.1) e denominada uma equacao transcendente. �

Definicao 4.2. Um numero ξ e uma solucao de f(x) = 0 se f(ξ) = 0. Essa solucao ξ e denomi-

nada uma raiz ou um zero de f(x) = 0. �

Definicao 4.3. Uma raiz ξ de f(x) = 0 e dita uma raiz multipla de multiplicidade m, onde

m ∈ N, se e somente se,

1. dk

dxk f(ξ) = 0 para k = 0, . . .m− 1, onde d0

dx0 f(ξ) denota f(ξ); e

2. dm

dxm f(ξ) 6= 0.

Uma raiz de multiplicidade 1 denomina-se uma raiz simples. �

Em geral, existem dois tipos de metodos utilizados para encontrar as raızes da equacao

(4.1).

(i) Metodos Diretos: Estes metodos fornecem o valor exato das raızes em um numero

finito de passos. Alem do mais, os metodos dao todas as raızes ao mesmo tempo. Por

29

Page 39: Apostila Metodos Numericos

4.1 Introducao 30

exemplo, um metodo direto da a raiz de uma equacao linear ou de primeiro grau

a1x+ a0 = 0, a1 6= 0 (4.3)

como

x = −a0

a1. (4.4)

Similarmente, as raızes da equacao quadratica ou de segunda ordem

a2x2 + a1x+ a0 = 0, a2 6= 0 (4.5)

estao dadas por

x =−a1 ±

a21 − 4a2a0

2a2. (4.6)

(ii) Metodos Iterativos: Estes metodos estao baseados na ideia de aproximacao sucessiva,

isto e, comecar com uma ou mais aproximacoes da raiz e obter uma sequencia de

aproximantes ou iteradas{

xk

}

, que, no limite quando k −→ ∞, converge a raiz. Os

metodos podem fornecer so uma raiz por vez. Por exemplo, para resolver a equacao

quadratica (4.5) pode-se escolher qualquer um dos seguintes metodos iterativos:

(a) xk+1 = −a0 + a2x2k

a1, k = 0, 1, 2, . . .;

(b) xk+1 = − a0a2xk + a1

, k = 0, 1, 2, . . .; e

(c) xk+1 = −a0 + a1xka0xk

, k = 0, 1, 2, . . ..

A convergencia da sequencia{

xk

}

para um numero ξ, a raiz da equacao (4.5) de-

pende da escolha de uma formula recursiva, (a), (b) ou (c), e da escolha de uma

aproximacao inicial x0.

Definicao 4.4. Uma sequencia de aproximantes{

xk

}

converge a raiz ξ, se e somente se,

limk−→∞

∣xk − ξ∣

∣ = 0.

Definicao 4.5. Se xk, xk−1, . . . , xk−m+1 sao m aproximantes da raiz, entao define-se um

metodo iterativo de m pontos como

xk+1 = φ(

xk, xk−1, . . . , xk−m+1

)

.

A funcao φ e denominada funcao iterativa do metodo.

Page 40: Apostila Metodos Numericos

4.2 Aproximacoes Iniciais 31

Cada aplicacao da metodo iterativo para obter determinado xk e denominada uma

iteracao.

Para m = 1, consegue-se o metodo iterativo de um ponto

xk+1 = φ(

xk

)

.

O processo de encontrar uma raiz da equacao ξ da equacao f(x) = 0 pode ser dividido

em duas etapas:

1. determinacao de uma aproximacao inicial que consiste em obter um intervalo

onde se encontra a raiz ξ; e

2. refinamento que consiste na escolha de um metodo iterativo para obter uma aprox-

imacao da raiz com algum grau de precisao.

A seguinte secao trata o tema da determinacao de uma aproximacao inicial.

4.2 Aproximacoes Iniciais

Com frequencia, as aproximacoes iniciais da raiz ξ sao tomadas a partir de consid-

eracoes fısicas do problema. Caso contrario, quase sempre sao utilizados metodos graficos, baseados

no calculo, para obter aproximacoes iniciais da raiz.

Como o valor de x, em que o grafico da equacao y = f(x) intersecta o eixo x, fornece

a raiz de f(x) = 0, qualquer valor em uma vizinhanca deste ponto pode ser tomado como uma

aproximacao da raiz. Por exemplo, veja os graficos da figura 4.1,

Se a equacao f(x) = 0 pode ser escrita na forma f1(x) = f2(x), entao o ponto de

intersecao dos graficos das equacoes y = f1(x) e y = f2(x) fornece a raiz de f(x) = 0 e portanto

qualquer valor na vizinhanca deste ponto pode ser tomado como uma aproximacao inicial da raiz.

Veja, por exemplo, a figura 4.2.

Outro metodo muito comum utilizado para obter uma aproximacao inicial de uma

raiz esta baseado no Teorema do Valor Intermediario, que afirma

Page 41: Apostila Metodos Numericos

4.2 Aproximacoes Iniciais 32

Figura 4.1 Uma intersecao do eixo x com o grafico da funcao fornece uma raiz de f(x) = 0.

Figura 4.2 Uma intersecao dos graficos de duas funcoes, y = x e y = e−x cos(x) fornece uma raizde f(x) = 0.

Teorema 4.1. Se f(x) e uma funcao contınua sobre algum intervalo [a, b] e e satisfeita a de-

sigualdade f(a)f(b) < 0, entao a equacao f(x) = 0 tem pelo menos uma raiz real no intervalo

]a, b[.

Observacoes: Sob as hipoteses do teorema anterior, outro resultado importante e que a equacao

f(x) = 0 possui pelo menos uma raiz real ou um numero ımpar de raızes incluindo a multiplicidade

no intervalo ]a, b[.

Graficamente, alguns dos casos que podem acontecer sao os mostrados na figura 4.3.

Page 42: Apostila Metodos Numericos

4.2 Aproximacoes Iniciais 33

Figura 4.3 Se f(a)f(b) < 0 entao existe pelo menos uma raiz no intervalo ]a, b[. No primeiro

grafico, existe exatamente uma raiz, no segundo, tres raızes e no terceiro, duas raızes.

Observacao: Sob as hipoteses do teorema anterior, se f ′(x) existir e preservar o sinal em ]a, b[,

entao este intervalo contem um unico zero de f(x). Veja a figura 4.4

f ′(x) > 0, ∀ x ∈ [a, b] f ′(x) < 0, ∀ x ∈ [a, b]

Figura 4.4 Se f(a)f(b) < 0 e f ′(x) preservar o sinal em (a, b), entao existe uma unica raiz nointervalo ]a, b[.

Tambem pode-se construir uma tabela dos valores da funcao f(x) para varios valores

de x e obter uma aproximacao inicial de uma raiz da equacao.

Exemplo 4.1. Para obter uma aproximacao inicial de uma raiz da equacao

f(x) = cos(x)− xex = 0,

pode-se construir uma tabela dos valores da funcao f(x) para varios valores de x. Consegue-se

Page 43: Apostila Metodos Numericos

4.3 Criterios de Parada 34

x f(x)

0 1

0,5 0,0532

1,0 -2,1780

1,5 -6,6518

2,0 -15,1942

A partir da tabela, encontra-se que a equacao f(x) = 0 tem pelo menos uma raiz

no intervalo ]0, 5 , 1, 0[. Entao, as escolhas possıveis para uma aproximacao inicial podem ser

x0 = 0, 5, x0 = 1, 0 ou x0 =0, 5 + 1, 0

2 = 0, 75. �

4.3 Criterios de Parada

A partir de uma aproximacao inicial x0, qualquer metodo iterativo gera uma sequencia

de aproximantes{

xk

}

={

x1, x2, x3, . . . , xk, . . .}

de uma raiz da equacao. Devido a limitacoes

fısicas, tal sequencia nao pode ser infinita.

Portanto, existe a necessidade de estabelecer criterios de parada para construir

uma sequencia finita de aproximantes{

x1, x2, x3, . . . , xk

}

. Os criterios mais comuns sao enumer-

ados a seguir

1. numero fixo de iteracoes, isto e, a formula do metodo iterativo deve ser utilizada

um numero prescrito, N , de vezes;

2. parada baseada no erro absoluto do aproximante: dada uma tolerancia

de erro prescrita, ε, deve-se parar se

∣xk − xk−1

∣ < ε.

3. parada baseada no erro relativo do aproximante: dada uma tolerancia

de erro prescrita, ε, deve-se parar se

∣xk − xk−1

∣xk

< ε.

4. parada baseada em um numero de dıgitos significativos exatos do aprox-

imante: se deseja-se obter um aproximante xk com M dıgitos significativos exatos

Page 44: Apostila Metodos Numericos

4.4 O Metodo da Bissecao 35

(com relacao ao valor exato da raiz), deve-se parar quando

∣xk − xk−1

∣xk

< 0, 5× 10−M+1.

4.4 O Metodo da Bissecao

Este metodo esta baseado na aplicacao repetida do teorema do valor intermediario.

Se e sabido que uma raiz de f(x) = 0 encontra-se no intervalo I0 =]a0, b0[, entao bisseca-se I0 no

ponto x0 = a0 + b02 . Define-se o intervalo I1 com uma aquela metade do intervalo I0 que ainda

contem a raiz, para isto deve-se ter que

I1 =]a1, b1[=

]a0, x0[, se f(a0)f(x0) < 0,

]x0, b0[, se f(a0)f(x0) > 0.

Ja que o intervalo I1 contem a raiz, entao procede-se a bissecar este intervalo novamente para obter

um intervalo I2, e assim por diante.

O k-esimo passo deste metodo pode ser descrito da seguinte maneira: Dado o intervalo

Ik−1 =]ak−1, bk−1[, que contem a raiz da equacao f(x) = 0, bisseca-se tal intervalo no ponto

xk−1 =ak−1 + bk−1

2 e escolhe-se aquela metade do intervalo que ainda contem a raiz, mediante o

seguinte teste

Ik =]ak, bk[=

]ak−1, xk−1[, se f(ak−1)f(xk−1) < 0,

]xk−1, bk−1[, se f(ak−1)f(xk−1) > 0.

No caso que f(xk−1) = 0, entao xk−1 e uma raiz de f(x) = 0.

Cada passo deste metodo, requer uma avaliacao da funcao f(x): f(xk−1).

Os resultados obtidos a partir do metodo da bissecao podem ser arranjados em uma

tabela com o seguinte formato:

Page 45: Apostila Metodos Numericos

4.4 O Metodo da Bissecao 36

k ak bk xk = ak + bk2 Erro:

∣xk − xk−1

∣xk

Sinal de f(ak) Sinal de f(xk)

0 a0 b0 x0 - < 0 ou > 0 < 0 ou > 0

1 a1 b1 x1

∣x1 − x0

∣x1

< 0 ou > 0 < 0 ou > 0

2 a2 b2 x2

∣x2 − x1

∣x2

< 0 ou > 0 < 0 ou > 0

......

......

......

...

Este metodo, constroi uma sequencia de intervalos I0 ⊃ I1 ⊃ I2 ⊃ . . . tal que cada

intervalo contem a raiz. Depois de repetir o procedimento N vezes, ou a raiz e achada ou obtem-se

um intervalo IN de comprimento bN − aN = b0 − a0

2N que contem a raiz. A aproximacao desejada

da raiz e tomada como xN = aN + bN2 .

Este metodo e simples e a sequencia de aproximantes{

xk

}

sempre converge a raiz ξ.

Se e permitido um erro ε entao o numero aproximado de iteracoes requeridas pode ser determinado

a partir da seguinte relacao

b0 − a0

2n< ε ou n >

ln(b0 − a0)− ln(ε)

ln(2)(4.7)

O mınimo numero de iteracoes requerido para aproximar uma raiz no intervalo ]0, 1[

para um ε dado e dado na tabela a seguir

ε n

10−2 7

10−3 10

10−4 14

10−5 17

10−6 20

10−7 24

Assim, o metodo da bissecao requer um grande numero de iteracoes para atingir um

grau razoavel de precisao para a raiz.

Exemplo 4.2. Efetuar seis iteracoes do metodo da bissecao para obter uma aproximacao da raiz

da equacao

f(x) = x3 − 5x+ 1 = 0

no intervalo ]0, 1[ e determinar quantos dıgitos significativos exatos possui o aproximante da raiz.

Page 46: Apostila Metodos Numericos

4.5 O Metodo da Falsa Posicao 37

Tem-se que f(0) = 1 > 0 e f(1) = −5 < 0. Agora, monta-se a tabela

k ak bk xk = ak + bk2 Erro:

∣xk − xk−1

∣xk

f(ak) f(xk)

0 0 1 0, 5 - 1 −1.375

1 0 0, 5 0, 25 1 1 −0, 234375

2 0 0, 25 0, 125 1 1 0.376953125

3 0, 125 0, 25 0, 1875 0, 3 0.376953125 0, 0690917969

4 0, 1875 0, 25 0, 21875 0, 1428571429 0, 0690917969 −0, 083282471

5 0, 1875 0, 21875 0, 203125 0, 07692307692

Entao a aproximacao da raiz ξ e x5 = 0.203125 e o erro relativo e

∣x5 − x4

∣x5

= 0, 07692307692< 0, 5× 100 = 0, 5× 10−1+1

o que indica que o aproximante tem 1 dıgito significativo exato.

4.5 O Metodo da Falsa Posicao

O metodo da falsa posicao tem uma abordagem analoga a do metodo da bissecao.

Quando f(a0)f(b0) < 0 a raiz encontra-se no intervalo [a0, b0] se a0 < b0, ou, no intervalo [b0, a0]

se b0 < a0. No metodo da bissecao, o aproximante x0 e calculado como a media entre a0 e

b0, x0 = a0 + b02 . No metodo da bissecao, calcula-se o aproximante seguinte, x0, como a media

ponderada entre a0 e b0 com pesos |f(b0)| e |f(a0)|, respectivamente. Tem-se, entao

x0 =a0|f(a0)|+ b0|f(b0)||f(b0)|+ |f(b0)|

=a0f(b0)− b0f(a0)

f(b0)− f(a0), (4.8)

devendo-se a ultima igualdade ao fato que f(a0)f(b0) < 0. A seguir, se f(a0)f(x0) < 0, escolhe-se

a1 = a0 e b1 = x0, e se f(a0)f(x0) > 0, escolhe-se a1 = x0 e b1 = b0. O processo e continuado

sabendo que f(a1)f(b1) < 0.

Os resultados obtidos a partir do metodo da falsa posicao podem ser arranjados em

uma tabela com o seguinte formato:

Page 47: Apostila Metodos Numericos

4.5 O Metodo da Falsa Posicao 38

k ak bk f(ak) f(bk) xk =akf(bk)− bkf(ak)f(bk)− f(ak)

Erro:

∣xk − xk−1

∣xk

f(xk)

0 a0 b0 f(a0) f(b0) x0 - f(x0)

1 a1 b1 f(a1) f(b1) x1

∣x1 − x0

∣x1

f(x1)

2 a2 b2 f(a2) f(b2) x2

∣x2 − x1

∣x2

f(x2)

......

......

......

......

Exemplo 4.3. Efetuar tres iteracoes do metodo da falsa posicao para obter uma aproximacao da

raiz da equacao

f(x) = x3 − 5x+ 1 = 0

no intervalo ]0, 1[ e determinar quantos dıgitos significativos exatos possui o aproximante da raiz.

Tem-se que f(0) = 1 > 0 e f(1) = −5 < 0. Agora, monta-se a tabela

k ak bk f(ak) f(bk) xk =akf(bk)− bkf(ak)f(bk)− f(ak)

Erro:

∣xk − xk−1

∣xk

f(xk)

0 0 1 1 −3 0, 25 - −0, 234375

1 0 0, 25 1 −0, 234375 0, 202532 0, 234375 −0, 004351

2 0 0, 202532 1 −0, 004351 0, 201654 0, 004351 -

Entao a aproximacao da raiz ξ e x5 = 0.202532 e o erro relativo e

∣x2 − x1

∣x2

= 0, 004351 < 0, 5× 10−2 = 0, 5× 10−3+1

o que indica que o aproximante tem 3 dıgitos significativos exatos.

Observe que, na verdade, efetua-se uma so avaliacao funcional por iteracao. Por

exemplo, f(a1) = f(a0) e f(b1) = f(x0).

A seguir, mostra-se um exemplo onde a velocidade de convergencia e menor que no

caso anterior.

Exemplo 4.4. Utilizando o metodo da falsa posicao, obtenha uma aproximacao da raiz da equacao

f(x) = cos(x) − xex = 0

no intervalo ]0, 1[ com dois dıgitos significativos exatos.

Para se ter uma aproximacao com dois dıgitos significativos exatos, o erro relativo

deve ser menor que 0, 5× 10−2+1 = 0, 5× 10−1 = 0, 05.

Page 48: Apostila Metodos Numericos

4.6 O Metodo das Cordas 39

Tem-se que f(0) = 1 > 0 e f(1) = −2.177980 < 0. Agora, monta-se a tabela

k ak bk f(ak) f(bk) xk =akf(bk)− bkf(ak)f(bk)− f(ak)

Erro:

∣xk − xk−1

∣xk

f(xk)

0 0 1 1 −2, 177980 0, 314665 - 0, 519871

1 0, 314665 1 0, 519871 −2, 177980 0, 446728 0, 295622 0, 203545

2 0, 446728 1 0, 203545 −2, 177980 0, 494015 0, 095720 0, 070802

3 0, 494015 1 0, 070802 −2, 177980 0, 509946 0, 031240 -

Entao a aproximacao da raiz ξ e x3 = 0, 509946 e o erro relativo e

∣x3 − x2

∣x3

= 0, 031240 < 0, 5× 10−1 = 0, 5× 10−2+1

o que indica que o aproximante tem 2 dıgitos significativos exatos.

4.6 O Metodo das Cordas

Sabe-se que se f(x) = 0 e uma equacao de primeiro grau em x entao pode ser resolvida

facilmente. O metodo das cordas produz resultados exatos se f(x) = 0 e uma equacao de primeiro

grau.

A ideia do metodo esta baseada na seguinte condicao: Se xk−1 e xk sao dois aproxi-

mantes consecutivos da raiz da equacao f(x) = 0, entao, denotando por

fk−1 ≡ f(xk−1) e fk ≡ f(xk),

substitui-se a funcao f(x) pela reta (ou corda) que passa pelos pontos (xk−1, fk−1) e (xk, fk) e

toma-se o ponto de intersecao dessa reta com o eixo x como o aproximante xk+1 da raiz.

Assim, se f(x) e aproximada por uma funcao de primeiro grau, entao

f(x) = a1x+ a0. (4.9)

Para obter a0 e a1, tem-se que impor as condicoes que os pontos (xk−1, fk−1) e (xk, fk)

satisfazem a equacao (4.9):

fk−1 = a1xk−1 + a0, (4.10)

Page 49: Apostila Metodos Numericos

4.6 O Metodo das Cordas 40

e

fk = a1xk + a0, (4.11)

Resolvendo as equacoes (4.10) e (4.11), obtem-se

a1 =fk − fk−1

xk − xk−1(4.12)

e

a0 =xkfk−1 − xk−1fk

xk − xk−1. (4.13)

A solucao da equacao

a1x+ a0 = 0 (4.14)

esta dada por

x = −a0

a1, (4.15)

e utilizando as equacoes (4.12) e (4.13), o aproximante xk+1 esta dado por

xk+1 =xk−1fk − xkfk−1

fk − fk−1, (4.16)

que tambem pode ser escrito como

xk+1 = xk −xk − xk−1

fk − fk−1fk. (4.17)

Os resultados podem ser organizados de acordo com o formato a seguir

k xk Erro:

∣xk − xk−1

∣xk

fk xk − xk−1 fk − fk−1

0 x0 - f0 - -

1 x1

∣x1 − x0

∣x1

f1 x1 − x0 f1 − f0

2 x2

∣x2 − x1

∣x2

f2 x2 − x1 f2 − f1...

......

......

...

Exemplo 4.5. Utilize o metodo das cordas para determinar uma raiz da equacao

f(x) = cos(x) − xex = 0

com 3 dıgitos significativos exatos.

Page 50: Apostila Metodos Numericos

4.7 O Metodo de Newton-Raphson 41

Considere as aproximacoes iniciais x0 = 0 e x1 = 1. O metodo tem que ser aplicado

ate conseguir um erro relativo

∣xk − xk−1

∣xk

< 0, 5× 10−3+1 = 0, 005.

Entao

k xk Erro:

∣xk − xk−1

∣xk

fk xk − xk−1 fk − fk−1

0 0 - 1 - -

1 1 1 −2.177980 1 −3.177980

2 0, 314665 2, 177980 0, 519871 −0, 685335 2, 697851

3 0, 446728 0, 295622 0, 203545 0, 132063 −0, 316326

4 0, 531706 0, 159821 −0, 042931 0, 084978 −0, 246476

5 0, 516904 0, 028635 0, 002593 −0, 014801 0, 045524

6 0, 517747 0, 001628 - - -

Entao o aproximante x6 = 0, 517747 tem 3 dıgitos significativos exatos. �

4.7 O Metodo de Newton-Raphson

O metodo de Newton-Raphson tambem esta baseada na ideia de substituir f(x) = 0

por uma equacao de primeiro grau.

A ideia do metodo esta baseada na seguinte condicao: Se xk e um aproximante da

raiz da equacao f(x) = 0, entao substitui-se a funcao f(x) pela reta que passa pelo ponto (xk, fk)

e cujo coeficiente angular tem o mesmo valor que a derivada da funcao no ponto xk, denotado por

f ′k ≡ f ′(xk). O aproximante xk+1 da raiz e tomado como o ponto de intersecao dessa reta com o

eixo x.

Assim, se f(x) e aproximada por uma funcao de primeiro grau, entao

f(x) = a1x+ a0. (4.18)

Para obter a0 e a1, tem-se que impor as condicoes que o ponto (xk, fk) satisfaz a

equacao (4.18):

fk = a1xk + a0, (4.19)

Page 51: Apostila Metodos Numericos

4.7 O Metodo de Newton-Raphson 42

e que

f ′k = a1. (4.20)

Resolvendo as equacoes (4.19) e (4.20), obtem-se

a1 = f ′k (4.21)

a0 = fk − xkf′k. (4.22)

A solucao da equacao

a1x+ a0 = 0 (4.23)

esta dada por

x = −a0

a1, (4.24)

e utilizando as equacoes (4.21) e (4.22), o aproximante xk+1 esta dado por

xk+1 = xk −fk

f ′k

. (4.25)

Pode-se dizer que este metodo e o caso limite do metodo das cordas quando xk−1 −→xk.

Os resultados podem ser arranjados de acordo com o formato a seguir

k xk Erro:

∣xk − xk−1

∣xk

fk f ′k

0 x0 - f0 f ′0

1 x1

∣x1 − x0

∣x1

f1 f ′1

2 x2

∣x2 − x1

∣x2

f2 f ′2

......

......

...

Exemplo 4.6. Utilize o metodo de Newton-Raphson para determinar uma raiz da equacao

f(x) = cos(x) − xex = 0

com 3 dıgitos significativos exatos.

Page 52: Apostila Metodos Numericos

4.7 O Metodo de Newton-Raphson 43

A derivada da funcao f(x) esta dada por

f ′(x) = −sen(x) − (x+ 1)ex

Considere a aproximacao inicial x0 = 0. O metodo tem que ser aplicado ate conseguir

um erro relativo∣

∣xk − xk−1

∣xk

< 0, 5× 10−3+1 = 0, 005.

Entao

k xk Erro:

∣xk − xk−1

∣xk

fk f ′k

0 0 - 1 −1

1 1 1 −2.177980 −6, 278034

2 0, 653079 0, 531207 −0, 460642 −3, 783942

3 0, 531343 0, 229110 −0, 041803 −3.111838

4 0, 517910 0, 025938 −0, 000464 −3.042901

5 0, 517757 0, 000295 - -

Entao o aproximante x5 = 0, 517757 tem 4 dıgitos significativos exatos. �

Exemplo 4.7. Encontre a aproximacao inicial x0 para encontrar 1N , onde e um numero inteiro

positivo, mediante o metodo de Newton de maneira que seja atingida a convergencia.

A equacao a ser resolvida pode ser escrita como

f(x) =1

x−N = 0.

A equacao iterativa de Newton fica

xk+1 = xk −f(xk)

f ′(xk)= xk −

1xk−N− 1x2

k

= xk + x2k

(

1

xk−N

)

= 2xk −Nx2k

Desenhe os graficos de y = x e y = 2x−Nx2. A segunda curva e a parabola

(

x− 1

N

)2

= − 1

N

(

y − 1

N

)

.

Os graficos estao dados na figura 4.5. O ponto de intersecao destas duas curvas e o valor requerido,

1N . A partir da figura 4.5, encontra-se que qualquer aproximacao inicial fora do intervalo 0 < x0 <

Page 53: Apostila Metodos Numericos

4.8 A Velocidade de Convergencia 44

2N diverge. Se x0 = 0, a iteracao nao converge a 1

N mas permanece sempre zero. Isto mostra a

importancia da escolha de uma aproximacao inicial adequada.

Figura 4.5 Escolha da aproximacao inicial

4.8 A Velocidade de Convergencia

Agora, estuda-se a velocidade a qual o metodo iterativo converge se a aproximacao

inicial a raiz esta suficientemente proximo a raiz desejada.

Definicao 4.6. Um metodo iterativo e dito de ordem p ou tem a velocidade de convergencia

p, se p e o maior numero real positivo para o qual existe uma constante finita C 6= 0 tal que

∣ǫk+1

∣ ≤ C∣

∣ǫk∣

p(4.26)

onde ǫk = xk − ξ e o erro absoluto na k-esima iterada. A constante C e chamada a constante

assintotica de erro e geralmente depende das derivadas de f(x) em x = ξ.

Agora, enunciam-se os resultados correspondentes para os metodos da bissecao, das

cordas e de Newton:

Teorema 4.2. A velocidade de convergencia do metodo da bissecao e p = 1 e a constante

assintotica de erro e C = 12 .

Page 54: Apostila Metodos Numericos

4.9 Eficiencia de um Metodo 45

Teorema 4.3. A velocidade de convergencia do metodo das cordas e p = 1 +√

52 e a constante

assintotica de erro e C =f ′′(ξ)2f ′(ξ)

.

Teorema 4.4. A velocidade de convergencia do metodo de Newton e p = 2 e a constante assintotica

de erro e C =f ′′(ξ)2f ′(ξ)

.

4.9 Eficiencia de um Metodo

Definicao 4.7. O ındice de eficiencia de um metodo iterativo no sentido de Traub define-se

pela equacao

E∗ = p1/n (4.27)

onde p e a ordem do metodo e n e o numero total de avaliacoes da funcao f(x) e suas derivadas

em cada passo da iteracao.

Obviamente, se o valor do ındice e maior, entao o metodo e mais eficiente. A tabela

a seguir da o ındice de eficiencia dos metodos discutidos nas secoes previas.

Metodo n p E∗

Bissecao 1 1 1

Cordas 1 1,62 1,62

Newton 2 2 1,41

4.10 Equacoes Polinomiais

Os metodos discutidos nas secoes previas podem ser aplicados diretamente para obter

as raızes de uma equacao polinomial de grau n

pn(x) = anxn + an−1x

n−1 + · · ·+ a1x+ a0 = 0 (4.28)

onde an 6= 0, an−1, . . . , a1, a0 sao numeros reais. Porem, se o objetivo e determinar todas as raızes

(reais e complexas) de uma equacao polinomial, entao e vantajoso do ponto de vista computacional

utilizar os metodos diretos de solucao.

E util saber a seguinte informacao com relacao as raızes:

(i) O numero exato de raızes reais e complexas junto com as respectivas multiplicidades.

Page 55: Apostila Metodos Numericos

4.10 Equacoes Polinomiais 46

(ii) Um intervalo em que cada raiz se encontre.

Para determinar intervalos onde as raızes reais estao localizadas, pode-se utilizar o

seguinte teorema

Teorema 4.5. (Teorema de Lagrange) Seja a equacao polinomial

pn(x) = anxn + an−1x

n−1 + · · ·+ a1x+ a0 = 0

onde an > 0. Entao uma cota superior para as raızes positivas da equacao polinomial esta dada

por

L = 1 + n−k

B

an(4.29)

onde

B =

0, se aj ≥ 0, ∀j = 0, 1, . . . , n− 1

max{

|aj | : aj < 0}

, se aj < 0, para algum j = 0, 1, . . . , n− 1

e k e a maior potencia de x correspondente a um coeficiente aj negativo.

Para estabelecer as outras cotas superiores das raızes, positivas e negativas, o teorema

de Lagrange pode ser aplicado nos polinomios

xnpn(1/x) resultando a cota de Lagrange L1; (4.30)

pn(−x) resultando a cota de Lagrange L2; (4.31)

e

xnpn(−1/x) resultando a cota de Lagrange L3. (4.32)

Entao, todas as raızes positivas do polinomio encontram-se no intervalo

[

1

L1, L

]

,

e as raızes negativas encontram-se no intervalo

[

−L2,−1

L3

]

.

Exemplo 4.8. Seja a equacao polinomial

pn(x) = x4 − 7x3 − 9x2 + 30x+ 31 = 0

Page 56: Apostila Metodos Numericos

4.10 Equacoes Polinomiais 47

entao

xnpn(1/x) = 31x4 + 30x3 − 9x2 − 7x+ 1

pn(−x) = x4 + 7x3 − 9x2 − 30x+ 31

xnpn(−1/x) = 31x4 − 30x3 − 9x2 + 7x+ 1

Entao

L = 1 +4−3

9

1= 10

L1 = 1 +4−2

9

31= 1, 5388 =⇒ 1

L1= 0, 6498

L2 = 1 +4−2

30

1= 6, 4772 =⇒ −L2 = −6, 4772

L3 = 1 +4−3

30

31= 1, 9677 =⇒ − 1

L3= −0, 5081

As raızes positivas, se existirem, encontram-se no intervalo

[

1

L1, L

]

= [0, 6498 , 10]

e as raızes negativas, se existirem, encontram-se no intervalo,

[

−L2,−1

L3

]

= [−6, 4772 , −0, 5081].

Definicao 4.8. Quando em um polinomio (os termos escritos em ordem decrescente) um sinal +

segue a um sinal + ou um sinal − segue a um sinal −, diz-se que ocorreu uma continuacao ou

permanencia de sinais. Mas se um sinal + segue a um sinal − ou um sinal − segue a um sinal

de +, diz-se que ocorreu uma mudanca de sinais.

Exemplo 4.9. O polinomio

p5(x) = 8x5 + 12x4 − 10x3 + 17x2 − 18x+ 5

tem quatro mudancas de sinais e uma continuacao de sinais.

Teorema 4.6. (Regra de sinais de Descartes) O numero de raızes reais positivas da equacao

polinomial pn(x) = 0 e igual ao numero de mudancas de sinais em pn(x) ou este numero menos

um numero par. O numero de raızes reais negativas da equacao polinomial pn(x) = 0 e igual ao

numero de mudancas de sinais em pn(−x) ou este numero menos um numero par.

Page 57: Apostila Metodos Numericos

4.10 Equacoes Polinomiais 48

Exemplo 4.10. A equacao polinomial

p5(x) = 8x5 + 12x4 − 10x3 + 17x2 − 18x+ 5 = 0

tem quatro mudancas de sinais, e portanto, tem 4, 2 ou 0 raızes reais positivas. O polinomio

p5(−x) = −8x5 + 12x4 + 10x3 + 17x2 + 18x+ 5

tem uma mudanca de sinais e portanto, 1 raiz real negativa.

Em geral, o teorema 4.6 nao fornece o numero exato de raızes reais. O numero exato

de raızes reais de uma equacao polinomial pode ser encontrado mediante o teorema de Sturm.

Definicao 4.9. Seja p(x) = 0 uma equacao polinomial de grau n com as n raızes simples. Denote

por s0(x) = p(x) e s1(x) = p′(x). Denote por s2(x) o negativo do resto de dividir s0(x) por s1(x),

s3(x) o negativo do resto de dividir s1(x) por s2(x), e assim por diante, ate chegar em sk(x) = c 6= 0

onde c e uma constante. Obtem-se uma sequencia de funcoes

s0(x), s1(x), . . . , sk(x)

denominada as funcoes de Sturm ou a sequencia de Sturm.

Se p(x) = 0 e uma equacao polinomial de grau n com raiz multipla, obtem-se como

antes, t0(x) = p(x) e t1(x) = p′(x), t2(x) o negativo do resto de dividir t0(x) por t1(x), t3(x) o

negativo do resto de dividir t1(x) por t2(x), e assim por diante, ate chegar em tk(x) que, neste

caso, nao sera constante, mas o maior divisor comum de t0(x) e t1(x). Agora, a sequencia de

Sturm e obtida dividindo cada tj(x) por tk(x):

s0(x) =t0(x)

tk(x), s1(x) =

t1(x)

tk(x), . . . , sk−1(x) =

tk−1(x)

tk(x), sk(x) = 1

Teorema 4.7. (Teorema de Sturm) O numero de raızes reais da equacao polinomial pn(x) = 0

no intervalo [a, b] e igual a diferenca entre o numero de mudancas de sinal na sequencia de Sturm

em x = a e x = b, sempre que f(a) 6= 0 e f(b) 6= 0.

Outro teorema importante e enunciado a seguir.

Teorema 4.8. (Teorema Fundamental da Algebra) A equacao polinomial

pn(x) = anxn + an−1x

n−1 + · · ·+ a1x+ a0 = 0

Page 58: Apostila Metodos Numericos

4.10 Equacoes Polinomiais 49

onde an 6= 0, an−1, . . .a1, a0 sao numeros reais, tem exatamente n raızes reais e/ou complexas

incluindo a multiplicidade.

Exemplo 4.11. Considere a equacao polinomial

p(x) = x4 − 7x3 − 9x2 + 30x+ 31 = 0.

A seguir, aplica-se a regra de Descartes.

O numero de mudancas de sinal para p(x) e 2. Portanto, a equacao polinomial p(x) =

0 tem 2 ou 0 raızes positivas.

Tem-se que p(−x) = p(x) = x4 + 7x3 − 9x2 − 30x + 31. O numero de mudancas de

sinal para p(−x) e 2. Portanto, a equacao polinomial p(x) = 0 tem 2 ou 0 raızes negativas.

Exemplo 4.12. Considere a equacao polinomial

p(x) = x4 − 7x3 − 9x2 + 30x+ 31 = 0.

A sequencia de Sturm e

s0(x) = x4 − 7x3 − 9x2 + 30x+ 31;

s1(x) = 4x3 − 21x2 − 18x+ 30;

s2(x) = 13, 6875x2 − 14, 625x− 44, 125;

s3(x) = 22, 97666854x+ 23, 92043535;

s4(x) = 14, 06425678.

Os sinais da sequencias de Sturm que acontecem nas cotas de Lagrange sao mostradas

na seguinte tabela

−L2 = −6, 4772 − 1L3

= −0, 5081 1L1

= 0, 6498 L = 10

s0(x) > 0 > 0 > 0 > 0

s1(x) < 0 > 0 > 0 > 0

s2(x) > 0 < 0 < 0 > 0

s3(x) < 0 > 0 > 0 > 0

s4(x) > 0 > 0 > 0 > 0

A diferenca entre o numero de mudancas de sinal na sequencia de Sturm em x = −L2

e x = − 1L3

e 4-2 = 2. Portanto, existem duas raızes negativas.

Page 59: Apostila Metodos Numericos

4.11 O Metodo de Birge-Vieta 50

A diferenca entre o numero de mudancas de sinal na sequencia de Sturm em x = 1L1

e x = L e e 2-0 = 2. Portanto, existem duas raızes positivas.

De acordo com o Teorema Fundamental da Algebra, a equacao polinomial proposta

tem quatro raızes reais e nenhuma raiz complexa.

O metodo de Newton pode ser adaptado para encontrar raızes reais de uma equacao

polinomial. Este e o tema das proximas secoes.

4.11 O Metodo de Birge-Vieta

Dada a equacao polinomial

pn(x) = anxn + an−1x

n−1 + · · ·+ a1x+ a0 = 0,

o metodo de Newton pode ser escrito como

xk+1 = xk −pn(xk)

p′n(xk), k = 0, 1, 2, . . . (4.33)

onde x0 e uma aproximacao inicial da raiz requerida. O calculo dos valores pn(xk) e p′n(xk) em

cada iteracao pode ser efetuado mediante o esquema de Ruffini. Esta e a ideia basica do metodo

de Birge-Vieta.

O esquema pratico para calcular os valores de pn(xk) e p′n(xk) e como segue. Dispoem-

se os coeficientes de pn(x) de acordo com a ordem crescente dos termos e e feita a divisao por (x−xk)

duas vezes consecutivas:

an an−1 · · · a2 a1 a0

xk xkbn · · · xkb3 xkb2 xkb1

bn bn−1 · · · b2 b1 b0

xk xkcn · · · xkc3 xkc2

cn cn−1 · · · c2 c1

e o metodo pode ser escrito como

xk+1 = xk −b0c1, k = 0, 1, 2, . . . (4.34)

onde em cada iteracao sao calculados os valores b0 e c1.

Page 60: Apostila Metodos Numericos

4.12 O Metodo de Bairstow 51

Exemplo 4.13. Efetuar duas iteracoes do metodo de Birge-Vieta para encontrar a menor raiz

positiva da equacao

p(x) = x4 − 3x3 + 3x2 − 3x+ 2 = 0

Considere a aproximacao inicial x0 = 0, 5. Efetua-se uma iteracao do metodo

1 −3 3 −3 2

0, 5 0, 5 −1, 25 0, 875 −1, 0625

1 −2, 5 1, 75 −2, 125 0, 9375

0, 5 0, 5 −1, 0 0, 375

1 −2, 0 0, 75 −1, 75

obtem-se entao

x1 = x0 −b0c1

= 0, 5 +0, 9375

1, 75= 1, 0356

Mais uma vez, efetua-se uma iteracao do metodo

1 −3 3 −3 2

1, 0356 1, 0356 −2, 0343 1, 0001 −2, 0711

1 −1, 9644 0, 9657 −1, 9999 −0, 0711

1, 0356 1, 0356 −0, 9619 0, 0039

1 −0, 9288 0, 0038 −1, 9960

logo,

x2 = x1 −b0c1

= 1, 0356− 0, 0711

1, 9960= 0, 999979

A raiz exata e 1, 0.

4.12 O Metodo de Bairstow

O metodo de Bairstow extrai um fator quadratico da forma x2 +αx+β do polinomio

pn(x) = anxn + an−1x

n−1 + · · ·+ a1x+ a0,

gerando uma sequencia de polinomios quadraticos x2 +α0x+β0, x2 +α1x+ β1, . . .x2 +αkx+βk.

Page 61: Apostila Metodos Numericos

4.12 O Metodo de Bairstow 52

Para dividir o polinomio pn(x) por

x2 + αkx+ βk

pode-se utilizar uma variante do metodo de Ruffini

an an−1 an−2 · · · a2 a1 a0

−αk −αkbn −αkbn−1 · · · αkb3 −αkb2 −αkb1

−βk −βkbn · · · −βkb4 −βkb3 −βkb2

bn bn−1 bn−2 · · · b2 b1 b0

Entao, o quociente e o polinomio

qn(x) = bnxn−2 + bn−1x

n−3 + · · ·+ b3x+ b2

e o resto e

r(x) = b1x+ (b0 + αkb1)

Exemplo 4.14. Divida o polinomio p(x) = x5 + 2x4 − 3x + 2 pelo polinomio quadratico q(x) =

x2 + 3x− 1.

O esquema de divisao seria

1 2 0 0 −3 2

−3 −3 3 −12 39 −120

1 1 −1 4 −13

1 −1 4 −13 40 −131

Entao, o quociente e o polinomio q(x) = x3 − x2 + 4x− 13 e o resto e r(x) = 40x− 11.

O metodo de Bairstow utiliza o esquema de divisao para gerar um polinomio quadratico

x2 + αk+1x+ βk+1 que aproxima o verdadeiro fator x2 + νx+ ξ do polinomio pn(x); isto e feito a

Page 62: Apostila Metodos Numericos

4.13 Problemas Propostos 53

partir de um polinomio quadratico x2 + αkx+ βk mediante o esquema

an an−1 an−2 · · · a2 a1 a0

−αk −αkbn −αkbn−1 · · · αkb3 −αkb2 −αkb1

−βk −βkbn · · · −βkb4 −βkb3 −βkb2

bn bn−1 bn−2 · · · b2 b1 b0

−αk −αkcn−1 −αkcn−2 · · · αkc2 −αkc1

−βk −βkcn−1 · · · −βkc3 −βkc2

cn−1 cn−2 cn−3 · · · c1 c0

Logo, considere

∆αk = − b0c2 − b1c1c21 − c2(c0 − b1)

. (4.35)

e

∆βk = −b1(c0 − b1)− b0c1c21 − c2(c0 − b1)

. (4.36)

Os valores melhorados αk+1 e βk+1 estao dados por

αk+1 = αk + ∆αk (4.37)

e

βk+1 = βk + ∆βk. (4.38)

4.13 Problemas Propostos

1. Calcular pelo menos uma raiz real das equacoes com um erro relativo menor que 10−1

pelo metodo da bissecao

(a) x+ ln(x) = 0

(b) 3x− cos(x) = 0

(c) x+ 2 cos(x) = 0

2. Calcular pelo menos uma raiz real das equacoes com um erro relativo menor que 10−2

pelo metodo das cordas

(a) x2 − ln(x) − 5 = 0

(b) x3 − e2x + 3 = 0

(c) sen(x)− ln(x) = 0

Page 63: Apostila Metodos Numericos

4.13 Problemas Propostos 54

3. Calcular pelo menos uma raiz real das equacoes com um erro relativo menor que 10−3

pelo metodo de Newton

(a) 0, 1x3 − e2x + 2 = 0

(b) sen(x)− ln(x) = 0

(c) ecos(x) + x3 − 3 = 0

4. Faca uma tabela de valores para a funcao f(x) = cos(x) + 2ex−1 − 3 para os valores

x = 1, 0 1, 1 1, 2 1, 6 1, 4 1, 5. Utilizando esta tabela,

(a) Aplique o metodo da bissecao para encontrar a unica raiz real da equacao

f(x) = cos(x) + 2ex−1 − 3 = 0

com 3 dıgitos significativos exatos;

(b) Aplique o metodo das cordas para encontrar a unica raiz real da mesma equacao

com 3 dıgitos significativos exatos, utilizando como aproximacoes iniciais os val-

ores onde a funcao muda de sinal na tabela;

(c) Aplique o metodo de Newton para encontrar a unica real renl da equacao com 3

dıgitos significativos exatos, utilizando x0 = 1, 4.

5. Desenhe aproximadamente a funcao iterativa y = φ(x) junto com a reta y = x para

estudar a convergencia do metodo de Newton xk+1 = φ(

xk

)

para as seguintes equacoes

(a) f(x) = x2 −N ,

(b) f(x) = x− Nx

onde N e um inteiro positivo.

6. Desenhe aproximadamente a funcao iterativa y = φ(x) junto com a reta y = x para

estudar a convergencia do metodo iterativo xk+1 = φ(

xk

)

para as seguintes funcoes

iterativas

(a) φ(x) = 23x+ N

3x2

(b) φ(x) = x+ Nx

7. Calcule as cotas de Lagrange para as raızes reais negativas e positivas das seguintes

equacoes polinomiais:

(a) p(x) = x5 − 3x+ 1 = 0

Page 64: Apostila Metodos Numericos

4.13 Problemas Propostos 55

(b) p(x) = x5 − 3x− 1 = 0

(c) p(x) = 2x4− 20x3 + 70x2

− 100x + 47 = 0

(d) p(x) = 4x4 − 16x3 − 28x2 + 88x+ 95 = 0

8. Calcule a sequencia de Sturm para os polinomios da parte (a) e determine de maneira

exata quantas raızes positivas e negativas possui cada equacao polinomial.

9. Utilize o metodo de Birge-Vieta para calcular, com dois dıgitos significativos exatos, a

menor raiz positiva, se existir, das equacoes polinomiais da parte (a), utilizando como

aproximacao inicial x0 a menor cota positiva de Lagrange.

10. Divida os seguintes polinomios pela tecnica de divisao do metodo de Bairstow:

(a) p(x) = x6 − x5 + 7x3 + 8, d(x) = x2 + 2x− 1

(b) p(x) = x6 + 3x5 − x4 + 8x, d(x) = x2 + x+ 3

Page 65: Apostila Metodos Numericos

5 SISTEMAS DE EQUACOES ALGEBRICAS LINEARES

5.1 Introducao

Considere um sistema de m equacoes lineares algebricas com n incognitas

a11x1 + a12x2 + · · ·+ a1nxn = b1

a21x1 + a22x2 + · · ·+ a2nxn = b2

...

am1x1 + am2x2 + · · ·+ amnxn = bm

(5.1)

onde aij sao valores escalares conhecidos, bi, i = 1, . . . ,m sao valores conhecidos e xi, i = 1, . . . , n

sao as incognitas a serem determinadas.

Introduz-se a seguinte notacao e definicoes

A matriz de ordem m× naij elemento na i-esima linha e j-esima coluna da matriz A

A−1 inversa de A

AT transposta de A

det(A) = |A| determinante de A

Mij menor de aij em A

Cij cofator de aij em A

0 matriz nula

I matriz identidade

D matriz diagonal de ordem n

L matriz triangular inferior de ordem n

U matriz triangular superior de ordem n

P matriz de permutacao

x vetor coluna com elementos xi, i = 1, . . . , n

O sistema de equacoes (5.1) pode ser escrito de maneira matricial como

Ax = b, (5.2)

56

Page 66: Apostila Metodos Numericos

5.2 Metodos Diretos 57

onde

A =

a11 a12 . . . a1n

a21 a22 . . . a2n

......

. . ....

am1 am2 . . . amn

, x =

x1

x2

...

xn

e b =

b1

b2...

bm

.

Os metodos de solucao de um sistema de equacoes algebricas lineares (5.1) podem ser

classificados de maneira ampla em dois tipos:

(i) Metodos Diretos: Estes metodos produzem a solucao exata apos um numero finito de

passos (sem levar em conta os erros de arredondamento).

(ii) Metodos Iterativos: Estes metodos originam uma sequencia de solucoes aproximadas,

que converge quando o numero de passos tende a infinito.

Os metodos diretos e iterativos estudados aqui serao aplicados para sistemas quadra-

dos, isto e, no caso que m = n, ou seja, o numero de equacoes coincide com o numero de incognitas.

5.2 Metodos Diretos

O sistema de equacoes (5.1) pode ser resolvido diretamente pela regra de Cramer.

5.2.1 A Regra de Cramer

Tem-se que

xi =|Bi||A| , i = 1, 2, . . . , n, (5.3)

onde |Bi| e o determinante da matrix obtida por substituir a i-esima coluna de A pelo vetor b.

O vetor x esta dado por

x =1

|A|

C11 C21 . . . Cn1

C12 C22 . . . Cn2

......

. . ....

C1n C2n . . . Cnn

b1

b2...

bn

=1

|A|adj(A)b = A−1b. (5.4)

onde Cij e o cofator correspondente ao elemento aij da matriz A. Esta expressao e equivalente a

equacao (5.3). A regra de Cramer fornece um metodo de obter a solucao imediatamente, mas estas

Page 67: Apostila Metodos Numericos

5.2 Metodos Diretos 58

solucoes envolvem n + 1 determinantes de ordem n. Esta caracterıstica torna a regra de Cramer

impraticavel na resolucao de sistemas.

Exemplo 5.1. Resolva o sistema

x1 + 2x2 − x3 = 2

3x1 + 6x2 + x3 = 1

3x1 + 3x2 + 2x3 = 3

utilizando a regra de Cramer.

A solucao das equacoes podem ser escritas como

xi =|Bi||A| , i = 1, 2, 3,

onde

|B1| =

2 2 −1

1 6 1

3 3 2

, |B2| =

1 2 −1

3 1 1

3 3 2

, |B3| =

1 2 2

3 6 1

3 3 3

, |A| =

1 2 −1

3 6 1

3 3 2

ou

|B1| = 35, |B2| = −13, |B3| = −15, |A| = 12

que fornece a solucao

x1 =35

12, x2 = −13

12, x3 = −15

12.

Exemplo 5.2. Resolva o sistema

x1 + 2x2 + 2x3 = 6

x1 + 2x2 + x3 = 1

2x1 + x2 + x3 = 4

utilizando a equacao (5.4).

Tem-se que

|A| =

1 2 2

1 2 1

2 1 1

= −3.

Page 68: Apostila Metodos Numericos

5.2 Metodos Diretos 59

e

adj (A) =

1 0 −2

1 −3 1

−3 3 0

.

Assim, utilizando a equacao (5.4), obtem-se

x =1

−3

1 0 −2

1 −3 1

−3 3 0

6

1

4

=

23

−73

5

.

5.2.2 Eliminacao Gaussiana

Outro metodo direto e o metodo de eliminacao gaussiana. A ideia principal consiste

em transformar o sistema Ax = b em um sistema equivalente cuja matriz associada e do tipo

triangular superior. Isto pode ser feito mediante algumas operacoes elementares de matrizes:

troca de linhas e soma de uma linha com um multiplo escalar de outra linha. Se acontecer troca

de linhas, o processo de eliminacao denomina-se com pivoteamento parcial e se nao acontecer, o

processo denomina-se sem pivoteamento.

A ideia do metodo e transformar a matriz aumentada

(

A...b

)

=

a11 a12 . . . a1n

... b1

a21 a22 . . . a2n

... b2...

.... . .

......

...

an1 an2 . . . ann

... bn

na matriz

(

A(n)...b(n)

)

=

a(n)11 a

(n)12 . . . a

(n)1n

... b(n)1

0 a(n)22 . . . a

(n)2n

... b(n)2

......

. . ....

......

0 0 . . . a(n)nn

... b(n)n

mediante a troca de linhas e soma de uma linha com um multiplo escalar de outra linha. A

ultima matriz representa um sistema triangular superior de equacoes lineares que pode ser resolvido

facilmente mediante a tecnica denominada retro-substituicao.

Page 69: Apostila Metodos Numericos

5.2 Metodos Diretos 60

Exemplo 5.3. Resolver o sistema de equacoes lineares

10x1 + x2 − 5x3 = 1

−20x1 + 3x2 + 20x3 = 2

5x1 + 3x2 + 5x3 = 6

mediante a eliminacao gaussiana sem pivoteamento.

A matriz aumentada do sistema e transformada na forma triangular superior:

10 1 −5 1

−20 3 20 2

5 3 5 6

l2−−20

10l1−−−−−−→

l3−510

l1

10 1 −5 1

0 5 10 4

0 5/2 15/2 11/2

l3−5/2

5l2−−−−−→

10 1 −5 1

0 5 10 4

0 0 5/2 7/2

(5.5)

e isto significa que o sistema original e equivalente ao sistema triangular superior

10x1 + x2 − 5x3 = 1

5x2 + 10x3 = 4

5/2x3 = 7/2

que, utilizando a retro-substituicao, fornece a solucao

x3 = (7/2)/(5/2) = 7/5

x2 = (−10x3 + 4)/5 = −2

x1 = (−x2 + 5x3 + 1)/10 = 1.

Os elementos 10 na primeira matriz e 5 na segunda matriz sao denominados os pivos da matriz

correspondente.

Quando e utilizado o procedimento de pivoteamento parcial, e recomendavel, por

questoes de minimizar o erro cometido, fazer uma troca de equacoes de maneira que o pivo seja

aquele com o maior valor absoluto entre o elemento diagonal aii e os elementos correspondentes

da mesma coluna aij com j > i.

Exemplo 5.4. Resolver o sistema de equacoes lineares

10x1 + x2 − 5x3 = 1

−20x1 + 3x2 + 20x3 = 2

5x1 + 3x2 + 5x3 = 6

Page 70: Apostila Metodos Numericos

5.2 Metodos Diretos 61

mediante a eliminacao gaussiana com pivoteamento parcial.

A matriz aumentada do sistema e transformada na forma triangular superior:

10 1 −5 1

−20 3 20 2

5 3 5 6

l1↔l2−−−→

−20 3 20 2

10 1 −5 1

5 3 5 6

l2−10

−20l1−−−−−−→

l3−5

−20l1

−20 3 20 2

0 5/2 5 2

0 15/4 10 13/2

l2↔l3−−−→

−20 3 20 2

0 15/4 10 13/2

0 5/2 5 2

l3−5/2

15/4l2

−−−−−−→

−20 3 20 2

0 15/4 10 13/2

0 0 −5/3 −7/3

e isto significa que o sistema original e equivalente ao sistema triangular superior

−20x1 + 3x2 + 20x3 = 1

15/4x2 + 10x3 = 13/2

−5/3x3 = −7/3

que, utilizando a retro-substituicao, fornece a solucao

x3 = (−7/3)/(−5/3) = 7/5

x2 = (−10x3 + 13/2)/(15/4) = −2

x1 = (−3x2 − 20x3 + 1)/(−20) = 1.

5.2.3 Metodo de Decomposicao LU

A ideia deste metodo consiste em conseguir uma fatoracao da matriz A como A = LU

onde L e uma matriz triangular inferior e U, uma matriz triangular superior. Entao, neste caso,

o sistema

Ax = b

e equivalente a dois sistemas triangulares

Ly = b

Ux = y

O primeiro sistema pode ser resolvido pela tecnica denominada substituicao para frente e o segundo

sistema, como antes, pode ser resolvido por retro-substituicao.

Page 71: Apostila Metodos Numericos

5.2 Metodos Diretos 62

O metodo de decomposicao LU tambem pode utilizar o pivoteamento parcial. Neste

caso, a montagem das matrizes L e U e feita utilizando as matrizes de permutacao, mas isto nao

sera visto aqui.

A tecnica de fatoracao da matriz A e similar ao processo de eliminacao. Isto pode ser

ilustrado no exemplo a seguir.

Exemplo 5.5. Resolver o sistema de equacoes lineares

10x1 + x2 − 5x3 = 1

−20x1 + 3x2 + 20x3 = 2

5x1 + 3x2 + 5x3 = 6

mediante a decomposicao LU sem pivoteamento.

A matriz do sistema e transformada na forma triangular superior:

10 1 −5

−20 3 20

5 3 5

l2−−20

10l1−−−−−−→

l3−510

l1

10 1 −5

0 5 10

0 5/2 15/2

l3−5/2

5l2−−−−−→

10 1 −5

0 5 10

0 0 5/2

(5.6)

Entao, a matriz U e a ultima matriz obtida

U =

10 1 −5

0 5 10

0 0 5/2

e a matriz L esta formada por elementos diagonais unitarios e os elementos restantes pelos mul-

tiplicadores, l21 = −2010 = −2, l31 = 5

10 = 12 e l32 =

5/25 = 1

2 , ou seja,

L =

1 0 0

−2 1 0

1/2 1/2 1

.

O sistema Ly = b pode ser escrito como

y1 = 1

− 2y1 + y2 = 2

1/2y1 + 1/2y2 + y3 = 6

Page 72: Apostila Metodos Numericos

5.3 Metodos Iterativos 63

cuja solucao e

y1 = 1

y2 = 2y1 + 2 = 4

y3 = −1/2y1 − 1/2y2 + 6 = 7/2.

O sistema Ux = y pode ser escrito como

10x1 + x2 − 5x3 = 1

5x2 + 10x3 = 4

5/2x3 = 7/2

que fornece a solucao

x3 = (7/2)/(5/2) = 7/5

x2 = (−10x3 + 4)/5 = −2

x1 = (−x2 + 5x3 + 1)/(−10) = 1.

5.3 Metodos Iterativos

O sistema

Ax = b

pode ser resolvido numericamente mediante a construcao de um metodo iterativo. Suponha que

a matriz A pode ser escrita como a diferenca de duas outras matrizes A = S −T. Neste caso, o

sistema original pode ser escrito como

Sx = Tx + b

que origina o metodo iterativo

Sx(k+1) = Tx(k) + b (5.7)

onde em cada iteracao e gerado o vetor x(k+1) a partir do vetor x(k) mediante a equacao recursiva

(5.7) comecando com um vetor inicial x(0).

A equacao recursiva (5.7), no caso que S seja uma matriz nao singular, pode ser escrita

como

x(k+1) = S−1Tx(k) + S−1b. (5.8)

Page 73: Apostila Metodos Numericos

5.3 Metodos Iterativos 64

5.3.1 Metodo de Jacobi

Quando a matriz S e a parte diagonal de A, o metodo recursivo (5.7) e denominado

metodo de Jacobi.

Exemplo 5.6. Resolver o sistema

3x1 + 2x2 = 5

2x2 + x3 = 3

x1 + 2x3 = 3

mediante o metodo de Jacobi.

Neste caso,

A =

3 2 0

0 2 1

1 0 2

, S =

3 0 0

0 2 0

0 0 2

, T =

0 −2 0

0 0 −1

−1 0 0

.

Logo,

S−1 =

1/3 0 0

0 1/2 0

0 0 1/2

, S−1T =

0 −2/3 0

0 0 −1/2

−1/2 0 0

,S−1b =

5/3

3/2

3/2

e portanto a equacao iterativa (5.8) fica

x(k+1)1

x(k+1)2

x(k+1)3

=

0 −2/3 0

0 0 −1/2

−1/2 0 0

x(k)1

x(k)2

x(k)3

+

5/3

3/2

3/2

ou,

x(k+1)1 =

−2x(k)2 + 5

3

x(k+1)2 =

−x(k)3 + 3

2

x(k+1)3 =

−x(k)1 + 3

2.

Estas ultimas tres equacoes recursivas podem ser obtidas diretamente do sistema original, botando

em evidencia x1 da primeira equacao, x2 da primeira equacao e x3 da primeira equacao. Este

procedimento e muito pratico e evita o tratamento matricial da equacao (5.8).

Page 74: Apostila Metodos Numericos

5.3 Metodos Iterativos 65

Os criterios de parada mais comumente utilizados sao a determinacao do maior erro

absoluto ‖x(k+1) − x(k)‖, a determinacao do maior erro relativo‖x(k+1) − x(k)‖‖x(k+1)‖ e o numero pre-

determinado de iteracoes. Neste caso, ‖a‖ e qualquer norma vetorial.

A seguinte tabela mostra os resultados das primeiras cinco iteracoes para x(0) =

0

0

0

j x(j)1 x

(j)2 x

(j)3

0 0 0 0

1 5/3 3/2 3/2

2 2/3 3/4 2/3

3 7/6 7/6 7/6

4 8/9 11/12 11/12

5 19/18 25/24 19/18...

......

...

e pode-se observar que a solucao vai convergindo para o vetor

1

1

1

que e a solucao exata do

sistema.

Exemplo 5.7. Resolver o sistema

3x1 + 2x2 + x3 = 6

2x2 + 3x3 = 5

2x1 + 2x3 = 4

mediante o metodo de Jacobi.

Neste caso,

A =

3 2 1

0 2 3

2 0 2

, S =

3 0 0

0 2 0

0 0 2

, T =

0 −2 −1

0 0 −3

−2 0 0

.

Page 75: Apostila Metodos Numericos

5.3 Metodos Iterativos 66

Logo,

S−1 =

1/3 0 0

0 1/2 0

0 0 1/2

, S−1T =

0 −2/3 −1/3

0 0 −3/2

−1 0 0

,S−1b =

2

5/2

2

e portanto a equacao iterativa (5.8) fica

x(k+1)1

x(k+1)2

x(k+1)3

=

0 −2/3 −1/3

0 0 −3/2

−1 0 0

x(k)1

x(k)2

x(k)3

+

2

5/2

2

ou,

x(k+1)1 =

−2x(k)2 + x

(k)3 + 6

3

x(k+1)2 =

−3x(k)3 + 5

2

x(k+1)3 =

−2x(k)1 + 4

2.

A seguinte tabela mostra os resultados das primeiras cinco iteracoes para x(0) =

0

0

0

j x(j)1 x

(j)2 x

(j)3

0 0 0 0

1 2 5/2 2

2 -1/3 -1/2 0

3 7/3 5/2 7/3

4 -4/9 -1 -1/3

5 25/9 3 22/9

......

......

e pode-se observar que as iteradas nao convergem para solucao exata

1

1

1

do sistema.

Page 76: Apostila Metodos Numericos

5.3 Metodos Iterativos 67

5.3.2 Metodo de Gauss-Seidel

Quando a matriz S e a parte triangular inferior de A, o metodo recursivo (5.7) e

denominado metodo de Gauss-Seidel.

Exemplo 5.8. Resolver o sistema

3x1 + 2x2 = 5

2x2 = 3

x1 + 2x3 = 3

mediante o metodo de Gauss-Seidel.

Neste caso,

A =

3 2 0

0 2 1

1 0 2

, S =

3 0 0

0 2 0

1 0 2

, T =

0 −2 0

0 0 −1

0 0 0

.

Logo,

S−1 =

1/3 0 0

0 1/2 0

−1/6 0 1/2

, S−1T =

0 −2/3 0

0 0 −1/2

0 1/3 0

,S−1b =

5/3

3/2

2/3

e portanto a equacao iterativa (5.8) fica

x(k+1)1

x(k+1)2

x(k+1)3

=

0 −2/3 0

0 0 −1/2

0 1/3 0

x(k)1

x(k)2

x(k)3

+

5/3

3/2

2/3

ou,

x(k+1)1 =

−2x(k)2 + 5

3

x(k+1)2 =

−x(k)3 + 3

2

x(k+1)3 =

−x(k+1)1 + 3

2.

Pode-se observar que o metodo de Gauss-Seidel utiliza os valores de x(k+1)i que foram calculados

na mesma iteracao. Isto aumenta a rapidez de convergencia do metodo.

Page 77: Apostila Metodos Numericos

5.3 Metodos Iterativos 68

A seguinte tabela mostra os resultados das primeiras cinco iteracoes para x(0) =

0

0

0

j x(j)1 x

(j)2 x

(j)3

0 0 0 0

1 5/3 3/2 2/3

2 2/3 7/6 7/6

3 8/9 11/12 19/18

4 19/18 35/36 35/36

5 55/54 73/72 107/108...

......

...

e pode-se observar que a solucao vai convergindo para o vetor

1

1

1

que e a solucao exata do

sistema.

Exemplo 5.9. Resolver o sistema

3x1 + 2x2 + x3 = 6

2x2 + 3x3 = 5

2x1 + 2x3 = 4

mediante o metodo de Gauss-Seidel.

Neste caso,

A =

3 2 1

0 2 3

2 0 2

, S =

3 0 0

0 2 0

0 0 2

, T =

0 −2 −1

0 0 −3

−2 0 0

.

Logo,

S−1 =

1/3 0 0

0 1/2 0

−1/3 0 1/2

, S−1T =

0 −2/3 −1/3

0 0 −3/2

0 2/3 1/3

,S−1b =

2

5/2

0

Page 78: Apostila Metodos Numericos

5.3 Metodos Iterativos 69

e portanto a equacao iterativa (5.8) fica

x(k+1)1

x(k+1)2

x(k+1)3

=

0 −2/3 −1/3

0 0 −3/2

0 2/3 1/3

x(k)1

x(k)2

x(k)3

+

2

5/2

0

ou,

x(k+1)1 =

−2x(k)2 + x

(k)3 + 6

3

x(k+1)2 =

−3x(k)3 + 5

2

x(k+1)3 =

−2x(k+1)1 + 4

2.

A seguinte tabela mostra os resultados das primeiras cinco iteracoes para x(0) =

0

0

0

j x(j)1 x

(j)2 x

(j)3

0 0 0 0

1 2 5/2 0

2 1/3 5/2 5/3

3 -2/9 0 20/9

4 34/27 -5/6 20/27

5 187/81 25/18 -25/81

......

......

e pode-se observar que os aproximantes calculados nao convergem para solucao exata

1

1

1

do

sistema.

5.3.3 Convergencia dos Metodos Iterativos

Uma condicao necessaria e suficiente para a convergencia do metodo iterativo (5.8)

x(k+1) = S−1Tx(k) + S−1b

e que todos os autovalores da matriz S−1T sejam, em valor absoluto, menores que 1.

Page 79: Apostila Metodos Numericos

5.3 Metodos Iterativos 70

Uma condicao suficiente para a convergencia do metodo e que a matriz A seja diago-

nalmente dominante, isto e, que para cada i,

|aii| >∑

j 6=i

|aij |

.

Exercıcios Propostos:

1. Resolva os seguintes sistemas de equacoes utilizando a regra de Cramer e o metodo

da matriz adjunta

(a)

x1 + x2 = 2

2x1 − x2 = 1

(b)

x1 − x2 + x3 = 1

x1 − x2 − x3 = −1

−3x1 + 3x2 = 0

2. Resolva os seguintes sistemas de equacoes mediante o metodo de eliminacao gaussiana,

utilizando o pivoteamento parcial

(a)

x1 + 2x2 + 3x3 + 4x4 = 10

x1 − x2 + x3 − x4 = 0

x1 + 4x2 + x3 − x4 = 5

4x1 + 3x2 + 2x3 + x4 = 10

(b)

x1 + 2x2 + 3x3 + 4x4 = 10

2x1 + x2 + 2x3 + 3x4 = 8

3x1 + 2x2 + x3 + 2x4 = 8

4x1 + 3x2 + 2x3 + x4 = 10

3. Resolva os sistemas lineares do exercıcio anterior mediante a decomposicao LU sem

pivoteamento.

4. Resolva os seguintes sistemas de equacoes pelos metodos de Jacobi e Gauss-Seidel,

verificando previamente se havera convergencia. Efetue cinco iteracoes de cada metodo

e estime o erro relativo cometido.

(a)

2x1 + x2 = 3

x1 − 2x2 = −1

Page 80: Apostila Metodos Numericos

5.3 Metodos Iterativos 71

(b)

2x1 − x2 = 7

−x1 + 2x2 − x3 = 1

− x2 + 2x3 = 1

5. Qual e a condicao necessaria e suficiente sobre o escalar b para que o metodo de

Jacobi seja convergente ao ser aplicado ao sistema

2x1 + bx2 = 3

x1 − 2x2 = −1. E qual

e a condicao para que o metodo de Gauss-Seidel seja convergente?

Page 81: Apostila Metodos Numericos

6 INTERPOLACAO

6.1 Introducao

Neste capıtulo, considera-se o problema de aproximar uma funcao dada por uma classe

de funcoes mais simples, principalmente polinomios. Existem dois motivos principais para utilizar

a interpolacao:

(i) Reconstruir a funcao f(x) quande esta nao e dada de maneira explıcita e so sao

conhecidos os valores de f(x) e/ou suas derivadas de certa ordem em um conjunto de

pontos, denominados nos, pontos tabulares ou argumentos;

(ii) Substituir a funcao f(x) por um polinomio p(x) denominado polinomio interpo-

lador, de maneira que muitas operacoes comuns tais como a determinacao de raızes,

diferenciacao e integracao, etc., que devem ser feitas sobre f(x), possam ser efetuadas

utilizando p(x).

Primeiro, discutem-se os metodos para construir os polinomios interpoladores p(x)

para uma funcao dada f(x).

Definicao 6.1. Um polinomio p(x) e denominado um polinomio interpolador se os valores

de p(x) e/ou suas derivadas de certas ordens coincidem com os de f(x) e/ou as derivadas das

mesmas ordens em um ou mais pontos tabulares.

Em geral, se existem n+ 1 pontos distintos

a0 ≤ x0 < x1 < . . . < xn ≤ b

entao o problema de interpolacao e obter p(x) que satisfaz as condicoes

p(xi) = f(xi), i = 0, 1, . . . , n (6.1)

ou

p(xi) = f(xi), i = 0, 1, . . . , n

p′(xi) = f ′(xi), i = 0, 1, . . . , n(6.2)

As condicoes sobre as derivadas em (6.2) podem ser substituıdas por condicoes mais gerais envol-

vendo derivadas de ordem superior. A condicao (6.1) origina o polinomio interpolador de

Lagrange e a condicao (6.2) origina o polinomio interpolador de Hermite.

72

Page 82: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 73

6.2 Interpolacao de Lagrange e de Newton

Supoe-se que sao dados n+ 1 pontos distintos

a0 ≤ x0 < x1 < . . . < xn ≤ b

no intervalo [a, b] e certos valores yi = f(xi), i = 0, 1, . . . , n associados a uma certa funcao f(x)

conhecida ou nao. Quer-se determinar o polinomio

p(x) = anxn + an−1x

n−1 + · · ·+ a1x+ a0 (6.3)

que satisfaz as condicoes (6.1), isto e,

p(xi) = f(xi), i = 0, 1, . . . , n.

Tal polinomio e unico, pois se existe um outro polinomio p∗(x) tal que

p∗(xi) = f(xi), i = 0, 1, . . . , n

entao o polinomio

q(x) = p(x)− p∗(x)

tem grau ≤ n e

q(xi) = p(xi)− p∗(xi) = 0, i = 0, 1, . . . , n,

isto e, q(x) e um polinomio de grau ≤ n com n + 1 raızes distintas. Necessariamente, q(x) =

0, ∀x ∈ [a, b] e

p∗(x) = p(x), ∀x ∈ [a, b].

6.2.1 Interpolacao Linear

Considere o conjunto de dados

i xi yi

0 x0 y0

1 x1 y1

Page 83: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 74

quer-se determinar um polinomio

p1(x) = a1x+ a0 (6.4)

tal que

p1(x0) = y0 e p1(x1) = y1.

Entao, tem-se o sistema de equacoes:

a1x0 + a0 = y0

a1x1 + a0 = y1

(6.5)

Obtem-se

a0 =x1y0 − x0y1x1 − x0

a1 =y0 − y1x0 − x1

(6.6)

e substituindo em (6.4) resulta

p1(x) =y0 − y1x0 − x1

x+x1y0 − x0y1x1 − x0

, (6.7)

que pode ser escrito na forma de Lagrange

p1(x) =x− x1

x0 − x1y0 +

x− x0

x1 − x0y1 (6.8)

ou

p1(x) = l0(x)y0 + l1(x)y1 (6.9)

onde

l0(x) =x− x1

x0 − x1e l1(x) =

x− x0

x1 − x0(6.10)

Os polinomios l0(x) e l1(x), definidos em (6.10) sao denominados polinomios fundamentais de

Lagrange e satisfazem as condicoes

l0(x) + l1(x) = 1 (6.11)

e

l0(x0) = 1, l0(x1) = 0,

l1(x0) = 0, l1(x1) = 1,(6.12)

Page 84: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 75

ou

li(xj) = δij =

1, se i = j

0, se i 6= j

(6.13)

A equacao (6.9) e o polinomio interpolador de Lagrange. Desta maneira, para

obter o polinomio interpolador de Lagrange, determinam-se primeiro os polinomios fundamentais

de Lagrange, li(x), multiplicam-se por yi, respectivamente, e somam-se tais produtos.

A equacao (6.7)

p1(x) =y0 − y1x0 − x1

x+x1y0 − x0y1x1 − x0

,

tambem pode ser escrita na forma de Newton

p1(x) = y0 +y1 − y0x1 − x0

(

x− x0

)

(6.14)

e se os dados estao associados a uma certa funcao f(x), x ∈ [a, b], ou seja,

i xi f(xi)

0 x0 f(x0)

1 x1 f(x1)

a equacao (6.14) pode ser escrita como

p1(x) = f(x0) + f [x0, x1](

x− x0

)

(6.15)

onde

f [x0, x1] =f(x1)− f(x0)

x1 − x0,

que e denominada a diferenca dividida de f(x) de primeira ordem com relacao a x0 e

x1.

O erro cometido ao interpolar os pontos (xi, f(xi), i = 0, 1 mediante o polinomio p1(x)

e

E1(x) = f(x)− p1(x), ∀x ∈ [a, b]. (6.16)

Uma expressao geral para o erro e mostrada no teorema 6.1. Para n = 1, tem-se

E1(x) =1

2!f ′′(ξ)

(

x− x0

)(

x− x1

)

, ∀x ∈ [x0, x1] (6.17)

Page 85: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 76

para algum ξ ∈ [x0, x1]. Pode-se observar facilmente que uma estimativa deste erro e

∣E1(x)∣

∣ ≤ (x1 − x0)2

8max

{∣

∣f ′′(x)∣

∣/x ∈ [x0, x1]}

(6.18)

Exemplo 6.1. Dada a tabela de dados

i xi sen(xi)

0 0, 1 0, 09983

1 0, 2 0, 19867

determine o polinomio interpolador de Lagrange e de Newton, calcule o valor aproximado de

sen(0, 15) e estime o erro cometido.

De acordo com (6.9), o polinomio interpolador de Lagrange esta dado por

p1(x) = y0x− x1

x0 − x1+ y1

x− x0

x1 − x0

= 0, 09983x− 0, 2

0, 1− 0, 2+ 0, 19867

x− 0, 1

0, 2− 0, 1

= −0, 9983(

x− 0, 2)

+ 1, 9867(

x− 0, 1)

e o polinomio interpolador de Newton esta dado por

p1(x) = y0 +y1 − y0x1 − x0

(

x− x0

)

= 0, 09983 +0, 19867− 0, 09983

0, 2− 0, 1

(

x− 0, 1)

= 0, 09983 + 0, 9884(

x− 0, 1)

.

O polinomio de Lagrange em x = 0, 15 vale

p1(0, 15) = −0, 9983(

0, 15− 0, 2)

+ 1, 9867(

0, 15− 0, 1)

= 0, 049915 + 0, 099335 = 0, 14925,

e o polinomio de Newton em x = 0, 15 vale

p1(0, 15) = 0, 09983 + 0, 9884(

0, 15− 0, 1)

= 0, 09983 + 0, 04942 = 0, 14925.

Page 86: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 77

A estimativa do erro esta dada por (6.18)

∣E1(x)∣

∣ ≤ (x1 + x0)2

8max

{∣

∣f ′′(x)∣

∣/x ∈ [x0, x1]}

=(0, 2 + 0, 1)2

8sen(0, 2) = 0, 01125 · 0, 19867 = 0, 00223.

6.2.2 Interpolacao de n+ 1 pontos

Considere o conjunto de dados

i xi yi

0 x0 y0

1 x1 y1...

......

n xn yn

quer-se determinar um polinomio

pn(x) = anxn + an−1x

n−1 + · · ·+ a1x+ a0 (6.19)

tal que

pn(xi) = yi, ∀i = 0, 1, . . . , n

O polinomio interpolador na forma de Lagrange esta dado por

pn(x) = l0(x)y0 + l1(x)y1 + · · ·+ ln(x)yn (6.20)

onde

l0(x) =(x− x1)(x− x2) . . . (x− xn)

(x0 − x1)(x0 − x2) . . . (x0 − xn), (6.21)

li(x) =(x− x1)(x − x2) . . . (x − xi−1)(x− xi+1) . . . (x− xn)

(x0 − x1)(x0 − x2) . . . (x0 − xi−1)(x0 − xi+1) . . . (x0 − xn), i = 1, 2, . . . , n− 1 (6.22)

e

ln(x) =(x− x0)(x− x1) . . . (x− xn−1)

(xn − x0)(xn − x1) . . . (xn − xn−1), (6.23)

Page 87: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 78

Os polinomios li(x), i = 0, 1, . . . , n definidos em (6.21) - (6.23) sao denominados

polinomios fundamentais de Lagrange e satisfazem as condicoes

l0(x) + l1(x) + · · ·+ ln(x) = 1 (6.24)

e

li(xj) = δij =

1, se i = j

0, se i 6= j

(6.25)

Se os valores de yi, i = 0, 1, . . . , n correspondem aos de certa funcao f(x) nos pontos

x0 < x1 < . . . < xn, o polinomio interpolador na forma de Newton associado a tabela de dados

i xi f(xi)

0 x0 f(x0)

1 x1 f(x1)...

......

n xn f(xn)

e escrito como

pn(x) =f(x0) + f [x0, x1](

x− x0

)

+ f [x0, x1, x2](

x− x0

)(

x− x1

)

+ · · ·

+ f [x0, x1, . . . , xn−1](

x− x0

)

(x − x1

)

. . . (x− xn−1

)

(6.26)

onde

f [x0, x1, . . . , xi] =f [x1 . . . , xi]− f [x0, . . . , xi−1]

xi − x0, i = 1, 2, . . . , n− 1 (6.27)

que e denominada a diferenca dividida de f(x) de i-esima ordem com relacao a x0, x1,

. . .xi. Deve-se observar que f [xi] = f(xi), ∀i = 0, 1, . . . , n

As diferencas divididas podem ser construıdas de acordo com a tabela a seguir

Page 88: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 79

x Ordem 0 Ordem 1 Ordem 2 Ordem 3 . . . Ordem n

x0 f [x0]

f [x0, x1]

x1 f [x1] f [x0, x1, x2]

f [x1, x2] f [x0, x1, x2, x3]

x2 f [x2] f [x1, x2, x3]. . .

f [x2, x3] f [x1, x2, x3, x4]

x3 f [x3] f [x2, x3, x4] f [x0, x1, x2, . . . , xn]

f [x3, x4]...

x4 f [x4]... f [xn−3, xn−2, xn−1, xn]

... f [xn−2, xn−1, xn]

... f [xn−1, xn]

xn f [xn]

Exemplo 6.2. Dada a tabela

i xi f(xi)

0 −1 4

1 0 1

2 2 −1

determine os polinomios interpoladores de Lagrange e de Newton, p2(x).

A forma de Lagrange para o polinomio interpolador esta dada por

p2(x) = y0l0(x) + y1li(x) + y2l2(x),

onde

l0(x) =(x− x1)(x− x2)

(x0 − x1)(x0 − x2)=

(x− 0)(x− 2)

(−1− 0)(−1− 2)=

1

3(x2 − 2x),

l1(x) =(x− x0)(x− x2)

(x1 − x0)(x1 − x2)=

(x+ 1)(x− 2)

(0 + 1)(0− 2)= −1

2(x2 − x− 2),

l2(x) =(x − x0)(x − x1)

(x2 − x0)(x2 − x1)=

(x+ 1)(x− 0)

(2 + 1)(2− 0)=

1

6(x2 + x).

Entao

p2(x) = 4 · 13(x2 − 2x) + 1 · −1

2(x2 − x− 2) + (−1) · 1

6(x2 + x) =

2

3x2 − 7

3x+ 1.

Para conseguir a forma de Newton, faz-se a tabela de diferencas divididas:

Page 89: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 80

x Ordem 0 Ordem 1 Ordem 2

−1 4

−3

0 1 23

−1

2 −1

Portanto, a forma de Newton do polinomio interpolador e

p2(x) = f [x0] + f [x0, x1](x− x0) + f [x0, x1, x2](x − x0)(x − x1)

= 4 + (−3)(x+ 1) +2

3(x+ 1)(x− 0)

=2

3x2 − 7

3x+ 1,

como foi obtido anteriormente.

6.2.3 Erro na Interpolacao

A seguir, estabelece-se um resultado para o erro

Teorema 6.1. Considere-se n+ 1 pontos,

x0 < x1 < x2 < . . . < xn.

Seja f(x) com derivadas ate de ordem n + 1, ∀x ∈ [x0, xn]. Seja pn(x) o polinomio interpolador

de Lagrange de f(x) nos pontos x0, x1, . . . , xn. Entao, para cada x ∈ [x0, xn], o erro e dado por

En(x) = f(x)− pn(x) =(

x− x0

)(

x− x1

)

. . .(

x− xn

)f (n+1)(ξx)

(n+ 1)!,

para algum ξx ∈ [x0, xn].

Prova: Seja

w(x) =(

x− x0

)(

x− x1

)

. . .(

x− xn

)

, ∀x ∈ [x0, xn].

Lembrando que

En(x) = f(x)− pn(x), ∀x ∈ [x0, xn];

para cada x ∈ [x0, xn], defina

H(t) = En(x)w(t) − En(t)w(x), ∀t ∈ [x0, xn].

Page 90: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 81

Se x = xi, para algum i = 0, 1, . . . , n, entao En(x) = 0 e o resultado e obvio.

Considere, entao, que x 6= xi, ∀i = 0, 1, . . . , n. Observe que x ∈]xi − 1, xi[, para um unico

i0 = 1, 2, . . . , n. As derivadas f (k)(t) e p(k)n (t), k = 0, 1, . . . , n + 1, existem, e assim, E

(k)n (t),

k = 0, 1, . . . , n + 1, existem. A funcao w(t) e um polinomio de grau n + 1, e tambem w(k)(t),

k = 0, 1, . . . , n+ 1, existem. Portanto, as derivadas H(k)(t),k = 0, 1, . . . , n+ 1, tambem existem.

Tem-se que H(xi) = 0, ∀i = 0, 1, . . . , n e tambem H(x) = 0. Aplica-se o teorema de

Rolle a funcao H(t) restrita a cada um dos subintervalos seguintes:

[x0, x1], . . . , [xi0−2, xi0−1], [xi0−1, x], [x, xi0 ], [xi0 , xi0+1], . . . , [xn−1, xn],

e consegue-se uma sequencia ξ0,1 < ξ1,1 < · · · < ξn,1 de valores tais que H ′(ξi,1) = 0, ∀i =

0, 1, . . . , n. Aplica-se o teorema de Rolle a funcao H ′(t) restrita a cada um dos subintervalos

seguintes:

[ξ0,1, ξ1,1], [ξ1,1, ξ2,1], . . . , [ξn−1,1, ξn,1],

e consegue-se uma sequencia ξ0,2 < ξ1,2 < · · · < ξn−1,2 de valores tais que H ′′(ξi,2) = 0, ∀i =

0, 1, . . . , n− 1. Procedendo dessa maneira, ate aplicar o teorema de Rolle a H(n)(t), consegue-se o

valor ξ0,n+1 ∈ [x0, xn] tal que H(n+1)(ξ0,n+1) = 0.

Mas, E(n+1)n (t) = f (n+1)(t)−p(n+1)

n (t) = f (n+1)(t), pois pn(t) e um polinomio de grau

n. Por outro lado, w(n+1)(t) = (n + 1)!, pois w(t) e um polinomio de grau n+ 1 com coeficiente

principal 1.

Entao

0 = H(n+1(ξ0, n+ 1 = En(x)(n + 1)!− f (n+1)(ξ0,n+1)w(x).

Portanto,

En(x) = w(x)f (n+1)(ξ0,n+1)

(n+ 1)!.

Basta escolher ξx = ξ0,n+1. �

Prova-se, agora, uma propriedade das diferencas divididas:

Lema 6.1. Para cada k ∈ N e satisfeita a propriedade

f [x0, x1, . . . , xk] = f [xj0 , xj1 , . . . , xjk]

onde(

xj0 , xj1 , . . . , xjk

)

e qualquer permutacao de(

x0, x1, . . . , xk

)

.

Page 91: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 82

Prova: Utiliza-se a inducao matematica. �

Teorema 6.2. Considere-se n+ 1 pontos,

x0 < x1 < x2 < . . . < xn.

Seja f(x) com derivadas ate de ordem n + 1, ∀x ∈ [x0, xn]. Seja pn(x) o polinomio interpolador

de Newton de f(x) nos pontos x0, x1, . . . , xn. Entao, para cada x ∈ [x0, xn], o erro e dado por

En(x) = f(x) − pn(x) =(

x− x0

)(

x− x1

)

. . .(

x− xn

)

f [x0, x1, . . . , xn, x].

Prova: Por inducao matematica. �

Corolario 6.1. Sob as hipoteses do teorema 6.1 ou as do teorema 6.2 e se f (n+1)(x) e contınua

em [x0, xn], entao

|En(x)| = |f(x)− pn(x)| ≤∣

(

x− x0

)(

x− x1

)

. . .(

x− xn

)∣

Mn+1

(n+ 1)!

onde Mn+1 = max{∣

∣f (n+1)(x)∣

∣ : x ∈ [x0, xn]}

Corolario 6.2. Se alem das hipoteses teorema 6.1 ou teorema 6.2 e as do corolario 6.1, os pontos

xi sao igualmente espacados, isto e,

xi − xi−1 = h, ∀i = 1, 2, . . . , n,

entao

|En(x)| = |f(x)− pn(x)| ≤ hn+1Mn+1

4(n+ 1)

Exemplo 6.3. Seja f(x) = ex + x− 1 tabelada a seguir.

x 0, 0 0, 5 1, 0 1, 5 2, 0

f(x) 0, 0 1, 1487 2, 7183 4, 9811 8, 3890

Obter f(0, 7) por interpolacao linear e obter o erro exato e as estimativas do erro de acordo com

os corolarios 6.1 e 6.2.

Page 92: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 83

O polinomio interpolador e p1(x) = f(x0) +(

x − x0

)

f [x0, x1] e como x = 0, 7 ∈[0, 5 , 1], entao escolhe-se x0 = 0, 5 e x1 = 1, 0. Entao

p1(x) = 1, 1487 + (x− 0, 5)2, 7183− 1, 1487

1− 0, 5= 1, 1487 + 3, 1392(x− 0, 5)

e assim p(0, 7) = 1, 7765.

Neste caso, o erro exato e dado por

|E1(0, 7)| = |f(0, 7)− p1(0, 7)| = |1, 7137− 1, 7765| = 0, 0628.

O corolario 6.1 fornece a estimativa

|E1(0, 7)| = |(0, 7− 0, 5)(0, 7− 1, 0)|M2

2= 0, 0815

pois M2 = max{

|f ′′(x)| : x ∈ [0, 5 , 1, 0]}

= max{

ex : x ∈ [0, 5 , 1, 0]}

= 2, 7183.

O corolario 6.2 fornece a estimativa

|E1(x)| =h2M2

2= 0, 0850

pois h = 0, 5.

Se a funcao f(x) nao e conhecida, o valor absoluto do erro, |Ek(x)|, so pode ser

estimado, porque nao e possıvel calcular f (k+1)(x) e portanto, Mk+1. Mas, a partir da tabela de

diferencas divididas, o valorMn+1

(n+ 1)!pode ser aproximado mediante o maior valor absoluto das

diferencas divididas de ordem k + 1:

|Ek(x)| ≈ |(x− x0)(x− x1) · · · (x− xk)| ·max{|f [xj0 , xj1 , . . . , xjk]|/j0 < j1 < . . . < jk}

Exemplo 6.4. Dada a tabela de dados

x 0, 2 0, 34 0, 4 0, 52 0, 6 0, 72

f(x) 0, 16 0, 22 0, 27 0, 29 0, 32 0, 37

obter f(0, 47) utilizando um polinomio quadratico e fornecer uma estimativa para o erro cometido.

Constroi-se a tabela de diferencas divididas

Page 93: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 84

x Ordem 0 Ordem 1 Ordem 2 Ordem 3

0, 2 0, 16

0, 4286

0, 34 0, 22 2, 0235

0, 8333 −17, 8963

x0 = 0, 4 0, 27 −3, 7033

0, 1667 18, 2494

x1 = 0, 52 0, 29 1, 0415

0, 375 −2, 6031

x2 = 0, 6 0, 32 0, 2085

0, 4167

0, 72 0, 37

Para ter um polinomio quadratico sao necessarios tres pontos, e como 0, 47 ∈ [0, 4 , 0, 52]

entao escolhem-se: x0 = 0, 4, x1 = 0, 52, x2 = 0, 6. Outra possıvel escolha poderia ter sido

x0 = 0, 34, x1 = 0, 4, x2 = 0, 52.

O polinomio interpolador na forma de Newton e

p2(x) = f [x0] + f [x0, x1](x− x0) + f [x0, x1, x2](x − x0)(x − x1)

= 0, 27 + 0, 1667(x− 0, 4) + 1, 0415(x− 0, 4)(x− 0, 52)

Entao, p2(0, 47) = 0, 2780 ≈ f(0, 47).

A estimativa do erro cometido esta dada por

E2(0, 47) ≈ |(0, 47− 0, 4)(0, 47− 0, 52)(0, 47− 0, 06)| · 18, 2492 = 0, 8303 · 10−2.

6.2.4 Forma de Gregory-Newton para o Polinomio Interpolador

Considere, agora, o caso que os pontos xi, i = 0, 1, . . . , n sao igualmente espacados,

isto e, xi − xi−1 = h, ∀i = 1, 2, . . . , n, onde h e uma constante. Entao a forma de Newton do

polinomio interpolador pn(x) pode ser tratada de modo mais simplificado.

Page 94: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 85

Definicao 6.2. A diferenca finita (para frente) de j-esima ordem e definida recursivamente

como

△jf(x) =

f(x), se j = 0,

△j−1f(x+ h)−△j−1f(x), se j = 1, 2, . . .

As diferencas finitas e as diferencas divididas estao relacionadas como segue

Lema 6.2. Para todo j = 0, 1, . . . , n, tem-se que

f [x0, x1, . . . , xj ] =△jf(x0)

hnn!.

Prova: Utilize inducao matematica. �

De maneira similar as diferencas divididas, as diferencas finitas tambem podem ser

escritas em uma tabela, a tabela de diferencas finitas:

x Ordem 0 Ordem 1 Ordem 2 Ordem 3 . . . Ordem n

x0 f(x0)

△f(x0)

x1 f(x1) △2f(x0)

△f(x1) △3f(x0)

x2 f(x2) △2f(x1). . .

△f(x2) △3f(x1)

x3 f(x3) △2f(x2) △nf(x0)

△f(x3)...

x4 f(x4)... △3f(xn−3)

... △2f(xn−2)

... △f(xn−1)

xn f(xn)

A forma de Newton para o polinomio interpolador pn(x) pode ser escrita como

pn(x) =f(x0) +△f(x0)

h(x− x0) +

△2f(x0)

2h2(x − x0)(x − x1) + · · ·

+△nf(x0)

n!hn(x− x0)(x − x1) . . . (x− xn−1).

(6.28)

Page 95: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 86

A equacao (6.28) e denominada a forma de Gregory-Newton do polinomio inter-

polador pn(x).

Fazendo a mudanca de variaveis s = x− x0h

, e observando que xj = x0 + jh, j =

0, 1, . . . , n, tem-se que x − xj = (s − j)h, j = 0, 1, . . .. Com isto, o polinomio interpolador pn(x)

na equacao (6.28) pode ser escrito em termos da variavel s como

pn(s) = f(x0) + s△f(x0) +△2f(x0)s(s− 1)

2!+ · · ·+△nf(x0)

s(s− 1) . . . (s− (n− 1))

n!. (6.29)

Exemplo 6.5. Dada a tabela de dados

x −1 0 1 2 3

f(x) 2 1 2 5 10

determinar, mediante o melhor polinomio interpolador na forma de Gregory-Newton (6.28) e

(6.29), o valor de f(0, 5).

A tabela de diferencas finitas para estes dados e

x f(x) △f(x) △2f(x) △3f(x)

−1 2

−1

0 1 2

1 0

1 2 2

3 0

2 5 2

5

3 10

Neste caso, o melhor polinomio interpolador e quadratico pois △jf(x) = 0, ∀j ≥ 3.

De acordo com (6.28), tem-se que

p2(x) =f(x0) +△f(x0)

h(x− x0) +

△2f(x0)

2h2(x− x0)(x − x1)

=2− (x+ 1) +2

2(x+ 1)(x− 0)

=x2 + 1.

Portanto, f(0, 5) ≈ p2(0, 5) = (0, 5)2 + 1 = 1, 25.

Page 96: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 87

De acordo com (6.29), tem-se que

p2(s) =f(x0) + s△f(x0) +△2f(x0)s(s− 1)

2

=2− s+2

2(s2 − s)

=s2 − 2s+ 2.

Se x = 0, 5, entao s = x− x0h

=0, 5− (−1)

1 = 1, 5 e assim

p2(s)∣

s=1,5= (1, 5)2 − 2(1, 5) + 2 = 1, 25.

6.2.5 Interpolacao Inversa

Considerando a tabela de dados

x x0 x1 x2 . . . xn

f(x) f(x0) f(x1) f(x2) . . . f(xn)

e dado y ∈ [min{f(xi},max{f(xi)}], o problema da interpolacao inversa consiste em obter x tal

que f(x) = y,

Basicamente, existem duas maneiras de abordar este problema:

1. Obter pn(x) que interpola f(x) e resolver a equacao pn(x) = y. Aqui, o valor de x

nao e necessariamente unico e o erro cometido nao pode ser estimado.

Exemplo 6.6. Considere os dados do exemplo 6.5

x −1 0 1 2 3

f(x) 2 1 2 5 10

Pede-se obter x tal que f(x) = 1, 25.

Neste caso, o polinomio interpolador e p2(x) = x2+1, e ao resolver a equacao x2+1 =

1, 25 obtem-se duas solucoes: x1 = −0, 5 e x2 = 0, 5

2. Se a existencia da funcao inversa x = f−1(y) e garantida, entao pode-se aplicar as

tecnicas de interpolacao aos dados

f(x) f(xj0) f(xj1 ) f(xj2) . . . f(xjn)

x xj0 xj1 xj2 . . . xjn

Page 97: Apostila Metodos Numericos

6.2 Interpolacao de Lagrange e de Newton 88

onde f(xj0 ) < f(xj1 ) < . . . < f(xjn). Tal arranjo e possıvel se a funcao inversa

x = f−1(y) existe, pois nesse caso, tal funcao e estritamente monotona no seu domınio.

Exemplo 6.7. Considerando a tabela para os valores de f(x) = ex

x 0 0, 1 0, 2 0, 3 0, 4 0, 5

f(x) 1 1, 1052 1, 2214 1, 3499 1, 4918 1, 6487

obter x tal que ex = 1, 3165 mediante interpolacao quadratica inversa.

E construıda a tabela de diferencas divididas para os dados

y Ordem 0 Ordem 1 Ordem 2 Ordem 3

1 0

0, 9506

1, 1052 0, 1 −0, 4065

0, 8606 0, 1994

y0 = 1, 2214 0, 2 −0, 3367

0, 7782 0, 1679

y1 = 1, 3499 0, 3 −0, 2718

0, 7047 0, 1081

y2 = 1, 4918 0, 4 −0, 2256

0, 6373

1, 6478 0, 5

O polinomio quadratico que interpola a funcao inversa g(y) e

p2(y) = g(y0) + g[g0, y1](y − y0) + g[y0, y1, y2](y − y0)(y − y1)

= 0, 2 + 0, 7782(y− 1, 2214) + (−0, 2718)(y− 1, 2214)(y− 1, 3499).

Portanto, p2(1, 3165) = 0, 27494. A estimativa do erro pode ser encontrada facilmente:

|E2(x)| ≤ |(y − y0)(y − y1)|M3

3!

onde M3 = max{|g′′(y)| : y ∈ [y0, y2]}. Aqui, g(y) = ln(y) e g′′′(y) = 2y3 . Entao

M3 = 2(1, 2214)3

= 1, 0976

Assim,

|E2(x)| ≤ 0, 1019× 10−3.

Page 98: Apostila Metodos Numericos

6.3 Introducao 89

6.3 Polinomios de Taylor

Os polinomios de Taylor sao tambem uma ferramenta de interpolacao, que aproximam

uma certa funcao f(x) ao redor de um ponto escolhido x0, com a condicao

p(k)(x0) = f (k)(x0), k = 0, 1, . . . , n.

Definicao 6.3. Seja uma funcao f(x) tal que as primeiras n + 1 derivadas de f(x) existem. O

polinomio p(x)

p(x) = f(x0) + (x− x0)f′(x0) +

1

2!(x − x0)

2f ′′(x0) + · · ·+ 1

n!(x− x0)

nf (n)(x0) (6.30)

e denominado o polinomio de Taylor de grau n para a funcao f(x) no ponto x0, x0 ∈ [a, b] e

pode ser considerado como um polinomio interpolador de grau n da funcao f(x), que satisfaz as

condicoes

p(k)(x0) = f (k)(x0), k = 0, 1, . . . , n. (6.31)

O termo

Rn =1

(n+ 1)!(x− x0)

n+1f (n+1)(ξ), x0 < ξ < x (6.32)

que tem sido desprezado em (6.30), e denominado o resto ou o erro de truncamento.

O numero de termos a serem incluıdos em (6.30) pode ser determinado pelo erro

aceitavel. Se este erro e ε > 0 e a serie e truncada no termo f (n)(x0), entao

1

(n+ 1)!|x− x0|n+1

∣f (n+1)(ξ)∣

∣ < ε, x0 < ξ < x (6.33)

ou1

(n+ 1)!|x− x0|n+1Mn+1(x) < ε, (6.34)

onde Mn+1(x) = maxa≤t≤x

∣f (n+1)(t)∣

∣.

Exemplo 6.8. Obtenha uma aproximacao polinomial p(x) para f(x) = e−x utilizando a expansao

de Taylor ao redor de x0 = 0 e determine

(i) x para que a aproximacao p(x) com quatro termos tenha erro absoluto menor que

0, 5× 10−6;

Page 99: Apostila Metodos Numericos

6.3 Introducao 90

(ii) o numero de termos na aproximacao para encontrar resultados corretos ate 0, 5×10−10

para 0 ≤ x ≤ 1.

Para (i), tem-se que se f(x) = e−x, entao

f (r)(x) = (−1)re−x =⇒ f (r(0) = (−1)r, r = 0, 1, . . . .

A partir de (6.30) obtem-se

p(x) = 1− x+x2

2− x3

6

e de (6.34)x4

4!M4 < 0, 5× 10−6

onde M4(x) = max0≤t≤x

∣f (4)(t)∣

∣ = max0≤t≤x

∣e−t∣

∣ = 1 e

x4 < 0, 12× 10−4

ou

x < 0, 0589

Para (ii), de (6.34) tem-se que

1

(n+ 1)!< 0, 5× 10−10

que resulta em

n ≥ 14.

Exercıcios:

1. Obtenha uma aproximacao polinomial p(x) para

(a) f(x) = 11 + x2

(b) f(x) = e−2x

(c) f(x) = 11 +√x

utilizando a expansao de Taylor ao redor de x0 = 0 e determine

(i) x para que a aproximacao p(x) com quatro termos tenha erro absoluto menor

que 0, 5× 10−4;

Page 100: Apostila Metodos Numericos

6.3 Introducao 91

(ii) o numero de termos na aproximacao para encontrar resultados corretos ate 0, 5×10−10 para 0 ≤ x ≤ 1.

2. Dada a tabela abaixo,

x 2, 4 2, 6 2, 8 3, 0 3, 2 3, 4 3, 6 3, 8

f(x) 11, 02 13, 46 16, 44 20, 08 24, 53 29, 96 36, 59 44, 70

(a) Calcule e3,1 utilizando um polinomio de interpolacao sobre tres pontos.

(b) Faca uma estimativa do erro cometido.

3. Prove os lemas 6.1, 6.2 e o teorema 6.2 utilizando a inducao matematica.

4. Prove os corolarios 6.1 e 6.2.

5. Quer-se construir uma tabela que contenha valores de sen(x) para pontos igualmente

espacados no intervalo [0, 1]. Qual deve ser o menor numero de pontos na tabela para se

obter, a partir dela, o sen(x), utilizando a interpolacao linear com erro |E(x)| ≤ 10−6,

∀x ∈ [0, 1].

6. Sabendo-se que a equacao x− e−x = 0 admite uma raiz no intervalo [0, 1], determine

o valor desta raiz utilizando um polinomio de interpolacao sobre tres pontos. Estime

o erro cometido.

7. Construa a tabela de diferencas divididas com os dados

x 0, 0 0, 5 1, 0 1, 5 2, 0 2, 5

f(x) −2, 78 −2, 241 −1, 65 −0, 594 1, 34 4, 564

(a) Estime o valor de f(1, 23) da melhor maneira possıvel, de forma que se possa

estimar o erro cometido.

(b) Justifique a escolha do grau do polinomio.

8. Seja a tabela

x 0, 15 0, 20 0, 25 0, 30 0, 35 0, 40

f(x) 0, 12 0, 16 0, 19 0, 22 0, 25 0, 27

Utilizando um polinomio interpolador quadratico, encontre o valor de x para o qual

f(x) = 0, 23.

9. Construa uma tabela para a funcao f(x) = cos(x) utilizando os pontos 0, 8; 0, 9; 1, 0; 1, 1; 1, 2; 1, 3.

Obtenha um polinomio cubico para estimar cos(1, 07) e forneca uma estimativa do erro

cometido.

Page 101: Apostila Metodos Numericos

7 AJUSTE DE CURVAS PELO METODO DOS QUADRADOS MINIMOS

7.1 Introducao

No capıtulo anterior, tratou-se o problema de aproximar e interpolar uma funcao f(x)

ou um conjunto de dados tabulares mediante polinomios de grau n, pn(x). Mas, as vezes, isto nao

aconselhavel pois os dados obtidos podem ser resultados de algum experimento fısico possivelmente

governados por alguma lei fısica. Entao tem-se a necessidade de criar heuristicamente uma funcao

ϕ(x) que aproxime f(x) fora do intervalo [x0, xn] e que seja uma “boa” aproximacao.

7.2 Caso Linear Discreto

Seja a tabela de dados

x x1 x2 x3 . . . xn

f(x) f(x1) f(x2) f(x3) . . . f(xn)

com x1 ≤ x2 ≤ x3 ≤ . . . ≤ xn e sejam escolhidas certas funcoes g1(x), g2(x), . . ., gm(x), (m ∈ N)

contınuas em [x1, xn]. O problema de ajuste pelo metodo dos quadrados mınimos consiste

em obter certos coeficientes αi, i = 1, 2, . . . ,m, tais que a funcao

ϕ(x) = α1g1(x) + α2g2(x) + · · ·+ αmgm(x)

se aproxime a f(x) satisfazendo a condicao que

n∑

i=1

(

f(xi)− ϕ(xi))2

seja a menor possıvel.

Observe que a funcao ϕ(x) e uma combinacao linear das funcoes gi(x), i = 1, 2, . . . ,m.

Por este motivo, o ajuste e dito linear. Por outro lado, os dados disponıveis sobre a funcao f(x)

sao aqueles listados na tabela. Por essa razao, o ajuste e dito discreto.

Seja definida a funcao

F (α1, α2, . . . , αm) =n

i=1

[

f(xi)−ϕ(xi)]2

=n

i=1

[

f(xi)−α1g1(xi)−α2g2(xi)−· · ·−αmgm(xi)]2

(7.1)

92

Page 102: Apostila Metodos Numericos

7.2 Caso Linear Discreto 93

Para minimizar a funcao F (α1, α2, . . . , αm), tem de ser encontrados os seus pontos crıticos, isto e,

tem que ser resolvida o sistema de equacoes

∂F

∂αj

(α1,α2,...,αm)

= 0, j = 1, 2, . . . ,m. (7.2)

Calculando estas derivadas parciais, tem-se, para cada j = 1, 2, . . . ,m,

∂F

∂αj

(α1,α2,...,αm)

= 2

n∑

i=1

[

f(xi)− α1g1(xi)− α2g2(xi)− · · · − αmgm(xi)][

−gj(xi)]

. (7.3)

De (7.2) e (7.3), tem-se que

n∑

i=1

[

f(xi)− α1g1(xi)− α2g2(xi)− · · · − αmgm(xi)][

gj(xi)]

= 0, j = 1, 2, . . . ,m. (7.4)

A partir de (7.4), forma-se o sistema de equacoes lineares

[

n∑

i=1

g1(xi)g1(xi)

]

α1 + · · ·+[

n∑

i=1

gm(xi)g1(xi)

]

αm =

n∑

i=1

f(xi)g1(xi)

[

n∑

i=1

g1(xi)g2(xi)

]

α1 + · · ·+[

n∑

i=1

gm(xi)g2(xi)

]

αm =n

i=1

f(xi)g2(xi)

...[

n∑

i=1

g1(xi)gm(xi)

]

α1 + · · ·+[

n∑

i=1

gm(xi)gm(xi)

]

αm =

n∑

i=1

f(xi)gm(xi)

(7.5)

que pode ser escrito da forma

n∑

i=1g1(xi)g1(xi)

n∑

i=1g2(xi)g1(xi) · · ·

n∑

i=1gm(xi)g1(xi)

n∑

i=1g1(xi)g2(xi)

n∑

i=1g2(xi)g2(xi) · · ·

n∑

i=1gm(xi)g2(xi)

......

. . ....

n∑

i=1g1(xi)gm(xi)

n∑

i=1g2(xi)gm(xi) · · ·

n∑

i=1gm(xi)gm(xi)

α1

α2

...

αm

=

n∑

i=1f(xi)g1(xi)

n∑

i=1f(xi)g2(xi)

...n∑

i=1f(xi)gm(xi)

(7.6)

Exemplo 7.1. Dada a tabela

x −1, 0 −0, 75 −0, 6 −0, 5 −0, 3 0 0, 2 0, 4 0, 5 0, 7 1, 0

f(x) 2, 05 1, 153 0, 45 0, 4 0, 5 0 0, 2 0, 6 0, 512 1, 2 2, 05

ajustar a curva ϕ(x) = α1x2 a estes dados.

Page 103: Apostila Metodos Numericos

7.2 Caso Linear Discreto 94

Figura 7.1 Ajuste de uma curva ϕ(x) = α1x2 aos dados da tabela.

Neste caso, m = 1, g1(x) = x2. Entao a unica equacao e

[

11∑

i=1g1(xi)g1(xi)

]

α1 =11∑

i=1f(xi)g1(xi)

ou[

11∑

i=1(x2

i )2]

α1 =11∑

i=1x2

i f(xi),

α1 =

11∑

i=1x2

i f(xi)

11∑

i=1x4

i

=5, 8756

2, 8464= 2, 0642.

Portanto, a curva ϕ = 2, 0642x2 e a que melhor ajusta esses dados no sentido de

quadrados mınimos. Veja a figura 7.1

Exemplo 7.2. Considerando os dados da tabela anterior, ajustar a curva ϕ(x) = α1x2 + α2x.

Neste caso, m = 2, g1(x) = x2, g2(x) = x. Entao as equacoes sao

[

11∑

i=1g1(xi)g1(xi)

]

α1 +

[

11∑

i=1g2(xi)g1(xi)

]

α2 =11∑

i=1f(xi)g1(xi)

[

11∑

i=1g1(xi)g2(xi)

]

α1 +

[

11∑

i=1g2(xi)g2(xi)

]

α2 =11∑

i=1f(xi)g2(xi)

Page 104: Apostila Metodos Numericos

7.2 Caso Linear Discreto 95

ou,[

11∑

i=1x4

i

]

α1 +

[

11∑

i=1x3

i

]

α2 =11∑

i=1x2

i f(xi)

[

11∑

i=1x3

i

]

α1 +

[

11∑

i=1x2

i

]

α2 =11∑

i=1xif(xi).

Tem-se que11∑

i=1x4

i = 2, 8464,11∑

i=1x3

i = −0.2499,11∑

i=1x2

i = 4, 2025,11∑

i=1x2

i f(xi) = 5, 8756,11∑

i=1xif(xi) =

−0, 1087, e o sistema de equacoes fica

2, 8464α1 − 0, 2499α2 = 5, 8756

−0, 2499α1 + 4.2025α2 = −0, 1087.

Resolvendo este sistema, consegue-se α1 = 2, 0728 e α2 = 0, 0974. Veja a figura 7.2. Pode-se

apreciar a semelhanca entre os graficos conseguidos nas figuras 7.1 e 7.2.

Figura 7.2 Ajuste de uma curva ϕ(x) = α1x2 + α2x aos dados da tabela.

7.2.1 Ajuste de uma Reta por Quadrados Mınimos

Dada a tabela de dados

x x1 x2 x3 . . . xn

f(x) f(x1) f(x2) f(x3) . . . f(xn)

com x1 ≤ x2 ≤ x3 ≤ . . . ≤ xn, quer-se ajustar uma reta ϕ(x) = α1x + α2 a estes dados mediante

o metodo de quadrados mınimos.

Page 105: Apostila Metodos Numericos

7.3 Caso Linear Contınuo 96

Neste caso, m = 2, g1(x) = x, g2(x) = 1. Substituindo no sistema de equacoes (7.5),

obtem-se o sistema[

n∑

i=1x2

i

]

α1 +

[

n∑

i=1xi

]

α2 =n∑

i=1xif(xi)

[

n∑

i=1xi

]

α1 + nα2 =n∑

i=1f(xi)

(7.7)

A solucao do sistema (7.7) pode ser encontrada facilmente:

α1 =

n

[

n∑

i=1xif(xi)

]

−[

n∑

i=1xi

] [

n∑

i=1f(xi)

]

n

[

n∑

i=1x2

i

]

−[

n∑

i=1xi

]2 ,

α2 =

[

n∑

i=1f(xi)

]

−[

n∑

i=1xi

]

α1

n.

(7.8)

Exemplo 7.3. Dada a tabela de dados

x 1, 3 3, 4 5, 1 6, 8 8, 0

f(x) 2, 0 5, 2 3, 8 6, 1 5, 8

ajustar uma reta ϕ(x) = α1x+ α2.

Calculando previamente os valores necessarios para o sistema de equacoes:5∑

i=1x2

i =

149, 5,5∑

i=1xi = 24, 6,

5∑

i=1f(xi) = 22, 9,

5∑

i=1xif(xi) = 127, 54; tem-se que:

α1 =5 · 127, 54− 24, 6 · 22, 9

5 · 149, 5− (24, 6)2= 0, 5224,

α2 =22, 9− 24, 6 · 0, 5224

5= 2, 0097.

Veja a figura 7.3 para apreciar geometricamente o ajuste.

7.3 Caso Linear Contınuo

Seja uma funcao f(x) definida e contınua sobre um intervalo [a, b] e sejam escolhidas

certas funcoes g1(x), g2(x), . . ., gm(x), (m ∈ N) contınuas em [a, b]. O problema de ajuste

pelo metodo dos quadrados mınimos consiste em obter certos coeficientes αi, i = 1, 2, . . . ,m,

Page 106: Apostila Metodos Numericos

7.3 Caso Linear Contınuo 97

Figura 7.3 Ajuste de uma curva ϕ(x) = α1x+ α2 aos dados da tabela.

tais que a funcao

ϕ(x) = α1g1(x) + α2g2(x) + · · ·+ αmgm(x)

se aproxime a f(x) satisfazendo a condicao que

∫ b

a

(

f(x)− ϕ(x))2dx

seja a menor possıvel.

Como na secao 7.2, observe que a funcao ϕ(x) e uma combinacao linear das funcoes

gi(x), i = 1, 2, . . . ,m. Por este motivo, o ajuste e dito linear. Por outro lado, o conhecimento da

funcao f(x) sobre o intervalo [a, b], o ajuste e dito contınuo.

Seja definida a funcao

F (α1, α2, . . . , αm) =

∫ b

a

[

f(x)−ϕ(x)]2dx =

∫ b

a

[

f(x)−α1g1(x)−α2g2(x)−· · ·−αmgm(x)]2

(7.9)

Para minimizar a funcao F (α1, α2, . . . , αm), tem de ser encontrados os seus pontos crıticos, isto e,

tem que ser resolvida o sistema de equacoes

∂F

∂αj

(α1,α2,...,αm)

= 0, j = 1, 2, . . . ,m. (7.10)

Calculando estas derivadas parciais, tem-se, para cada j = 1, 2, . . . ,m,

∂F

∂αj

(α1,α2,...,αm)

= 2

∫ b

a

[

f(x)− α1g1(x)− α2g2(x)− · · · − αmgm(x)][

−gj(x)]

dx. (7.11)

Page 107: Apostila Metodos Numericos

7.3 Caso Linear Contınuo 98

De (7.10) e (7.11), tem-se que

∫ b

a

[

f(x) − α1g1(x)− α2g2(x) − · · · − αmgm(x)][

gj(x)]

dx = 0, j = 1, 2, . . . ,m. (7.12)

A partir de (7.12), forma-se o sistema de equacoes lineares

[

∫ b

a

g1(x)g1(x)dx

]

α1 + · · ·+[

∫ b

a

gm(x)g1(x)dx

]

αm =

∫ b

a

f(x)g1(x)dx

[

∫ b

a

g1(x)g2(x)dx

]

α1 + · · ·+[

∫ b

a

gm(x)g2(x)dx

]

αm =

∫ b

a

f(x)g2(x)dx

...[

∫ b

a

g1(x)gm(x)dx

]

α1 + · · ·+[

∫ b

a

gm(x)gm(x)dx

]

αm =

∫ b

a

f(x)gm(x)dx

(7.13)

que pode ser escrito da forma

∫ b

a g1(x)g1(x)dx∫ b

a g2(x)g1(x)dx · · ·∫ b

a gm(x)g1(x)dx∫ b

ag1(x)g2(x)dx

∫ b

ag2(x)g2(x)dx · · ·

∫ b

agm(x)g2(x)dx

......

. . ....

∫ b

ag1(x)gm(x)dx

∫ b

ag2(x)gm(x)dx · · ·

∫ b

agm(x)gm(x)dx

α1

α2

...

αm

=

∫ b

a f(x)g1(x)dx∫ b

af(x)g2(x)dx

...∫ b

af(x)gm(x)dx

,

(7.14)

Os coeficientes αi, i = 1, 2, . . . ,m, podem ser obtidos resolvendo o sistema de equacoes

(7.13) ou (7.14).

Exemplo 7.4. Ajustar por mınimos quadrados um polinomio de primeiro grau, ϕ(x) = α1x+α2,

a funcao f(x) = 4x3, x ∈ [0, 1].

Aqui, m = 2, g1(x) = x, g2(x) = 1. Entao o sistema (7.13) pode ser escrito como

[∫ 1

0

x2dx

]

α1 +

[∫ 1

0

xdx

]

α2 =

∫ 1

0

4x4dx

[∫ 1

0

xdx

]

α1 +

[∫ 1

0

dx

]

α2 =

∫ b

a

4x3dx

ou1

3α1 +

1

2α2 =

4

51

2α1 + α2 = 1,

donde α1 = 185 , α2 = −4

5 . Para apreciar graficamente tal ajuste veja a figura

Page 108: Apostila Metodos Numericos

7.4 Caso Nao Linear 99

Figura 7.4 Ajuste de uma curva ϕ(x) = α1x+ α2 a funcao f(x) = 4x3.

7.4 Caso Nao Linear

As vezes, quer-se ajustar uma funcao ψ(x) que nao uma combinacao linear das funcoes

gi(x), i = 1, 2, . . . ,m. Neste caso, com frequencia, e possıvel realizar uma “linearizacao” dos dados,

tanto no caso discreto como no caso contınuo, de maneira que pode-se ajustar como anteriormente.

No caso discreto, os casos mais comuns e sua respectiva linearizacao sao mostrados na

seguinte tabela

Funcao ψ(x) Linearizacao Ajuste

ψ(x) = β2eβ1x ln(ψ(x)) = β1x+ ln(β2) ϕ(x) = α1x+ α2, β1 = α1, β2 = eα2

ψ(x) = β2βx1 ln(ψ(x)) =

[

ln(β1)]

x+ ln(β2) ϕ(x) = α1x+ α2, β1 = eα1 , β2 = eα2

ψ(x) = β2xβ1 ln(ψ(x)) = β1 ln(x) + ln(β2) ϕ(x) = α1 ln(x) + α2, β1 = α1, β2 = eα2

ψ(x) = eβ1x+β2 ln(ψ(x)) = β1x+ β2 ϕ(x) = α1x+ α2, β1 = α1, β2 = α2

ψ(x) = 1β1x+ β2

1ψ(x)

= β1x+ β2 ϕ(x) = α1x+ α2, β1 = α1, β2 = α2

Tabela 7.1 Casos mais frequentes de ajuste nao linear e sua respectiva linearizacao

Exemplo 7.5. Ajustar uma funcao ψ(x) = β2eβ1x aos dados da tabela

Page 109: Apostila Metodos Numericos

7.4 Caso Nao Linear 100

x 0, 1 1, 5 3, 3 4, 5 5, 0

f(x) 5, 9 8, 8 12, 0 19, 8 21, 5

Neste caso, ajusta-se uma reta ϕ(x) = α1x+ α2 aos dados

x 0, 1 1, 5 3, 3 4, 5 5, 0

g(x) = ln(f(x)) 1.7750 2.1748 2.4849 2.9857 3.0681

Aqui, m = 2, g1(x) = x, g2(x) = 1, e

α1 =

5

[

5∑

i=1xig(xi)

]

−[

5∑

i=1xi

] [

5∑

i=1g(xi)

]

5

[

5∑

i=1x2

i

]

−[

5∑

i=1xi

]2 =5 · 40, 4156− 14, 4 · 12, 4883

5 · 58, 4− (14, 4)2= 0, 2628,

α2 =

[

5∑

i=1g(xi)

]

−[

5∑

i=1xi

]

α1

5=

12, 4883− 14, 4 · 0, 2628

5= 1, 7407.

Portanto, β1 = α1 = 0, 2628 e β2 = eα2 = 5, 7014, e a funcao que ajusta os dados e

ψ(x) = 5, 7014 · e0,2628x.

Veja a figura 7.5.

Figura 7.5 Ajuste de uma curva ψ(x) = β2eβ1x aos dados da tabela.

Exercıcios

Page 110: Apostila Metodos Numericos

7.4 Caso Nao Linear 101

1. Tem-se a seguinte tabela de dados que correspondem as alturas e pesos de nove in-

divıduos de sexo masculino com idades entre 25 e 29 anos

Altura (m) 1, 83 1, 73 1, 68 1, 88 1, 58 1, 63 1, 93 1, 63 1, 78

Peso (kg) 79 69 70 81 61 63 79 71 73

(a) Ajuste, por quadrados mınimos, uma reta a esses dados de maneira que o peso

seja uma funcao linear da altura.

(b) Estime o peso de um indivıduo com 1, 75 de acordo com o resultado obtido no

ıtem anterior.

2. A tabela a seguir mostra o numero de habitantes do Brasil (em milhoes) desde 1872:

Ano 1872 1890 1900 1920 1940 1950 1960 1970 1980

Habitantes 9, 9 14, 3 17, 4 30, 6 41, 2 51, 9 70, 9 93, 1 130

Ajuste uma reta por quadrados mınimos a estes dados e obtenha uma estimativa da

populacao em 2004. A populacao verdadeira em 2004 e ao redor de 175 milhoes de

habitantes. Comente os resultados.

3. Ajuste por quadrados mınimos um polinomio quadratico a funcao f(x) = sen(x),

x ∈ [0, π].

4. Mediante quadrados mınimos, ajuste os dados

x −8 −6 −4 −2 0 2 4

f(x) 30 10 9 6 5 4 4

(a) por uma funcao ψ(x) = 1β1x+ β2

;

(b) por uma funcao ψ(x) = β2 · (β1)x.

(c) Que criterio ou procedimento utilizaria para afirmar qual funcao ψ(x) produz o

melhor ajuste.

5. A seguinte tabela de dados mostra o tempo (s), t de uma reacao quımica junto com a

concentracao (M), C

t 0, 05 0, 10 0, 15 0, 20 0, 25 0, 30

C 0, 86 0, 68 0, 59 0, 47 0, 43 0, 38

(a) Sabe-se que uma reacao quımica de primeira ordem esta governada pela equacao

C = C0ekt

Page 111: Apostila Metodos Numericos

7.4 Caso Nao Linear 102

onde C0 e a concentracao inicial e k e a constante de velocidade da reacao quımica.

Por mınimos quadrados, determine o valor de k.

(b) Sabe-se que uma reacao quımica de segunda ordem esta governada pela equacao

1

C=

1

C0+ kt.

Por mınimos quadrados determine o valor de k.

(c) Os dados da tabela correspondem mais provavelmente a qual tipo de reacao

quımica?

Page 112: Apostila Metodos Numericos

8 INTEGRACAO NUMERICA

8.1 Introducao

O objetivo central deste capıtulo e o calculo da integral

I =

∫ b

a

f(x)dx (8.1)

mediante uma solucao numerica. Tal tecnica de calculo recebe o nome de quadratura.

Especificamente, seja uma funcao integravel, f(x) definida sobre o intervalo [a, b]. A

ideia basica da quadratura e aproximar a integral mediante

∫ b

a

f(x)dx = A0f(x0) +A1f(x1) + · · ·+ Anf(xn), xi ∈ [a, b], i = 0, 1, . . . , n, (8.2)

onde os Ai sao certos coeficientes a serem determinados, bem como os pontos xi.

Os metodos mais comumente utilizados podem ser classificados em dois grupos:

1. As formulas de Newton-Cotes que utilizam a interpolacao, e

2. A quadratura gaussiana que esta baseada no fato em que a soma em (8.2) e o valor

exato da integral para polinomios de certos graus.

8.2 As Formulas de Newton-Cotes

A ideia basica e aproximar f(x) por um polinomio pn(x) que interpole f(x) em n+ 1

pontos, a = x0 < x1 < . . . < xn = b, igualmente espacados do intervalo [a, b] e realizar a integracao

sobre tal polinomio.

8.2.1 Regra dos Trapezios

Considere n = 1, a = x0 < x1 = b. Denote h = x1 − x0. O polinomio interpolador de

f(x) e

p1(x) = f(x0) +△f(x0)

h· (x− x0) ≈ f(x), (8.3)

103

Page 113: Apostila Metodos Numericos

8.2 As Formulas de Newton-Cotes 104

e integrando (8.3) tem-se

∫ x1

x0

f(x)dx ≈∫ x1

x0

p1(x)dx = f(x0) · (x1 − x0) +f(x1)− f(x0)

h· (x− x0)

2

2

x1

x0

= hf(x0) +h

2

(

f(x1)− f(x0))

(8.4)

e assim, a regra dos trapezios fica

∫ x1

x0

f(x)dx ≈∫ x1

x0

p1(x)dx =h

2

(

f(x0) + f(x1))

. (8.5)

O erro na integracao pela regra dos trapezios e obtido integrando o erro na inter-

polacao, isto e,

ET =

∫ x1

x0

w(x)f ′′(ξx)

2dx, (8.6)

onde, ξx ∈ [x0, x1], para cada x ∈ [x0, x1], e

w(x) = (x− x0)(x− x1). (8.7)

Observe que w(x) < 0, ∀x ∈ [x0, x1]. Se f ′′(x) e contınua sobre [x0, x1], entao ela

atinge seus valores mınimo e maximo nesse intervalo, isto e, existem constantes m e M tais que

m ≤ f ′′(ξx) ≤M, ∀x ∈ [x0, x1] (8.8)

entao

mw(x) ≥ w(x)f ′′(ξx) ≥Mw(x), ∀x ∈ [x0, x1], (8.9)

resultando que

m

∫ x1

x0

w(x)dx ≥∫ x1

x0

w(x)f ′′(ξx)dx ≥M∫ x1

x0

w(x)dx (8.10)

e levando em conta que∫ x1

x0w(x)dx < 0,

m ≤∫ x1

x0w(x)f ′′(ξx)dx∫ x1

x0w(x)dx

≤M. (8.11)

E pelo teorema do valor medio para integrais com peso w(x), existe c ∈ [x0, x1] tal que

∫ x1

x0

w(x)f ′′(ξx)dx = f ′′(c)

∫ x1

x0

w(x)dx. (8.12)

Page 114: Apostila Metodos Numericos

8.2 As Formulas de Newton-Cotes 105

Da equacao (8.6), tem-se que

ET =1

2

∫ x1

x0

w(x)f ′′(ξx)dx =1

2f ′′(c)

∫ x1

x0

w(x)dx, c ∈ [x0, x1], (8.13)

mas∫ x1

x0

w(x)dx = −h3

6, (8.14)

e entao

ET = −h3

12f ′′(c), c ∈ [x0, x1], (8.15)

ou, em termos de estimativa,

∣ET

∣ ≤ h3

12M2, (8.16)

onde

M2 = max{|f ′′(x)| : x ∈ [x0, x1]}. (8.17)

8.2.2 Regra dos Trapezios Repetida

Pode-se observar que o erro (8.15) nao e pequeno quando o intervalo de integracao

e grande. Isto significa que o valor aproximado da integral nao e muito preciso. O que pode

ser feito neste caso e subdividir o intervalo de integracao [a, b] em pontos igualmente espacados

a = x0 < x1 < . . . < xn = b, onde h = xi+1 − xi, i = 0, 1, . . . , n− 1, a aplicar a regra dos trapezios

repetidamente a cada subintervalo [xi, xi+1], i = 0, 1, . . . , n− 1.

Entao

∫ b

a

f(x)dx =

n−1∑

i=0

∫ xi+1

xi

f(x)dx ≈n−1∑

i=0

[

h

2

(

f(xi) + f(xi+1))

]

(8.18)

sendo o erro cometido

ETR = −h3

12

n−1∑

i=0

f ′′(ci) = −nh3

12f ′′(ξ), (8.19)

para algum ξ ∈ [a, b]. A existencia de ξ esta garantida por uma generalizacao do Teorema do Valor

Intermediario.

Portanto,

∫ b

a

f(x)dx ≈ h

2

{

f(x0) + 2[

f(x1) + f(x2) + · · ·+ f(xn−1)]

+ f(xn)}

, (8.20)

Page 115: Apostila Metodos Numericos

8.2 As Formulas de Newton-Cotes 106

e o erro cometido e

ETR = −nh3

12f ′′(ξ) (8.21)

com ξ ∈ [a, b], ou em termos de estimativa,

∣ETR

∣ ≤ nh3

12M2 (8.22)

onde

M2 = max{|f ′′(x)| : x ∈ [a, b]}. (8.23)

8.2.3 Regra de Simpson

Considere n = 2, a = x0 < x1 < x2 = b. Denote h = x1 − x0 = x2 − x1. O polinomio

interpolador de f(x) e

p2(x) = f(x0) +△f(x0)

h· (x− x0) +

△2f(x0)

2h2· (x − x0)(x − x1) ≈ f(x), (8.24)

e integrando (8.24) tem-se a regra de Simpson,

∫ x2

x0

f(x)dx ≈∫ x2

x0

p2(x)dx =h

3

(

f(x0) + 4f(x1) + f(x2))

. (8.25)

O erro na integracao pela regra de Simpson e obtido integrando o erro na interpolacao,

e pode-se mostrar que e

ES = −h5

90f (iv)(c), c ∈ [x0, x2], (8.26)

ou, em termos de estimativa,

∣ES

∣ ≤ h5

90M4, (8.27)

onde

M4 = max{|f (iv)(x)| : x ∈ [x0, x2]}. (8.28)

8.2.4 Regra de Simpson Repetida

Similarmente ao caso da regra dos trapezios repetida, o intervalo de integracao [a, b]

pode ser dividido em pontos igualmente espacados a = x0 < x1 < . . . < xn = b, onde h = xi+1−xi,

Page 116: Apostila Metodos Numericos

8.2 As Formulas de Newton-Cotes 107

i = 0, 1, . . . , n − 1, a aplicar a regra de Simpson repetidamente a cada subintervalo [xi, xi+2],

i = 0, 1, . . . , n− 2. Uma condicao para poder fazer isto e que n deve ser um numero par, n = 2k.

Entao

∫ b

a

f(x)dx =

k−1∑

i=0

∫ x2i+2

x2i

f(x)dx ≈k−1∑

i=0

[

h

3

(

f(x2i) + 4f(x2i+1) + f(x2i+2))

]

. (8.29)

Portanto,

∫ b

a

f(x)dx ≈h3

{

f(x0) + f(xn) + 4[

f(x1) + f(x3) + · · ·+ f(x2k−1)]

+ 2[

f(x2) + f(x4) + · · ·+ f(x2k−2)]}

,

(8.30)

e o erro cometido e

ESR = −nh5

180f (iv)(ξ) (8.31)

com ξ ∈ [a, b], ou em termos de estimativa,

∣ETR

∣ ≤ nh5

180M4 (8.32)

onde

M4 = max{|f (iv)(x)| : x ∈ [a, b]}. (8.33)

8.2.5 Regra dos Tres Oitavos

Considere n = 3, a = x0 < x1 < x2 < x3 = b. Denote h = x1−x0 = x2−x1 = x3−x2.

O polinomio interpolador de f(x) e

p3(x) =f(x0) +△f(x0)

h· (x− x0) +

△2f(x0)

2h2· (x− x0)(x − x1)

+△3f(x0)

6h3· (x − x0)(x − x1)(x− x2) ≈ f(x),

(8.34)

e integrando (8.34) tem-se a regra dos tres oitavos,

∫ x3

x0

f(x)dx ≈∫ x3

x0

p3(x)dx =3h

8

(

f(x0) + 3f(x1) + 3f(x2) + f(x3))

. (8.35)

Page 117: Apostila Metodos Numericos

8.2 As Formulas de Newton-Cotes 108

O erro na integracao pela regra dos tres oitavos e obtido integrando o erro na inter-

polacao, e pode-se mostrar que e

EO = −3h5

80f (iv)(c), c ∈ [x0, x2], (8.36)

ou, em termos de estimativa,

∣EO

∣ ≤ 3h5

80M4, (8.37)

onde, como antes,

M4 = max{|f (iv)(x)| : x ∈ [x0, x3]}. (8.38)

8.2.6 Regra dos Tres Oitavos Repetida

O intervalo de integracao [a, b] pode ser dividido em pontos igualmente espacados

a = x0 < x1 < . . . < xn = b, onde h = xi+1 − xi, i = 0, 1, . . . , n − 1, a aplicar a regra dos tres

oitavos repetidamente a cada subintervalo [xi, xi+3], i = 0, 1, . . . , n− 2. Uma condicao para poder

fazer isto e que n deve ser um numero multiplo de 3, n = 3k.

Entao

∫ b

a

f(x)dx =k−1∑

i=0

∫ x3i+3

x3i

f(x)dx ≈k−1∑

i=0

[

3h

8

(

f(x3i) + 3f(x3i+1) + 3f(x3i+2) + f(x3i+3))

]

. (8.39)

Portanto,

∫ b

a

f(x)dx ≈3h

8

{

f(x0) + 3f(xn−2) + 3f(xn−1) + f(xn)

+

k−2∑

i=0

[

3f(x3i+1) + 3f(x3i+2) + 2f(x3i+3))}

,

(8.40)

e o erro cometido e

EOR = −nh5

80f (iv)(ξ) (8.41)

com ξ ∈ [a, b], ou em termos de estimativa,

∣ETR

∣ ≤ nh5

80M4 (8.42)

onde

M4 = max{|f (iv)(x)| : x ∈ [a, b]}. (8.43)

Page 118: Apostila Metodos Numericos

8.3 Quadratura Gaussiana 109

Os erros das formulas de Newton-Cotes estao dados pelo seguinte teorema

Teorema 8.1. Se f(x) e uma funcao definida sobre o intervalo [a, b] e e de classe Cn+2 (funcoes

com as derivadas ate de ordem n+ 2 contınuas), entao o erro das formulas de Newton-Cotes sao

1. se n e impar,

En =hn+2

(n+ 1)!f (n+1)(ξ)

∫ n

0

u(u− 1) . . . (u − n)du, ξ ∈ [a, b] (8.44)

2. se n e par,

En =hn+3

(n+ 2)!f (n+2)(ξ)

∫ n

0

(

u− n

2

)

u(u− 1) . . . (u− n)du, ξ ∈ [a, b] (8.45)

8.3 Quadratura Gaussiana

Seja uma funcao integravel, f(x) definida sobre o intervalo [a, b]. Sempre e possıvel

expressar∫ b

a

f(x)dx =

∫ 1

−1

g(t)dt (8.46)

mediante a mudanca de variaveis

x =1

2

[

(b− a)t+ a+ b]

, (8.47)

e entao

g(t) =1

2(b− a) · f

(

1

2

[

(b − a)t+ a+ b]

)

(8.48)

A ideia basica da quadratura gaussiana e aproximar a integral mediante

∫ 1

−1

g(t)dt = A0g(t0) +A1g(t1) + · · ·+Ang(tn), ti ∈ [−1, 1], i = 0, 1, . . . , n, (8.49)

onde os Ai sao certos coeficientes a serem determinados, bem como os pontos ti, de maneira que

a formula (8.49) seja exata para todos os polinomios ate de grau 2n+ 1.

Para isto acontecer, basta considerar os polinomios 1, t, t2, . . . , t2n+1, formando o

seguinte sistema de equacoes

∫ 1

−1

tkdt = A0tk0 +A1t

k1 + · · ·+Ant

kn, k = 0, 1, . . . , 2n+ 1. (8.50)

Page 119: Apostila Metodos Numericos

8.3 Quadratura Gaussiana 110

Por exemplo, para n = 1, tem-se o sistema de equacoes

2 =

∫ 1

−1

t0dt =A0t00 +A1t

01 = A0 +A1

0 =

∫ 1

−1

t1dt =A0t10 +A1t

11 = A0t1 +A1t1

2

3=

∫ 1

−1

t2dt =A0t20 +A1t

21

0 =

∫ 1

−1

t3dt =A0t30 +A1t

31

(8.51)

Resolvendo tal sistema, tem-se

A0 = A1 = 1, t0 = −t1 =1√3. (8.52)

Utilizando os polinomios de Legendre, e possıvel demonstrar que o erro cometido pode

ser avaliado de maneira exata mediante

En =22n+1 · (n!)4

(2n+ 1) ·(

(2n)!)3 g

(2n)(ξ), ξ ∈ [−1, 1]. (8.53)

Os valores de Ai e ti sao apresentados na seguinte tabela ate n = 4:

n i ti Ai

1 0 0 2

2 1; 0 ±1/√

3 1

3 0; 1 ±0, 77459667 5/9

2 0 8/9

4 0; 1 ±0, 86113631 0, 34785484

2; 3 ±0, 33998104 0, 65214516

Exercıcios

1. Calcule as integrais pela regra repetida dos trapezios, de Simpson utilizando quatro e

seis divisoes de [a, b]. Compare com os resultados exatos.

(a)∫ 2

1

exdx

Page 120: Apostila Metodos Numericos

8.3 Quadratura Gaussiana 111

(b)∫ 4

1

√xdx

(c)∫ 14

2

1√xdx

2. Calcule as integrais do exercıcio anterior pela regra dos tres oitavos utilizando tres e

seis divisoes de [a, b]. Compare com os resultados exatos.

3. Considerando as integrais do exercıcio 1., quantas divisoes tem que ser feitas no in-

tervalo [a, b] para obter um erro menor que 10−5, quando sao utilizados as regras do

trapezio, de Simpson e dos tres oitavos?

4. Calcule o valor aproximado de∫ 0,6

0

1

1 + xdx

com tres digitos significativos exatos utilizando as regras repetidas dos trapezios, de

Simpson e dos tres oitavos. Em que sentido a regra de Simpson e melhor do que as

outras?

5. Determine h para poder avaliar

∫ π/2

0

cos(x)dx

com erro inferior a 10−3 utilizando a regra de Simpson e dos tres oitavos.

6. Calcule as integrais do exercıcio 1. mediante as formulas de quadratura gaussiana com

2 e 3 pontos e compare com os resultados exatos.

Page 121: Apostila Metodos Numericos

9 RESOLUCAO NUMERICA DE EQUACOES DIFERENCIAIS ORDINARIAS

9.1 Introducao

As equacoes diferenciais sao da mais notavel importancia no desenvolvimento cientıfico

atual pois elas aparecem sempre nas diversas areas da ciencia e da engenharia.

Em geral, uma equacao diferencial e uma equacao envolvendo uma funcao junto

com as suas variaveis independentes bem como as suas derivadas parciais ate de alguma ordem.

Tal ordem de diferenciacao determina a ordem da equacao diferencial.

Se uma equacao diferencial tem uma variavel independente, entao ela e denominada

uma equacao diferencial ordinaria que sera estudado neste capıtulo.

Se uma equacao diferencial tem mais de uma variavel independente, entao ela e de-

nominada uma equacao diferencial parcial. A resolucao numerica das equacoes diferenciais

parciais requer metodologias mais elaboradas e mais especıficas.

Uma solucao de uma equacao diferencial ordinaria e uma funcao que satisfaz a

equacao.

Se, dada uma equacao diferencial de ordemm, e a funcao, assim como as suas derivadas

sao especificadas em um mesmo ponto, x0, entao tem-se um problema de valor inicial.

Dada uma equacao diferencial escalar de ordem m, e facil transformar esta equacao

em um sistema de m equacoes de primeira ordem. Assim, seja a equacao diferencial

y(m) = F (x, y, y′, . . . , y(m−1)) (9.1)

faz-se

z1 = y entao:

z′1 = y′ = z2

z′2 = y′′ = z3

...

z′m−1 = y(m−1) = zm

z′m = y(m) = F (x, z1, z2, . . . , zm),

112

Page 122: Apostila Metodos Numericos

9.2 Erros 113

e no caso de equacoes diferenciais lineares, pode ser escrito matricialmente como

z′1

z′2

z′3...

z′m1

z′m

=

0 1 0 0 . . . 0 0

0 0 1 0 . . . 0 0

0 0 0 1 . . . 0 0

...

0 0 0 0 . . . 0 1

a0(x) a1(x) a2(x) a3(x) . . . am−2(x) am−1(x)

z1

z2

z3...

zm1

zm

+

0

0

0

...

0

f(x)

(9.2)

Neste capıtulo, considerar-se-ao metodos numericos para resolver o problema de valor

inicial

y′ = f(x, y)

y(x0) = y0.(9.3)

Os metodos estudados aqui baseiam-se na seguinte abordagem: dado o problema de

valor inicial (9.3), escolhem-se pontos x1 < x2 < x3 < . . . igualmente espacados, isto e, xi+1−xi =

h, ∀i = 0, 1, . . . e calculam-se as aproximacoes yi ≈ y(xi) da solucao exata utilizando informacao

sobre os pontos anteriores. Se para calcular yi utiliza-se apenas yi−1, o metodo e dito de passo

simples ou passo um. Se sao utilizados mais valores, o metodo e dito de passo multiplo.

9.2 Erros

Tem-se basicamente duas fontes de erro na resolucao numerica das equacoes diferen-

ciais ordinarias.

1. Erros de arredondamento: que dependem da aritmetica de ponto flutuante que esta

sendo utilizada pelo computador.

2. Erros de discretizacao: que podem ser de dois tipos

(a) Erro global: ǫg(xk+1), e a diferenca yk+1 − y(xk+1) onde y(x) e a solucao exata

do problema de valor inicial;

(b) Erro local: ǫl(xk+1), e a diferenca entre yk+1 e o valor, em xk+1, da solucao da

equacao diferencial que passa pelo ponto (xk, yk).

Um conceito importante para medir a precisaode um metodo numerico e sua ordem,

que e definida em termos do erro local de truncamento, como segue: um metodo numerico e dito

Page 123: Apostila Metodos Numericos

9.3 Metodo de Euler 114

de ordem p se existe um numero c tal que

|ǫl(xi)| ≤ chp+1. (9.4)

9.3 Metodo de Euler

O metodo de Euler esta dado por

yn+1 = yn + hf(xn, yn) (9.5)

e o erro local de dicretizacao esta dado por

ǫl(xn) =h2

2y′′(ξn), ξn ∈ [xn−1, xn]. (9.6)

9.4 Metodos de Taylor

O metodo de Taylor de ordem k esta dado por

yn+1 = yn + hy′n +h2

2y′′n + · · ·+ hk

k!y(k)

n (9.7)

e o erro local de dicretizacao esta dado por

ǫl(xn) =hk+1

(k + 1)!y(k+1)(ξn), ξn ∈ [xn−1, xn]. (9.8)

A principal dificuldade destes metodos e o calculo das derivadas y(i)n . O metodo de

Euler e o metodo de Taylor de ordem 1. O metodo de Taylor de ordem 2 esta dado por

yn+1 = yn + hf(xn, yn) +h2

2

(

fx(xn, yn) + fy(xn, yn)f(xn, yn))

(9.9)

9.5 Metodos de Runge-Kutta

Os metodos de Runge-Kutta estao baseados na ideia de concordar com o polinomio

de Taylor de ordem p mas sem exigir o calculo das derivadas parciais de f(x, y), calculando, porem

tal funcao em varios pontos.

Page 124: Apostila Metodos Numericos

9.5 Metodos de Runge-Kutta 115

O metodo de Runge-Kutta de ordem 1 e o metodo de Taylor.

Os metodos de Runge-Kutta de 2 podem ser escritos da forma

yn+1 = yn + ha1f(xn, yn) + ha2f(xn + b1h, yn + b2hy′n) (9.10)

Para haver concordancia com o polinomio de Taylor de ordem 2, e necessario que

a1 + a2 = 1

a2b1 = 1/2

a2b2 = 1/2.

(9.11)

A escolha a1 = a2 = 1/2, b1 = b2 = 1, determina o metodo de Euler aperfeicoado,

yn+1 = yn +h

2

(

K1 +K2

)

(9.12)

onde K1 = f(xn, yn) e K2 = f(xn + h, yn + hK1).

A escolha a1 = 0, a2 = 1/2, b1 = b2 = 1/2, determina o metodo de Euler modifi-

cado,

yn+1 = yn + hK2 (9.13)

onde K1 = f(xn, yn) e K2 = f(xn + h/2, yn +K1h/2).

Um metodo de Runge-Kutta de ordem 3 esta dado por

yn+1 = yn +h

9

(

2K1 + 3K2 + 4K3

)

(9.14)

onde

K1 = f(xn, yn)

K2 = f(xn + h/2, yn +K1h/2)

K3 = f(xn + 3h/2, yn + 3K2h/4).

Um metodo de Runge-Kutta de ordem 4 esta dado por

yn+1 = yn +h

6

(

K1 + 2K2 + 2K3 +K4

)

(9.15)

Page 125: Apostila Metodos Numericos

9.6 Metodos de Passo Multiplo 116

onde

K1 = f(xn, yn)

K2 = f(xn + h/2, yn +K1h/2)

K3 = f(xn + h/2, yn +K2h/2)

K4 = f(xn + h, yn +K3h).

9.6 Metodos de Passo Multiplo

Os metodos Adams estao baseados na integracao da equacao diferencial mediante

metodos de quadratura.

Como y′ = f(x, y), pode-se integrar entre xn e xn+1:

∫ xn+1

xn

y′(x)dx =

∫ xn+1

xn

f(x, y(x))dx

y(xn+1)− y(xn) =

∫ xn+1

xn

f(x, y(x))dx

y(xn+1) = y(xn) +

∫ xn+1

xn

f(x, y(x))dx

Seja fi = f(xi, yi).

9.6.1 Metodos Explıcitos

Aproxima-se f(x, y(x)) pelo polınomio interpolador pm(x) que passa pelos pontos

(xn, fn), . . . , (xn−m, fn−m).

No caso m = 3, tem-se

yn+1 = yn +h

24

(

55fn − 59fn−1 + 37fn−2 − 9fn−3

)

. (9.16)

9.6.2 Metodos Implıcitos

Aproxima-se f(x, y(x)) pelo polınomio interpolador pm+1(x) que passa pelos pontos

(xn+1, fn+1), (xn, fn), . . . , (xn−m, fn−m).

Page 126: Apostila Metodos Numericos

9.6 Metodos de Passo Multiplo 117

No caso m = 2, tem-se

yn+1 = yn +h

24

(

9fn+1 + 19fn − 5fn−1 + fn−2

)

. (9.17)

9.7 Exercıcios

1. Considere o problema de valor inicial

y′ = −20y

y(0) = 1

(a) Qual e a formula para yn fornecida por qualquer metodo de Runge-Kutta de

ordem 2?

(b) O que acontece com a solucao do item anterior quando h > 0, 1?

2. Considere o problema de valor inicial

y′ = 4− 2x

y(0) = 2

e h = 0, 5, 0, 25, 0, 125, 0, 1

(a) Calcule y(1)

(b) O que acontece com a solucao do item anterior quando h > 0, 1?

3. Qual e metodo de passo multiplo explıcito com m = 1 e qual e o metodo de passo

multiplo implıcito com m = 0? Compare tal metodo com o metodo de Euler?

4. Qual e metodo de passo multiplo explıcito com m = 2 e qual e o metodo de passo

multiplo implıcito com m = 1?