Você está na página 1de 376

Sobre os autores

Selma Helena de Vasconcelos r\renales

Pnifrssor;1 do llepart.1mcntl1 dr Matf­


rn;ít ic;1 d;1 llnivrrsidadc írdrr;1l de S.lo Cir­
it1s-LIFS(;1r. Cr;1du;1d;1 cm Matl'm;ític;1 pda
ll n iwr s id;1dc Estadual Júlio l'vksquit;1 fil ho
(llncsp) r mcs trr em Matemática r\plica da
peb Universidade Estadual de Crn1pinas
(Llnil";1mp). Possui e x peri ência na <ÍrTa de
M;llcm;ít ir;1, com ênfase em 111atl'111;1tica
;1plicada, ;1tu;1 11 d o cm p ro jetos de pesquisa e

oricnt1ç;'io d e alunos nas áre;1s de Otimiza­


\'<'io e 1\nálisc Numfrica, com en foques na
nllldd;1gem de p rn hlrma s e métodos numé­
rin 1s de r e s oluç.lo . Tem puhlic;1 do trabalhos
cm ro n gn·sso s cm ensino de M;1temática,
principalmente no ensino de Cálculo Numl�­
rico com ferramentas computacion;1is.

Artur Darezzo Filho

Licrnciado cm Matcmátira p el a íanrl­


d<tdc de Filosofia, Cirnrias e Lrtras de Rio
liam - SP (1971 ), mestre cm Ciências da
Cl1111 pu taç.10 e Estatística - opç.lo computa­
ç;fo - pela Universidade de S.lo Paulo - LISP,
S;'ill Carlos (197B), doutor cm Engenharia
Civil pda Universidade de S.lo Paulo - LISP,
S.lo Ca rlos (1996). Desde 1972 é professor
vinculado ao D epa rtamen to de Mate m áti ca
da Universidade Federal de S.lo Carlos, onde
exerceu as funções de docente, p esqui sador
na área de Modrlagcm Matr r n át irn e Méto­
dos l'\uméricos e coordenador do curso de
Ma temática . A pa rtir do ano de 2001, como
pnikssor aposentado, passou <1 ser professor
n1nvidado voluntário no mesmo Departa­
m e nto de Matemátim até a presente data.
foi também professor e coordenador do
curso de Matrm<Íl ie<1 Aplic;ida e Co m puta­
cional d o Centro Llnivcrsit<'irio Centrnl Pau­
lista - Linicrp - S<'io Car l os (SP). Atualmente
exerce as furn,;(ks de Diretor Acadêmico da
Esrol;1 Superior de Tecnolo gia e Educaç;'io de
Rio Claro, R io Claro SI�
Dados Internacionais ci. Cataloqação na Publicação (CIP)
(c&mara Brasileira do Livro, SP, Brasil)

Arenales, Selma
Cálculo numérico : aprendizagem com apoio de
software I Selma Arenales, Artur Darezzo.
SAo Paulo : Thomson Learning, 2008.

Bibliografia
ISBN 978-85-221-0602-8

1. Cálculo numérico 2. Cálculo numérico -


Problemas, exercicios etc. I. Darezzo, Artur.
II. Titulo.

07-6796 CDD-515.07

1. Cálculo numérico : Estudo e ensino 515. 07


Cálculo Numérico
Aprendizagem com Apoio de Software

Selma Arenales
Artur Darezzo

THOMSON

Austrália Brasil Canadá Cingapura Espanha Estados Unidos México Reino Unido
THOMSON

Gerente Editorial: Produtora Editorial: Revisão:


Patricia La Rosa- Renata Siqueira Campos Gisele Múfalo

Editora de
Supervisora de Produção Composição:
Desenvolvimento:
Gráfica: Segmento & Co. Produções
Ligia Cosmo Cantarelli
Fabiana Alencar Albuquerque Gráficas Ltda.
Supervisor de Produção
Editorial: Copidesque: Capa:
Fábio Gonçalves Sueli Bossi da Silva Eduardo Bertolini

Copyright © 2008 de Thomson Todos os direitos reservados. Dados Internacionais de


Learning Edições Ltda., uma Nenhuma parte deste livro Catalogação na Publicação (CIP)
divisão da Thomson Learning, poderá ser reproduzida, sejam (Câmara Brasileira do Livro, SP,
lnc. Thomson Learning™ quais forem os meios Brasil)
é uma marca registrada aqui empregados, sem a permissão, Arenales, Selma
utilizada sob licença. por escrito, da Editora. Cálculo numérico :
Aos infratores aplicam-se as aprendizagem com apoio de
Impresso no Brasil
sanções previstas nos artigos software I Sei ma Arenales,
Printed in Brazil.
102, 104, 106 e 107 da Lei Artur Darezzo. -- São Paulo :
1 2 3 4 10 09 08
nQ 9.610, de 19 de fevereiro Thomson Learning, 2008.
Condomínio E-Business Park de 1998. Bibliografia
Rua Werner Siemens, 111 ISBN 978-85-221-0602-8
Prédio 20 - Espaço 03 1. Cálculo numérico 2. Cálculo
Lapa de Baixo - CEP 05069-900 numérico - Problemas,
São Paulo - SP exercícios etc. 1. Darezzo,
Tel.: (11) 3665-9900 Artur. li. Título.
Fax: (11) �665-9901 07-6796 CDD-515.07
sac@thomsonlearning.com.br lndice para catálogo
www.thomsonlearning.com.br sistemático:
1. Cálculo numérico : Estudo e
ensino 515.07
Ao Marcos Arenales, meu esposo,
aos meus pais Maria e Sebastião Vasconcelos e
à minha família de amigos.

Com carinho para minha esposa Regina,


companheira de todas as jornadas e
aos meus filhos Helga, Fabiana e João Paulo.
Sumário

Prefácío IX
Agradecímentos X
Capítulo 1 Erros em processos numéricos 1
1

1.1 Introdução 1
1.2 Erros na fase da modelagem 2
1.3 Erros na fase de resolução 2
1.4 Erros de representação 5
1.5 Erro de arredondamento 10
1.6 Erro absoluto 10
1.7 Erro relativo 11
1.8 Erro de truncamento 12
1.9 Propagação dos erros 14
Exercícios 16

Capítulo 2 Solução numérica de sistemas de equações lineares e


matrizes inversas 19
2.1 Introdução 19
2.2 Sistemas de equações lineares 19
2.3 Métodos diretos 21
2.4 Matrizes inversas 46
2.5 Condicionamento de sistemas lineares 49
2.6 Métodos iterativos 49

Capítulo 3
Exercícios 68

Solução numérica de equações 73


3.1 Introdução 73
3.2 Localização das raízes: métodos gráficos 74
3.3 Métodos numéricos para resolução de equações 76
3.4 Equações polinomiais 96
3.5 Sistemas de equações não lineares 106
3.6 Trabalhando com o software numérico 121
Exercícios 124
vii
viii Cálculo Numérico

Capítulo 4 Aproximação de funções 127


4.1 Introdução 127
4.2 Interpolação polinomial 127
4.3 Fórmula interpolatória de Lagrange 132
4.4 Interpolação linear 138
4.5 Fórmula interpolatória de Newton 141
4.6 Interpolação inversa 148
4.7 Fórmula interpolatória de Newton-Gregory 153
4.8 Aproximação de funções - o método dos mínimos quadrados 157
4.9 Trabalhando com o software numérico 182
Exercícios 185

Capítulo 5 Integração numérica 189


5.1 Introdução 189
5.2 Fórmulas de quadratura de Newton-Cotes 191
5.3 Erro cometido na integração numérica 192
5.4 Regra dos trapézios 193
5.5 Regra 1 /3 de Simpson 200
5.6 Regra 3/8 de Simpson 208
5.7 Fórmula de quadratura de Gauss 216
5.8 Integração dupla 223
5.9 Trabalhando com o Software Numérico 227
Exercícios 229

Capítulo 6 Solução numérica de equações diferenciais ordinárias 233


6.1 Introdução 233
6.2 Problema de valor inicial (PVI) 236
6.3 Discretização 241
6.4 Métodos baseados em série de Taylor 242
6.5 Métodos de Runge-Kutta 251
6.6 Métodos previsor-corretor 269
6.7 Trabalhando com o Software Numérico 278
Exercícios 282

Capítulo 7 Manual do Software Numérico 285


7.1 Introdução 286
7.2 Objetivos 286
7.3 Software Numérico - Módulos desenvolvidos 286
7.4 Abertura do Software Numérico 287

Referências bibliográficas 361


7.5 Descrição dos módulos do Software Numérico 288

Índice remissivo 363


Prefácio

Este livro foi projetado e escrito com o objetivo de oferecer aos estudantes de
ciências exatas um material didático simples e de fácil entendimento dos tópi­
cos de um curso básico de Cálculo Numérico, de um semestre, nas instituições
de ensino superior.
Originada a partir de uma apostila, Notas de Cálculo Numérico, escrita
pelos autores e pelos professores que ministravam a disciplina de Cálculo
Numérico e publicada pelo Departamento de Matemática, conforme Darezzo,
A. F.; Arenales, S. H. V. et al. (1992), esta obra reflete a experiência de muitos
anos dos autores, no ensino da disciplina Cálculo Numérico para diferentes
cursos do Centro de Ciências Exatas e de Tecnologia da Universidade Fe­
deral de São Carlos - UFSCar.
O livro é composto de sete capítulos contendo os principais tópicos
abordados numa disciplina básica de Cálculo Numérico nas universidades,
apresentando os métodos numéricos com desenvolvimento teórico e os res­
pectivos algoritmos descritos de forma simples, com exemplos e listas de
exercícios para fixação do conteúdo.
Alguns resultados do Cálculo Diferencial Integral, da Álgebra Linear e
da Geometria Analítica foram utilizados no decorrer dos capítulos, conside­
rando que os alunos tenham estes conhecimentos.
Juntamente com este livro desenvolvemos o Software Numérico de apoio
ao ensino/aprendizagem de tópicos básicos de Cálculo Numérico, no qual
conceitos e resultados dados em sala de aula são reforçados em aulas de
exercícios nos laboratórios computacionais. O Software Numérico relaciona
cinco módulos: Sistemas Lineares, Raízes de Funções, Interpolação e Aproxi­
mação de Funções, Integração Numérica e Equações Diferenciais Ordinárias.
Este software foi desenvolvido inicialmente durante o Projeto de Rees­
truturação do Ensino de Engenharia - Projeto Reenge (1996), em seguida foi
aperfeiçoado e tem sido utilizado como ferramenta metodológica, em aulas
ix
X Cálculo Numérico

de exercícios, para todas as turmas de Cálculo Numérico no Laboratório de


Ensino do Departamento de Matemática da UFSCar.
Acreditamos, também, que este material possa ser aplicado em cursos na
modalidade Ensino a Distância, o qual o professor, com listas de exercícios
bem elaboradas, reforça e melhora a- aprendizagem desses assuntos, com
a aplicação do Software N umérico, que contém um Arquivo de Correção, o
qual armazena todas as etapas de execução dos exercícios feitos pelos alunos.
Posteriormente, o professor pode acessá-lo, analisá-lo e realizar comentários
sobre tentativas, erros e acertos dos alunos estabelecendo uma interação pro­
fessor/ aluno a distância, que pode ser encontrado para download no site da
Editora Thomson (www.thomsonlearning.com.br).
O Manual do Software Numérico, no qual o usuário possui, de forma
simples e clara, um resumo sobre os métodos numéricos desenvolvidos nos
capítulos anteriores deste livro com exemplos ilustrativos, além de infor­
mações sobre o uso, sintaxe, entrada de dados e todos os esclarecimentos
à disposição no Help On Line pode ser encontrado no CD que acompanha
este livro.
O usuário pode instalar o software de maneira simples utilizando a
senha 6028.
Este software também foi usado, numa experiência de ensino na dis­
ciplina de Cálculo Numérico, integrado com o uso de Mapas Conceituais.
Com esta metodologia de ensino/ aprendizagem foi possível observar efeitos,
influências, benefícios e dificuldades, tanto nas atividades em sala de aula
como em aulas de laboratório, conforme publicação Salvador, J. A.; Arenales,
S. H. V. et al. (2003).
Agradecimentos
Aos estudantes da UFSCar e do Centro Universitário Central Paulista - Unicep,
pelo retorno positivo nas versões preliminares que nos incentivou a publi­
car este livro.
Aos colegas do Departamento de Matemática da UFSCar que de alguma
forma acompanharam este trabalho e acreditaram no seu desenvolvimento,
através do incentivo diário e de sugestões para que os objetivos propostos
fossem alcançados.
Em especial, ao Professor Dr. Marcos NereuArenales, docente do Depar­
tamento de Matemática Aplicada e Estatística - ICMC-USP-São Carlos, pela
leitura e pelas sugestões pertinentes nos diversos capítulos deste livro.
Selma Arenales
Artur Darezzo
Capítulo 1

Erros em Processos Numéricos

1 . 1 Introdução
De uma maneira geral, a resolução de um problema de qualquer área do conhe­
cimento científico passa inicialmente por uma fase de observação e entendimento
do fenômeno físico envolvido na qual, usando conhecimentos já estabelecidos,
buscamos, através· de simplificações, quando necessárias, a construção de
um modelo matemático que represente, com a maior fidelidade possível,
o problema que desejamos tratar. Esta etapa é caracterizada como fase da
modelagem do modelo matemático.
Com o problema representado através de um modelo matemático, bus­
camos, para a sua resolução, um método exato quando possível, ou, quando
não, um método numérico aproximado.
Mesmo quando utilizamos na resolução do modelo matemático um mé­
todo exato, isto é, um método que apresenta a solução exata para o modelo,
pelo fato de este envolver um número muito grande de operações elemen­
tares (adição, multiplicação, subtração e divisão) e, sendo estas processadas
em equipamento com capacidade limitada para armazenar dados, podemos
cometer erros.
Por outro lado, quando optamos, em razão da complexidade do modelo
matemático, pela resolução através de um método numérico, além dos erros
no processamento anteriormente mencionados, podemos também cometer
erros provenientes do fato de utilizarmos, para a resolução do modelo mate­
mático, um algoritmo aproximado. Esta etapa é caracterizada como fase de
resolução do modelo matemático.
Podemos entender as duas fases descritas anteriormente através do es­
quema representado na Figura 1.1.
Neste capítulo apresentamos os principais erros que podem ocorrer na
1
fase da resolução de um problema. Os erros cometidos devido à mudança
2 Cálculo Numérico

Solução para o
Problema Real
Modelo Matemático

Fase da Modelagem Fase da Resolução

Figura 1 . 1

da base de processamento, os erros de representação, devido ao sistema uti­


lizado pelos computadores para armazenar dados numéricos; os erros de
arredondamento e truncamento; e erros absolutos e relativos.

1.2 Erros na fase da modelagem


São os erros decorrentes de simplificações, muitas vezes necessárias, para
que o fenómeno da natureza que estivermos observando possa ser repre­
sentado por um modelo matemático e que tenha condições de ser tratado
com as ferramentas matemáticas disponíveis.

1.3 Erros na fase de resolução


São erros provenientes da utilização de algum equipamento, como, por exem­
plo, um computador, para processarmos os cálculos necessários à obtenção de
uma solução para o modelo matemático. Tais erros ocorrem devido ao fato
de os equipamentos terem capacidade limitada para armazenar os dígitos
significativos de valores numéricos utilizados nas operações elementares de
adição, multiplicação, subtração e divisão.
Os erros nesta fase de resolução podem ser classificados em erros na
mudança de base e erros de representação, apresentados a seguir:

Erros na mudança da base


A maioria dos equipamentos computacionais representa os valores numé­
ricos no sistema binário. Assim, quando os dados numéricos presentes nos
modelos matemáticos são lidos, estes são transformados em uma outra base
de representação.
Erros em Processos Numéricos 3

Acontece, muitas vezes, que esta transformação pode ser acometida de


erros, em razão da limitação da representação do equipamento computacio­
Dado um número real, N, é sempre possível representá-lo em qualquer
nal que estamos utilizando para o processamento dos dados numéricos.
base b, da seguinte forma:
Nb = L ªi xbi
m

i=n
onde ai E {o, 1, 2, 3, ... ,(b - 1) } , com n e m inteiros.
Base binária

N 2 = L ªi x2i , ai E {0, 1 }
m

i=n
Exemplo 1.1
a) ( 1011 h = 1 X2° + 1 X21 + 0 X2 2 + 1 X23
Neste caso, o binário só tem a parte inteira, isto é, i = O, l, 2, 3, e temos:
a0 = l, a1 = 1, a2 = O, a3 = 1
b)(111.01) 2 = 1X2- 2 + 0 X2-l + 1X2º + 1X21 + 1X2 2
Neste 'Caso, o binário tem parte inteira e parte fracionária, isto é, n = -2 e
m = 2, e portanto:

Base decimal

N1 0 = L ªi xlOi , a i E {O, 1, , 9}, com n e m inteiros.


m

...

i=n
Exemplo 1.2
a) ( 231 )1 0 = 1 X10° + 3 X101 + 2 X10 2
Neste caso, o número na base decimal é inteiro, i = O, 1, 2 e temos:
ªº = l, ª1 = 3, ª2 = 2
b)(231.35)1 0 = 5x10- 2 + 3x10-1 + lx10° + 3xl01 + 2x10 2
Neste caso, o número na base decimal tem parte inteira e parte fracionária,

ª-2 = 5, ª-1 = 3, ªº = 1, ª1 = 3, ª2 = 2
n = -2 e m = 2, e temos:

Assim, dado um número real qualquer numa base b, podemos escrevê-lo


em uma outra base b', a partir de adequação conveniente de seus coeficien­
tes ai = O, l, 2, 3, ... , (b - 1) e de uma potência adequada na nova base b'.
4 Cálculo Numérico

Mudança da base binária para a base decimal


Procedimento: multiplicar o dígito binário por uma potência adequada de 2.
Exemplo 1.3
a) ( 1101 h = 1 X2° + oX21 + 1X22 + 1 X23 = ( 13 ho
b) (111. 0 11) = 1X2-3 + 1X2-2 + 0 X2-l + 1X2° + 1X21 + 1X22 = (7. 3 75)10
2
Mudança da base decimal para a base binária (número na base
decimal tem somente a parte inteira)
Procedimento: divisões sucessivas.
O procedimento consiste na divisão do número na base decimal sucessi­
vamente por 2, armazenando, a cada passo, o algarismo do resto (r), até que o
quociente da divisão seja igual a 1. O binário é constituído pelo quociente 1
e pelos coeficientes do resto da divisão, a partir do resto mais significativo
(rn 1 ) para o menos significativo (r1 ). Desta forma, temos:
_

N10 = ( l, fn-v fn- 2 1 rn-3 1 ..., r3 , rz , ri )2


Exemplol.4
a) (25)i0 = ( llOOlh = 1x2° + Ox21 + O x22 + 1x23 + 1x24, isto é:
25+2 = 12 e resto = 1, 12+2 = 6 e resto = O, 6 + 2 = 3 e resto = O
3 + 2 = 1 e resto = l, 1 2 = O e resto = 1
+

b) (11) 0 = (1011h = 1X2° + 1X21 + 0 X22 + 1X23


1
Mudança da base decimal para a base binária (número na base
decimal tem somente a parte fracionária)
Procedimento: multiplicações sucessivas.
O procedimento é constituído dos seguintes passos:
a) Multiplicamos o número fracionário por 2.
b) Do resultado do passo a), a parte inteira é o primeiro dígito binário.
c) Do resultado do passo b), a parte fracionária é novamente multipli­
cada por 2.
d) O processo continua até que a parte fracionária seja nula.
Exemplo 1.5
a) (0.1875)10 = (O.OOllh =Ox2-1 + Ox2-2 + 1x2-3 + 1x2-4 = (?'i6)10, isto é:
(0.1875) (2) 0.375 � parte inteira = O e parte fracionária = 0.375
=

(0.375)(2) = 0.75 � parte inteira = O e parte fracionária = 0.75


(0.75) (2) = 1.5 � parte inteira = 1 e parte fracionária = 0.5
(0.5)(2) 1.0 � parte inteira = 1 e parte fracionária = O
=
Erros em Processos Numéricos 5

(13.25)10 (13)i0 + (0.25)10 (1101)2 + (0.01)2 (1101.01)2


e) (0. 2 )i0 (0. 001100110011...)i
b) = = =

Observe que (0. 2 h0 é uma dízima periódica de período (0. 0011). Assim,
o decimal (0.2)i0 não tem uma representação binária exata, isto é, a represen­
tação é aproximada e, portanto, apresenta erro.

1 .4 Erros de representação
Na construção de um equipamento computacional, uma questão iffiportante
a ser considerada em sua arquitetura é a forma que será adotada para repre­
sentar os dados numéricos. Basicamente, na memória de um equipamento,
cada número é armazenado em uma posição que consiste de um sinal que
identifica se o número é positivo ou negativo e um número fixo e limitado
de dígitos significativos.
De maneira geral, destacamos o seguinte sistema de armazenamento
de valores numéricos:

Sistema de ponto flutuante normalizado

número de dígitos significativos n e um expoente exp.


Um número no sistema de ponto flutuante é caracterizado por uma base b, um
·

Dizemos que um número real nr está representado no sistema de ponto


flutuante se for possível escrevê-lo da seguinte maneira:
nr = mxbexp
onde m é a mantissa do número, b � 2 é a base e exp é o expoente da base.
Neste sistema de ponto flutuante, as seguintes condições devem ser
verificadas:
= m ± O. d1 , d 2 1 , dn n e N
..•

sendo n o número máximo de dígitos na mantissa, d 11 d2, , dn, dígitos


.••

significativos da mantissa, do sistema de representação, com o primeiro


dígito satisfazendo a condição 1 :5: d1 :5: (b -1) e os demais dígitos satisfa­
O expoente exp varia da seguinte maneira:
zendo O :5: di :5: (b -1); i = 2, 3, .. , n.
.

expmín :5: exp :5: expmá x


sendo expmín :5: O e expmáx � 1 com expmín e expmáx inteiros.
A união de todos os números em ponto flutuante, juntamente com a
que indicamos por SPF (b, n, expmírv expmáx>·
representação do zero, constitui o sistema de ponto flutuante normalizado,
6 Cálculo Numérico

zero :0.0000 ....... 0 bexPmín


Neste sistema, o zero é representado da seguinte maneira:

n vezes
Considerando o sistema de ponto flutuante normalizado dado na forma
genérica por SPF (b, n, expmíw expmáx), temos:
a) O ºmenor positivo exatamente representável, não nulo, é o real for­
mado pela menor mant.issa multiplicada pela base elevada ao menor
expoente, isto -é:
menor = (0.1000 ....... 0) bexpmín
( n-1 ) vezes
"-,,.--'

b) O maior positivo exatamente representável é o real formado pela maior

maior = (0 X (b - l] [ b - 1] ... (b - 1]) b expmáx


mantissa multiplicada pela base elevada ao maior expoente, isto é:

n vezes
c) O número máximo de mantissas positivas possíveis é dado por:
(b 1 ) bn-I
·

mantissas+ = -

d) O número máximo de expoentes possíveis é dado por:


exp possíveis = exp máx - exp mín + 1
e) O número de elementos positivos representáveis é dado pelo produto
entre o número máximo de mantissas pelo máximo de expoentes, isto é:

NR+ = mantissas+ X expp íveis oss

Se considerarmos que dado um número real nr E SPF temos que


de elementos exatamente representáveis NRt é dado por:
-nr e a representação do zero, podemos concluir que o número total
E SPF

NR1 = 2xNR+ + 1
Exemplo 1.6
Considere o sistema de ponto flutuante SPF (b, n, expmíni expmáx> = SPF (3,
2, -1, 2),
isto é, de base 3, 2 dígitos na mantissa, menor expoente igual a -1 e
maior expoente 2. Para este sistema temos:
a) O menor exatamente representável:
0.10 X 3-t = (1 X 3-t + 0 X 3-2 ) X 3 -t = ..!.
9
Erros em Processos Numéricos 7

b) O maior exatamente representável:

e) A quantidade de· reais positivos exatamente representáveis:


Temos que a quantidade de reais positivos exatamente representáveis é
dada pelo produto entre todas as mantissas possíveis de dois dígitos� formadas
com os dígitos da base 3, isto é, 0.10, 0.11, 0.12, 0.20, 0.21, 0.22, e todas as pos­
sibilidades de expoentes, que no caso são -1, 0, -1, 2.
Desta forma, os 24 positivos exatamente representáveis estão listados
a seguir:

exp = - 1 : 0.10x3-1 = 1 / 9 exp = - 1: 0.llx3-1 = 4 / 27


exp = O: 0.10x3° = 1 / 3 exp = O: 0.1 1x3° = 4 / 9
exp = 1 : 0.10 x31 = 1 exp = 1 : 0.1 1x31 = 4 / 3
exp = 2 : 0.10 x32 = 3 exp = 2 : 0.1 1x32 = 4

exp = - 1 : 0.12x3-1 =5 / 27 exp = - 1 : 0.20x3-1 = 2 / 9


exp = O: 0.12 x3° = 5 / 9 exp = O: 0.20 x3° = 2 / 3
exp = 1 : 0.12 x31 =5 / 3 exp = 1 : 0.20 31 = 2
X

exp = 2 : 0.12x32 = 5 exp = 2 : 0.20 32 = 6


X

exp = - 1 : 0.21 x3-1 = 7 / 27 exp = - 1 : 0.22 X 3-l = 8 / 27


exp = O: 0.21x3° = 7 / 9 exp = O: 0.22 X 30 = 8 / 9
exp = 1 : 0.21x31 = 7 / 3 exp = 1 : 0.22 X 31 = 8 / 3
exp = 2 : 0.21 x32 = 7 exp = 2 : 0.22 X 32 = 8

Observe que o menor real positivo representável é e o maior positivo�


representável é o real 8.
Por outro lado, sabemos que se um real x E SPF então -x E SPF e, como
no sistema de ponto flutuante normalizado o zero é uma representação, te­
mos que os representáveis de SPF pertencem ao conjunto:
R = {x; x [� 8] [- 8, �J {o}}
E , u - u
8 Cálculo Numérico

Todos os reais que não pertencem à união dos intervalos anteriores não
são representáveis e qualquer tentativa de representação fora dos intervalos
anteriores constitui-se em uma mensagem de erro, isto é,
Erro de Underflow, se a tentativa de representação satisfizer:
Under = x; x e - , o o,
{ ( � )u ( �)}
Erro de Overflow, se a tentativa de representação satisfizer:
Over = {x; x E (--oo, -8 ) U (8, +oo)}
Se marcarmos os reais exatamente representáveis na reta real, verifica­
remos, num primeiro momento, uma maior concentração de representáveis nas
proximidades do zero e uma menor concentração à medida que nos afasta­
mos da origem e que, aparentemente, não existe uma uniformidade na sua
distribuição, como acontece com os representáveis do sistema de ponto fixo.
No entanto, é possível observar que os representáveis definidos através
do produto de cada uma das mantissas multiplicada pela base elevada ao
mesmo expoente são igualmente espaçados na representação sobre a reta.
Assim, os reais
0.10X3-l, 0.11X3-l, 0.12X3-l, 0.20X3-l, 0.21X3-l, 0.22X3-l
são igualmente espaçados por h3 = J7 .
Os reais
0.10 X3°, 0.11X3°, 0.12X3°, 0.20X3°, 0.21X3°, 0.22X3°
são igualmente espaçados por h2 = �.
Enquanto os reais
0.10 X31, 0.11X31, 0.12X31, 0.20 X31, 0.21X31, 0.22X31
são espaçados por h1 �.
=

E os reais representados por


0.10x32, O.llx32, 0.12x32, 0.20x32, 0.21x32, 0.22x32
são igualmente espaçados por ho 1.=

De modo geral, podemos representar o espaçamento entre os represen­


táveis exatamente da seguinte maneira:

hi = i ; i o, l, 2, 3
=

Considere o sistema de ponto flutuante SPF (2, 3, -1, 2), isto é, de base 2,
Exemplo 1.7

3 dígitos na mantissa, menor expoente igual a -1 e maior expoente 2.


Erros em Processos Numéricos 9

Para este sistema temos 16 reais positivos exatamente representáveis


além do zero.
A representação na reta real de alguns dos reais positivos do sistema
SPF (2, 3, -1, 2) pode ser visualizada através da Figura 1.2:

o 1/4 5/8 718 1 5/4 7/4 2 5/2 3 7/2

Figura 1 .2

maior é 7 /2.
Observe que o menor positivo exatamente representável é 1/4 e o

Exemplo 1.8
Considere o sistema de ponto flutuante normalizado SPF (3, 2, -1, 2), de base
3, 2 dígitos na mantissa, menor expoente igual a -1 e maior expoente 2.
Para este sistema, temos que:

X = = (0.lO h 3- l e Y = 5 = ( Q.12 h 3 2
X X

são exatamente representáveis, no entanto, (x + y) = (0.0001 0h x3 2 + (0.12h x


3 2 = (0.1201h x3 2 não é exatamente representável em SPF, uma vez que no
sistema de ponto flutuante considerado a mantissa é de 2 dígitos.
Observação
Pode ocorrer de outras propriedades consagradas no conjunto dos números
reais não serem verdadeiras, no sentido da exatidão da representação, no
sistema de ponto flutuante normalizado, como as propriedades comuta­
tiva e associativa na adição, e as propriedades comutativa e distributiva na
multiplicação.

Exemplo 1.9
Dados x , y , z E � e o sistema de ponto flutuante normalizado SPF (3, 2, -1, 2),
temos:
Se X = � = (Q .12h 31 , Y = ;7 = (Q .21h 3-l e Z = � = ( Q .22h 30
X X X

temos:
x + (y+ z) = 0.22x31 e (x + y) + z = 0.21 x31
10 Cálculo Numérico

Podemos observar que:


x +(y + z) * (x + y) + z

1 .5 Erro de arredondamento
Quando estamos utilizando um equipamento comp utacional para proces­
sar uma determinada operação aritmética, se o número obtido não pertencer
às regiões de Underflow ou de Overflow e este não é representável exata­
mente no sistema de ponto flutuante SPF o mesmo será representado de forma
aproximada por nra.
Esta aproximação será caracterizada como um arredondamento do
real nr, para que sua representação seja possível no SPF.
Assim, dizemos que um número na base decimal nr foi arredondado
na posição k se todos os dígitos de ordem maior que k forem descartados
segundo o seguinte critério:
a) O dígito de ordem k é acrescido de uma unidade se o de ordem (k + 1)
for maior que a metade da base. Caso contrário, o número nr é repre­
sentado com os k dígitos iniciais.
b) Se o dígito de ordem (k + 1) é exatamente a metade da base e o de
ordem k é par, então o número nr é representado com k dígitos e,
se o dígito de ordem k é ímpar, então o de ordem k é acrescido de
uma unidade.
c) O arredondamento por corte considera que, para obter um número
com k dígitos, simplesmente trunca-se na posição k.
Exemplo 1.10
Consideremos um equipamento com o sistema de ponto flutuante normali­
zado SPF (b, n, expmíw expmáx) = SPF (10, 4, -5, 5).
a) Se a = 0.5324x103 e b = 0.4212x10 - 2, então a x b = 0 . 22424688x10 1,
que é arredondado e armazenado como (a x b)a = 0 . 2242x101 •
3
b) Se a = 0.5324x103 e b = 0.1237x102, então a + b = 0 . 54477x10 , que
é arredondado e armazenado como (a + b)ª = 0 . 5448x10 . 3

1 .6 Erro absoluto
Definimos erro absoluto como

onde aex é o valor exato da grandeza considerada e aaprox é o valor aproxi­


mado da mesma grandeza.
Erros em Processos Numéricos 11

Como na maioria das vezes o valor exato não é disponível, a definição


anterior fica sem sentido. Assim, é necessário trabalharmos com um limi­
tante superior para o erro, isto é, escrevê-lo na forma:

onde E é um limitante conhecido.


A desigualdade anterior pode ser entendida da seguinte maneira:

ou ainda

isto é, aaprox é o valor aproximado da grandeza aex com erro absoluto não
superior a E.

1 . 7 Erro relativo
Definimos erro relativo como:

Erel = 1� 1 = 1 aex- a
1
aprox
aex 1 aex 1
onde aex é o valor exato da grandeza considerada e aaprox é o valor aproxi­
mado da mesma grandeza.
Como na maioria das vezes o valor exato não é disponível, a definição
anterior fica sem sentido. Dessa forma, é preciso trabalharmos com um limi­
tante superior para o erro relativo, isto é, escrevê-lo na forma:
E

onde õ, é um limitante conhecido.


Podemos observar que o erro relativo nos fornece mais informações sobre
a qualidade do erro que estamos cometendo num determinado cálculo, uma vez
que no erro absoluto não é levada em consideração a ordem de grandeza do
valor calculado, enquanto no erro relativo esta ordem é contemplada.

a) Consideremos o valor exato ªex = 2345.713 e o valor aproximado


Exemplo 1.11

aaprox = 2345.000

Eabs = 0.713
Então,

Erel 0.00030396
=
12 Cálculo Numérico

Consideremos o valor exato ªex 1.713 e o valor aproximado


b)
aaprox = 1.000
=

Então,
Eab 0.713
E el 0.416229
s =

r =

Observe que nos exemplos a) e b) o erro absoluto é o mesmo, embora o


erro cometido pela aproximação seja muito mais significativo no exemplo b).
No exemplo a), o erro relativo é da ordem de 0. 03%, e no exemplo b), é da
ordem de 41.6%.
Observação
Em geral, nos procedimentos numéricos geramos uma seqüência de soluções
aproximadas que convergem ou não para a solução desejada do problema.
Os erros absolutos e relativos serão usados como critério de parada nestas
seqüências de aproximações. Em geral, o erro relativo é preferível, devido às
observações nos exemplos anteriores.
Exemplo 1.12
Para resolver a equação f(x) x2 -a= O, com a > O, podemos utilizar o se­
guinte processo iterativo:
=

�( �)
X n+l = X n + n O, l, 2, ...
=

Assim, dado o valor XQ, podemos, através da expressão anterior, gerar a


seqüência de soluções aproximadas x11 x2,
Dado que a propriedade de convergência da seqüência de aproxi­
•••

mações esteja estabelecida e uma tolerância pré-fixada E foi definida pará o


cálculo de uma raiz da equação f(x) O podemos verificar, de forma absoluta,
se a seqüência de aproximações atingiu a precisão anterior E, realizando
= ,

o seguinte teste:
Se lx n+l - xnl � E for verdadeiro, dizemos que Xn+l é a raiz da equação
f(x) O com tolerância E; caso contrário, devemos calcular outro elemento da
seqüência e, de forma relativa, realizar o seguinte teste:
=

x -x
Se j " ' .j � E for verdadeiro, concluímos que X..+1 é a raiz da equação
iX n+l1
com a tolerância E e, em caso contrário, devemos proceder ao cálculo de outro
termo da seqüência.
1 .8 Erro de truncamento
Quando representamos uma função através de uma série infinita e, por limi­
tações do sistema de armazenamento de dados do equipamento, conside­
rarmos apenas um número finito de termos, dizemos que estamos cometen­
do um erro de truncamento.
Erros em Processos Numéricos 13

Exemplo 1.13
a) Consideramos a representação de uma função f(x) utilizando a Série
de Taylor, nas vizinhanças do ponto x:
f(X) = f(X-)+f<I> (_X) (x l-i. x) +f<2> (_X) (x-21.x)2 +...+f<n> (_X) (x -n.xI t +
···

onde t<n>(x) é o valor da n-ésima derivada da função f(x) no ponto x.


Quando truncamos a série no 3Q termo, isto é, considerando apenas
os termos até a derivada de ordem 2, na expressão anterior, temos um
erro cometido nesta aproximação, como segue:
f(x) = f(x)+f(l>(x) (x l- x) +t<2>(x) --
!
(x - x)2
2!

b) Consideremos o desenvolvimento de f(x) =ex em Série de Taylor,


isto é:
x 2 x3 ...+-+
ex=l+x+-+-+ x n ...
2! 3! n!

ou, de forma compacta:


e =� �-

Xn
n=o n !
X

Suponha que o equipamento utilizado para trabalhar numericamente


com a série seja capaz de armazenar somente dados referentes aos 4 primeiros
termos, isto é:

Neste caso, desprezamos todos os termos de potência maiores que 4,


isto é, truncamos a série no termo de potência de ordem 3.
Destacando os quatro primeiros termos da série, podemos escrevê-la
da seguinte maneira:
n
ex (;1 (x3 +3 X2 +6 X+6)+� �!

Vamos supor que desejamos calcular o valor de ex para x = 2 usando


apenas os quatro primeiros termos da série, isto é, a série truncada.
Neste caso, temos e2 6.33333, que é um valor com erro absoluto bem
significativo quando comparado com o valor e2 7.38906 obtido numa calcu­
=

ladora científica que armazena uma quantidade maior de termos da série.


=
14 Cálculo Numérico

1 .9 Propagação dos erros


Quando desenvolvemos ou utilizamos um processo numérico para buscar aso­
lução de um determinado problema, normalmente o processamento envolve um
número muito grande de operações elementares. Assim, na maioria das vezes, o
erro cometido em uma operação isolada pode não ser muito significativo para a
solução do problema que estamos tratando, mas sim, é necessário analisar como os
erros se propagam quando tratamos com muitas operações no processamento.
Neste caso, é fundamental termos o conhecimento da forma com que
estes erros estão se propagando, isto é, caso estejam se acumulando a uma
taxa crescente, dizemos que o erro é ilimitado, e a seqüência de operações é
considerada instável.
Se, por outro lado, os erros estão se acumulando a uma taxa decres­
cente, dizemos que o erro é limitado e, portanto, a seqüência de operações
é considerada estável.
Podemos visualizar, através da Figura 1 .3, as situações de erros ilimi­
tado e limitado:
Erro Erro

Erro
ilimitado

o Nº iterações o Nº iterações •

a) b)

Figura 1 .3

Exemplo 1.14
Usando aritmética de ponto flutuante de 4 dígitos, base decimal e arredon­
damento por corte, calcule o valor da seguinte soma:
L (xi + Yi ), sendo xi 0.46709 e Yi
4
S = = = 3.5678
i = 1

Para i 1, na aritmética definida, realizamos inicialmente a operação


que resulta no seguinte valor aproximado:
=

51 (x 1 + Y1 ) = 0.4034x101
=

Calculando o erro absoluto, temos:


Eabs l = j 4.03569 - 4.034 j = 0.00169 = 0.169X10-2
Erros em Processos Numéricos 15

Para i xa operaçãoxque resulta no seguinte valor aproximado:


= 2, realiz.amos
52 = ( 1 + y1 ) + ( 2 + y2 ) = 0.8068 x101 ,
cujo erro absoluto é dado por: E abs2 = 1 8.07138 - 8.068 1 = 0.00338 = 0.338X10 -2
Obs e rve que, ao re a li z armos a mes m a oper
cometParemosa i=um rerealroizabsamosolutaoopersignifiaçãocatqueivamentresueltamainoosre. guinte: a ção de adi ç ão por duas vezes ,
3,

cujo erro absoluto é dado por: x x


53 = ( 1 + Y1 ) + ( 2 + y2 ) + ( 3 + y3 ) = 0.1210x102 x
E abs3 = 1 12.10707 - 12.10 1 = 0.00707 = 0.707x10-2

para aParsoama:i repetindo o mesmo procedimento, obtemos o seguinte valor


= 4,

que apresenta o seguinte erro absoluto:


E abs3 = 1 16.14276 - 16.13 1 = 0.01276 = 0.12767X10-l
Como
parcelea, saument podemos
na operamosaçãotdeambém obs e r v ar , na medi d a em
adição,o erconsiro absderoalndouto comet que aument a
a aritmidétoinaca defini mos o númer o de
dfianalant. Deseriotra­
ment
fnaormFia,guraaseqüêa).ncia de operações pode tomar-se instável, conforme gráfico s o ma
1.3

Parseguia nretseoprlvoercesasequação
Exemplo 1.15

o iterativo: f ( x) = x 2 - a = O, com a > O, podemos utilizar o


Xn+I .!.(xn �J,
= +
Xn para n = O, l, 2, ...

deapradioxNesiçmão,adotemulproticediparplicaaçãomsentolueoção,diemvdaisãcadao,equação
queitesrãaocomçãorepetesumaitdãasoprenvol
ateéciquesãvoidsase descalasceuloperjaeda.oavalçõesor
2

ercesso.ro, aDescadatesa tfeoitrma,eprraoçãocediseromealvalentizoadaorconver


finesalte eresrotápodesujeisteo pra umopagardeteaormlionngoado dotipoprdeo­
Xn E
Xn

g i r par
dosconforerrmose grcometáficoiddaos,Fitegmosura queb)a. seqüência de operações se toma estável,
Se a a s o l u ção xda equação, apes a r
1.3
16 Cálculo Numérico

a)b)Representar na base binária os seguintes números decimais:


Exercícios
1.
13
c)d) 29.75
17.6
0.46875
2.
3.
Repre se n te o número dec im al
(0.2) na
Considerando que C,a basD,e F,érereprpreesesentntea: da através dos dígitos
16
base binária com
4, 8, 12 16
O, l, 2, 3,
e dí g itos.
a)b) nanabasbase decie decimmalal
4, 5, 6, 7, 8, 9, A, B,
(27D h6
E,

c)Representar osnasebasguiendecites númer


(270.9) 16
(32.E.32 h6 mal os na forma normalizada
4.
a)b) (100 ho
c)Representar os seguintes números na base binária na forma normalizada
(0.0158 h0
(101 h

b)c)a)
5.
(0.1875 h0
(25.75 h0
(437)8
6. Reprpontoesfleunttueantna erenorta osmposializadotivosSPF(3,exatamente representáveis do sistema de
2, -1, 2).
'

7. Consi d er e o s i s t e ma de pont o fl u t u
deParbasa esete sisdítema:gitos na mantis a, menor expoente e maior expoente
2, 4
ant e normali
-1
zado = SPF SPF
(2, 4, -1, 2)
2.

b)a)c) QualQualQuantééooos menor


maisão oosr poseposxatiitatiment
ivvooeexxatataamentmenteerreeprpreesseentntáávelvel??
e r e pr e s e nt á vei s pos i t i v os ?
e)d)f) Defin
ReprQualeaéseoasntnúmer
erenagiõreseotatdeottoaoverdosl deflosreoaiwposseeidextiatvosunder
amentexateament
fl o
repreeserntepráveiesesnt? áveis.
w.
8. Noem cadasistemacasdeo, opontvaloor flarurteudondado ante norme alo arizadoredondado SPF por corter(terpruencado)
(2, 3, -1, 2), sente,
a)b)das seguintes operações:
0.101 X2º + 0.110 X2 - l
0 . 1 01 X2º + 0.111 X21
C) 0.111 X2º X 0.110 X2 - l
Erros em Processos Numéricos 17

9. Cons id ere o s i s t e ma de pont


baste 2.e Par2adíesgtietossisnatema,mantteimoss a, menor
3,
o fl utu ant e nor m al iz ado SPF
(3,
expoente igual a-1 e maior expoen­ 2, -1 , 2) , de
x = _!_ y =
que:
a) exatamente e repr5 seãsoenteáxvelatamentem SPF.e representáveis. Verifique se é x+ y
9

b) tambémeexatament1 sãoeerxeatpraementsentáevelrepremesSPF.entáveis. Verifique se é


x= 4
3
y = x+ y

10. zadoConsiéderSPFe (2, 1equi0, -15,pament15), deo cujbaseo si2,ste1ma0 dígdeitoponts naomantflutuisanta,emenor
um normalexi­­
a)b)poentQualQuale -15éo omenor
e maioposr exitpoent
pr ó x i m o i
posv o
i t e
i x
v
eat15.amentParaeesretpre seissetntema:ável?
o, depoi s do menor pos itiv o repre se nt ável ?
c)d) VerTrainsfiqfouerme eoxmenor i ste m posientretivo eoomenorpróxime oopróparxaima obaspose deciitivo.mComent
al. e.
e) Quant
f)
Qual oomais sãoorosposexiattivaomentexateament
se reais
e re pr e s e
representáveis positivos? nt á vel ?
Capítulo 2

Solução Numérica de Sistemas


de Equações Lineares e Matrizes
Inversas

2.1 Introdução
Apresentamos neste capítulo o desenvolvimento de algoritmos computacio­
nais para calcular a solução única de sistemas de equações lineares através
de métodos diretos de decomposição e eliminação, métodos iterativos e es­
quemas numéricos para o cálculo de matrizes inversas através da aplicação
de métodos diretos. Posteriormente, apresentamos noções sobre condiciona­
mento de sistemas.
Finalmente, apresentamos algumas aplicações que envolvem a resolu­
ção de um sistema de equações lineares.

2.2 Sistemas de equações lineares


Considere o sistema linear Ax = b, onde A = (aij ) i, j = ... , n x = (xi)t j =
b = (bi)t i = ... , n e det (A) '* (garantia de solução única).
1, 1, ..., n
1, O
Representamos o sistema da seguinte forma:
ª11 X 1 + ª1 2 X 2 + ··· + ª1n X n = b1
ª21 X 1 + ª22 X 2 + ... + ª 2n X n = b 2

Na forma matricial:
a1 1 a1 2 al n
··· X1 b1
a 2 1 ª2 2 ª2 n
••• X2 b2

19
20 Cálculo Numérico

Ainda, pode ser escrito de forma compacta, da seguinte maneira:


n

L a i i x i = bi i = 1, 2, ... , n

Resolver o sistema dado consiste em determinar um vetor x = (xv x21 , xn)t


j=l

•••

que satisfaça todas as equações simultaneamente.


Graficamente, no 9t 2, podemos representar a solução de um sistema

{ -X1 + 2X2 = 3
considerando o seguinte exemplo:

det(A) :;t: O
X1 + X2 = 3
Observe que a solução x = (1, 2) encontra-se na intersecção das duas
retas, conforme Figura 2.1:

Figura 2.1

Definição 2.1
Dizemos que o sistema Ax = b, onde A = (aij ) i, j = l, . .. , n x = (xi )t j = l, ... , n
e b = (bi)t i = . .. , n é consistente se apresenta pelo menos uma solução, caso
1,
contrário dizemos que o sistema é inconsistente.
Definição 2.2
Dizemos que o sistema Ax = b é homogêneo se o vetor b = (bJt = O i = ..., n. 1,
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 21

Observação
Um sistema homogêneo é sempre consistente uma vez que o vetor nulo é
sempre solução deste sistema.
Procuraremos resolver sistemas consistentes através de métodos diretos

dos termos independentes b = (bi) t * O i = 1, ... , n.


e iterativos cuja solução seja não nula. Para isso, consideramos sempre o vetor

2.3 Métodos diretos


Consideramos Ax = b um sistema de equações lineares onde matriz dos
coeficientes é A = (ai i ) i , j = 1, ... , n b = (bi) t i = l, ... , n e det(A) * O.
Um método direto ou exato para calcular o vetor solução x = (xv x0 . , Xn)t ..

é caracterizado por fornecer a solução exata para o sistema dado, não fossem
os erros provenientes do processamento do algoritmo em um equipamento
computacional.

2.3 . 1 Sistema triangular inferior


Considere Lx = b com L = (lij) i, j = 1, ... , n b = (bi) t i = l, ... , n e x = (Xj)t j = ..., n,
1,
um sistema de equações lineares onde a matriz dos coeficientes é triangular
inferior, isto é, os seus coeficientes (lii ) = O sempre que i < j e com lii '# O
i = 1, ... , n.
Podemos escrever:

Para construir o algoritmo que calcula a solução do sistema destacamos


a linha genérica ( i ), isto é:

Podemos, então, escrever:


22 Cálculo Numérico

ou,
(i - 1 )
- I li j xj)
(bi
j= l
X i = ---'-----
lii

Temos, assim, o seguinte algoritmo:

Algoritmo 2.1

Para i = 2, , n, faça
...

(i - 1 )
- I li j xj)
(bi
Xi = -
i=1 -�---

lii

Exemplo 2.1

Calcule a solução do seguinte sistema de equações lineares:

Usando o algoritmo anterior temos:

b3 - l 31 X 1 - l32X2 _ 0 - 1(1) - 1( -1) = O


X3 =
133 1
Portanto, temos a solução do sistema:

x = (l, - 1, 0) 1
�alução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 23

2.3.2 Sistema triangular superior


Considere Ux = y com U = (ui i) i, j l, ..., n y = (yi)t i = l, ... n e x = (xi)t j = 1 ..., n,
um sistema de equações lineares onde a matriz dos coeficientes é triangular su­
=

perior, isto é, os seus coeficientes (uij) O sempre que i > j e com uii -:t:- O i = l, ... , n.
=

Podemos, então, escrever:

U11 X 1 + U12 X2 + ... + U1n Xn = b1


= b2
+ U22 X2 + ... + U2n Xn

+ Unn X n = bn

camos a linha genérica ( i ) , isto é,


Para a construção do algoritmo que calcula a solução do sistema, desta­

ou, na forma compacta,

ui i x i )
n
(bi - L
j = ( i+l)

Algoritmo 2.2

Para i = (n - 1), (n - 2),..., 1 faça

u i i xi)
n
(bi - L
j = ( i+l)

Exemplo 2.2
Calcule a solução do seguinte sistema de equações lineares:
24 Cálculo Numérico

Usando o algoritmo anterior, temos:

x2 =
b2 - u2.3x3 2 -(-1)(0) 1
U22 2

Portanto, temos a solução do sistema:

x= (1, 1, O)t
Observação
Sabemos que o Esforço Computacional Ec de um algoritmo é a quantidade
de operações elementares necessárias para calcular a solução do problema
para o qual foi desenvolvido.
No caso da solução de um sistema triangular superior ou inferior de or­
dem (n), o esforço computacional dos Algoritmos 2.1 e 2.2 é Ec = n2 operações
e1ementares sendo (n) operaçoes · -
- de d"1v1sao, (
n n l)
-
- de a d"1çao
operaçoes -
n n l)
- )e (
2 .
-
(ou sub traçao -
- d e multi" p l"1caçao.
operaçoes
2
Assim, por exemplo, na resolução de um sistema de equações lineares
de ordem n = 10, cuja matriz dos coeficientes é triangular superior ou infe­
rior, estão envolvidas 10 operações de divisão, operações de multiplicação
45
45
e outras operações de adição ou subtração, sugerindo um esforço compu­
tacional de 100 operações elementares.
Experiências computacionais demonstram que o tempo computacional
envolvido nessas operações é pequeno, tornando os sistemas triangulares
bastante atrativos.

2.3.3 Métodos de decomposição


Como observamos anteriormente, sistemas de equações lineares cuja ma­
triz dos coeficientes possui a característica triangular inferior ou superior
apresentam um "pequeno" esforço computacional para a obtenção de sua
solução.
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 25

Este fato nos motiva a buscar formas para que um sistema de equações
lineares Ax = b possa ser resolvido através da solução de sistemas com caracte­
rística triangular permitindo, assim, a utilização dos Algoritmos 2.1 e 2.2.

Definição 2.3
Denomina-se "menores principais" de ordem k de uma matriz A = (a i i ),
i , j = 1 , ... , n por:
d k = det( A k ), onde Ak (ai j) i , j = l , ... , k é formada pelas k primeiras
=

linhas e k primeiras colunas de matriz A.

Exemplo 2.3
Considere a seguinte matriz:

Cálculo dos menores principais:

Ó1 = 2 ô2 = 6 Ó3 = o

Método de decomposição LU

Teorema 2.1
Considere A= (ai i ) i , j = l , ... , n. Se os menores principais de A, ói * O,

matriz triangular inferior L = ( lij ) i, j = 1, ... , n, com lii = 1, por uma matriz
1,
i = 2, ... , n - l, então A se decompõe, de maneira única, no produto de uma

IJ ufr
n
triangular superior U = (uij) i, j = l, ..., n. Além disso, det (A) = det (U) =
i l
=

Prova: indução finita

Temos que A = [ a11 ], L = [ 1 1 1 ] e U = [ u11 ]. Como 1 11 = l, temos


a) Para n = 1

que u11 é univocamente determinado, isto é, u11 = a11 • Logo A = LU,


de maneira única.
b) Suponhamos que a decomposição seja verdadeira para uma matriz A
de ordem n = (k - 1), isto é, Ak - l = Lk-1 Uk -1
e) Provaremos que a decomposição é verdadeira para uma matriz A de
·

ordem n = k.
26 Cálculo Numérico

Particionamos a matriz A em submatrizes da seguinte maneira:

onde A k- 1 k-I é uma matriz de ordem (k - 1 x k - 1), s é um vetor coluna com


(k - 1) componentes e r é um vetor linha também com (k - 1) componentes.

[ ]
De modo análogo, particionamos as matrizes L e U, isto é:

u k-1 Y
u = O u kk

O produto da matriz L pela matriz U resulta na seguinte matriz:

LxU=
[X
L k-1 U k-1
U k-1

Para provar que a decomposição é verdadeira para a matriz A de ordem


n = k, isto é, que A = LU, univocamente, é necessário determinar x, y e ukk de

[
maneira única. Para isso basta considerar a igualdade entre as matrizes

[ A k-1 s ] =
L k-1 U k-1
r a kk X U k-1

temos, assim, o seguinte sistema de equações:

A k-1 = L k-1 U k-1


s = L k-1 y
r = X u k-1
akk = xy + u kk
Como Ak-l = Lk-l Uk_1, por hipótese da indução e Ak-l é não singular,
então Lk-l e Uk-l são também não singulares.
Assim, temos a seguinte solução:

= LIL1 s
= r Uk:�1
= ak k - xy
e os valores para x, y e ukk são determinados de maneira única.
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 27

Processo de decomposição LU

Considere A = (aij ) i, j = 1, . . . , n L = (lij ) , i, j = l, ... , n e U = (uij) i, j = 1, . . . , n


então podemos escrever:

1 Un U12 U1 3 U1n ªn ª12 a1 3 aln


121 1 o U22 U23 u2n ª21 ª22 a23 ª2n
13 1 132 1 U33 U3n = a31 a32 a33 a3n
o
lnl ln2 ln3 ... 1 Unn anl an2 an3 ... ann

Para a construção do algoritmo, construímos as matrizes U por linhas e


a matriz L por colunas, isto é,

Cálculo da 1ª linha de U

lª linha de U

Cálculo da lll coluna de L

1ª coluna de L

coluna de L, 3ll linha de


U, 3ll coluna de L etc., obteremos as fórmulas genéricas, respectivamente,
Se continuarmos calculando a linha de 2ll U, 2ll
para os elementos das matrizes U e L da seguinte forma:

Matriz U
i -1
uii = ai i - L lik uk i i, j = l, . .. , n, i :s; j
k =l
Matriz L
j- 1
ai i - L l ik uk i
lij = ------
k =l i, j = 1, ... , n i > j
ujj

Quando i = j, teremos lii = lü = 1.


Observação

Podemos, assim, desenvolver para a decomposição da matriz A = (aij ),


i, j = l, ... , n no produto A = LU, o seguinte algoritmo:
Algoritmo 2.3
Para m = l, ... , n - 1, faça
Para j = m, m + l, ... , n, faça
m-1
= -
Umj ªmi L lmk u k j
k =l
Para i = m + l , ... , n , faça

lmm = 1
Para m = n, faça
n-1
=
Unn ann - L ln k Uk n
k =l

A=[� : 3: ]
Exemplo 2.4

=ompor a mamz no produto LU.

L = [ � � �]
Como

2 o 1
U= O 2 1
]
� 1 = 2 * O � 2 = 4 * O, temos, usando o Algoritmo 2.3:

[
1/2 1/2 1 o o 2
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 29

Aplicação na resolução de sistemas de equações lineares


Considere um sistema de equações lineares Ax = b, cuja matriz dos coeficien­
tes é A = (aij ) i, j = 1, ... , n x = (xi ) t j = 1, ... , n e b = (bi) t i = 1, ... , n.
Vamos supor que a matriz dos coeficientes A satisfaz às condições do
Teorema 2.1, então podemos escrever A = LU e, portanto, o sistema Ax = b
pode ser escrito:
(LU) X = b
Se denominarmos Ux = y, teremos substituído o cálculo da solução do
sistema Ax = b, pela solução de dois sistemas triangulares; um inferior Ly = b
e outro superior Ux = y.
Para a resolução de sistemas triangulares usaremos os Algoritmos 2.1 e 2.2.
Exemplo 2.5
'usando o método de decomposição LU, resolva o seguinte sistema de equa­
ções lineares:

1) Temos que
�1 = 1 ª11 1 = 3 ;t: o

�2 = 1 11 I
ª1 1 ª1 2
ª21 ª22
=
3 2
1 1
= 1 ;t: o

Portanto, a matriz A satisfaz condições do Teorema 2.1.


2) Construção das matrizes L e U
Usando o Algoritmo 2.4, temos:

L = [ � � �l [�
1 3
4/3 1 1
e U=
o
1 3 �
o

3) Cálculo da solução dos sistemas triangulares


a)

[
Ly = b -7

1 O
1/3 1 O
º] [ ] [ 1 ] [ Y1 - ] [ ]
sistema triangular inferior
y,

� = 2 -7 y2 =
1
513
4/3 1 1 y3 3 y3 O
30 Cálculo Numérico

b) Ux = y � sistema triangular superior

Portanto, temos a solução do sistema:


x = ( - 3, 5, 0)1

Definição 2.4
Dizemos que uma matriz A = (aij ) i, j = 1, ... , n é simétrica aii = ªii i, j = l, ... , n.
Se os menores principais da matriz A, Lii > O i = 1, ... , n, dizemos que A é simé­
trica e definida positiva.
Método de Cholesky
Teorema 2.2
Seja A = (aij ) i, j = 1, ... , n uma matriz simétrica e definida positiva. Então existe

(o�' r
uma matriz R = (rij ) i, j = 1, ... , n, triangular superior, com diagonal positiva, tal

que A = R• R de maneira única. Além disso, det (A) = (det (R))' =


Prova:
Como A é definida positiva, temos que d i > O , i = l , ... , n e, portanto,
A= LU.
Além disso, se A = LU, podemos mostrar que os elementos da diago­
U
nal de = (uij ) i, j = 1, ... , n, podem ser escritos da seguinte maneira:
u ii = �, i, j = l, ... , n, sendo d0 = 1 . (A prova deste resultado é
d i-1
feita por indução finita e fica a cargo do leitor).
Sendo d i > O, i = 1, ... , n, temos que u\ i > O, i = l, ... , n. Então, dividindo
U
cada linha da matriz pelo elemento da diagonal u i i > O, podemos escrever:
U= DG

onde D = (dii ) i, j = 1, ... , n é uma matriz diagonal cujos elementos dii = uii e
G = (gij ), i, j = 1, ... , n é uma matriz triangular superior cujos elementos são
dados por
. .

g1 J
{�i.
se i = j
-J se i :;t: j i < j
=

U ii
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 31

Assim, de A = LU podemos escrever A = L D G e, como A é simétrica,


temos:

Do fato da decomposição de A = LU ser única, e da igualdade anterior,


podemos escrever:

c t = L ou G = Lt, e, considerando que ot = D teremos A = Gt D G

Por outro lado, sabemos que dü = uü > O, i = l, ..., n, o que permite escrever

Como A = ct D G, podemos concluir que

e, portanto,

o que prova a existência da matriz R.


A unicidade da decomposição de A em Rt R decorre da unicidade da
decomposição de A em LU.

Processo de decomposição

Considere A = (aii ) i, j = 1, ..., n, construímos os elementos da matriz triangular


superior R = (rij ) i, j = 1, ... , n, escrevendo o produto Rt . R = A, isto é:

r11 r11 r12 r1 3 rl n ª11 ª12 a1 3 al n


r12 r22 o r22 r23 r2n ª21 ª22 a23 ª2n
r1 3 r23 r33 r33 r3n = a31 ª32 a33 a3n
o
rl n r2n r3n ... � � anl an2 an3 ... ann

a) Construção dos elementos da diagonal de R


ri21 = ª11 � rll = ..Jã;;
2
rA + ri2 = ª22 � r22 = ( ª22 - ri 2 ) 1
· rA + rf3 + rf3 = a33 � r33 = ( a33 - rf3 - rf3 ) 1
32 Cálculo Numérico

ou, de maneira genérica:

e, portanto,

i = l, .. , n
.

b) Elementos não pertencentes à diagonal de R


Construção da lã linha de R
rn r12 = ª12 � r12 = ª12 I rn
r11 r1 3 = a1 3 � r1 3 = a1 3 / r11

Construção da 2ª linha de R
r22
a 2 4 - r12 r1 4
r12 r1 4 + r22 r2 4 = ª 2 4 � r24 = -----

De forma geral:

e, portanto:
i-1
(a ii - L rk i rk i )
k=l i = 1, . , n
.. j = i + l, . . , n
.

Usando convenientemente as expressões genéricas anteriores, pode­


mos determinar os elementos rii da matriz triangular superior R.
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 33

Para i = l,
Algoritmo 2.4
... , n, faça

Para j = i + 1, ..., n, faça

l,
Aplicação na _resolução de sistemas lineares

l,
·Considere um sistema de equações lineares Ax = b, onde A = (aii ) i, j = ... , n,
x = (xi ) t j = ... , n e b = (bi) t i = ... , n.
l,
Se a matriz A satisfaz às condições do Teorema 2.2, podemos escre­
ver A = Rt R, portanto, o sistema Ax = b pode ser escrito como (Rt R) x = b.
Se denominarmos Rx = y, teremos substituído o cálculo da solução do
sistema Ax = b, pela solução de dois sistemas triangulares Rt y = b e Rx = y.
Exemplo 2.6

rl 8
Usando o método de Cholesky, resolva o seguinte sistema de equações lineares:

2
2
4 10
Temos que:
A = At

�1 = 'ª1 1 I = > o 1

�3 = 36 > o
Portanto, a matriz A satisfaz condições do Teorema,2.2.
34 Cálculo Numérico

a) Construção das matrizes R e Rt


Usando o Algoritmo 2.4 temos:
l l

r J r l
2 4
Rt = 2 2 O e R= O 2 1
4 º1 º3 o o 3
b) Cálculo da solução dos sistemas triangulares
Rty = b � sistema triangular inferior

R x = y � sistema triangular superior

Portanto, temos a solução do sistema:


:X = ( 1 , - 2, l)t

2.3.4 Métodos de eliminação


Os métodos de eliminação consistem em transformar o sistema de equa­
ções lineares Ax = b onde A (aij) i, j = 1, 2, ... , n x = (xi)t j = l, 2, . . . , n e (bi)t
i = 1, 2, ... , n num sistema de equação equivalente através da aplicação de
operações elementares.

Método de eliminação de Gauss com pivotamento diagonal


Considere o sistema de equações lineares Ax = b, onde A = (aij ) i, j = 1, . .. , n
x = (xi)t j = 1, .. . , n b (bi)t i = l, ... , n e det(A) '# O.
=

a11 X1 + a12 X2 + ···


+ aln Xn = b1
a21 X1 + a22 X2 + · · · + a2n Xn = b2

O método de eliminação de Gauss, com pivotamento sobre os elementos


da diagonal, consi$te em transformar o sistema dado, através de operações
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 35

elementares sobre as linhas, em um sistema equivalente triangular superior,


tomando, em cada passo, como pivô, os elementos da diagonal da matriz A.
( A, b) �ºpera�ções e_le_m_en_t_ares � ( A( n-1 ) , b ( n-1 ) )
- _ _ _

onde A < n -l l x = b( n -l ) é um sistema triangular superior depois de aplicados


(n - 1) passos.
Consideremos o sistema dado, escrito na seguinte forma:
aW x 1 + aW x 2 + aW x 3 + a �� x 4 + ... + a�� Xn = a��+t
1 1 1 1
ª (21) X 1 + ª (22) X 2 + a(231 ) X3 + a (24) X4 + ... + a(2n1 ) Xn = a(2n) +l

a<nl1 > x 1 + a<n21 > x 2 + a n< 13> x 3 + · · · + a(nn 1)


1 ) X n - a(nn
+l
Considere a matriz aumentada:
1 1 1 1
ª (11) ª (12) ... ª (ln) ª (1 n)+l
a (21l ) ª2( 12) ... ª 2n
(1) ª2n(1)
+l
(A, b) =

a�l a�J ... a� . ª �+1

onde a(i li ) = ai j 1 = 1 ... , n J -- 1 . , n + 1 a (l)


. .

. .
-

in+l - b i i = l ... , n .

Vamos supor que o coeficiente a � : i ':t O, seja considerado elemento pivô.


Passo 1

Caso a g i = O, procedemos trocas de linhas até que o coeficiente que ocupa a

elementares às linhas de (A, b) tomando nulos os elementos da 1ª coluna


primeira linha e primeira coluna seja dif�rente de zero. Aplicamos operações

· abaixo da diagonal:
1 1 1 1 1 a(ln1 )+l
ª (11) ª (12) ª (1 3) ª (1 4) ª (ln)
2
o a � ª (23) ª (24)
2 2 (2)
ª (2n) ª2n +l
(A, b) = o ª 3( 22) a� ª 34 (2 ) 2
ª (3n) ( 2 )
a 3 n +l

( 2 ) ... a(nn2) . ªnn


O a �l ª (n23) ªn4 (2)
+l
onde a(i 1j ) - a i j 1· -- 1 ... , n j = l ..., n + l ª (inl )+l - b i 1 -- 1 ... , n
_ .

1
ª (i 1 )

sendo m i 1 = ----w- 1 = 2 , ... , n.
ª 11
36 Cálculo Numérico

Assim, o sistema dado inicialmente pode ser escrito da seguinte maneira:

aW X 1 + aW X 2 + aW X3 + a�� X4 + ... + a �� X n = a��+t


O + a&2d x 2 + a&2] x 3 + a&21 x 4 + ... + a &� X n = a&�+t
O + a�2d X 2 + aW X3 + aW X4 + ... + a �� X n = a�2�+1

o + a (2) (2)
n n X n -- an n+l

Passo 2:
Supondo que o coeficiente a g> ::F- O seja considerado elemento pivô. Caso
a �;> = O, efetuamos trocas de linhas até que o coeficiente que ocupe a segunda
linha e segunda coluna seja diferente de zero.
Dessa forma, tomamos nulos os elementos da 2ll coluna abaixo da dia­
gonal na matriz (A,b), conforme segue:

ª (111 ) ª(121 ) ª (113) ª(114) ª(ln1 ) a (l1n+) l


o a<i] ª (2)
23
ª(2)
24 ª(2)
2n a (2)
2n+l
(A, b)= o o a� (2)
a � ... a 3 n . (2)
a 3 n+l

o o ª (2)
n3 ª (2) (2) (2)
n 4 ... ann . ª nn+l

Assim:
3 ( 2) 3 .
a(i j ) = a (2) •

i j - mi2 a 2 i 1 = , ... , n J = 2 , ... , n + 1


ª (2)
i2 . 3
onde, mi2 = (2) 1 = , ... , n
ª 22

Temos o sistema na seguinte forma:

a W x 1 + aW x 2 + aW x 3 + aW x 4 + ... + a �� x n = a��+t
o + ª(2) (2) ( 2) (2) ( 2)
22 X 2 + a 2 3 X3 + a2 4 X4 + ... + a 2n X n -- a 2n+l
O O + a(2) 33 X3 + a(342) X4 + ... + a(32n) X n - a(2)
3 n+l

O O + a n(2)3 X3 + a (2)
n 4 X4 + ... + a (2)
(2)
nn X n - a nn+l
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 37

Assim, depois de executados (n - 1) passos, obtemos o sistema inicial


dado Ax = b na forma equivalente triangular superior, da seguinte maneira:
ª (111 ) X 1 + ª(121 ) X 2 + ª (113) X3 + + a(ln1 ) Xn = a (ln1 ) + l
···

ª(2) (2) (2) (2)


22 X 2 + ª 2 3 X3 + + ª 2n Xn - ª 2n + l
···

n-1 ) X a ( n-1 )
a (nn =
n nn+l
cuja solução é dada conforme Algoritmo 2.2 por:
n-1 )
a(nn+l =
Xn n-1 )
a(nn
i ) - �n a(i ) x
ª(in+l ""' ij j
xi = i=
_,_ =i+_l
__

( i (n-1), (n-2), ... , 1


__
=

a.! l li

Algoritmo 2.5
a) Construção do sistema triangular superior equivalente
Para k 1, ... , n - 1, faça
=

Para i = k + l, ... , n, faça


(k)
- (k)
<k >
_
ªik
mik
ªkk
Para j = k, ... , n + 1
a�I �J + l l a�I �J l - m�1 kk l x a(k�J l
=

b) Calcular a solução do sistema triangular superior


Usar o Algoritmo 2.2.
Exemplo 2.7
Usando o método de eliminação de Gauss, resolva o sistema de equações lineares:

Considere a matriz aumentada, conforme o exemplo:

(A, b) = [� o 1 .1
2 1 . 1
]
-3 1 3 . 3
38 Cálculo Numérico

Depois de executar os passos 1 e 2 do método de eliminação de Gauss,

1
temos a matriz na forma triangular superior equivalente:

o 1 . 1
2 o . o
o 4 4

{
Reescrevendo o sistema na forma equivalente triangular superior, temos:

3 X1 + Ü X2 + l X3 = 1
2 X2 + Ü X3 = Ü
4 X3 = 4

Solução do sistema:

x (O O, l)t
= ,

Método de eliminação de Gauss com pivotamento parcial


Considere o sistema de equações lineares Ax = b, onde A = (aii ) i, j = l, ... , n,
x (xj ) t j l, ... , n b (bi)t i 1, ... , n e det(A) -:;:. O.
= = = =

Representamos:

a(ll1 ) X 1 + a(121 ) X 2 + a(113) X3 + a(141 ) X4 + ... + a (ln1 ) X n = a (ln1 )+l


( 1 ) X 1 + ª22
ª21 ( 1 ) X 2 + a( 13) X3 + a( 1 ) X 4 + ... + a( 1 ) X a( 1 )
2 24 2n n = 2n+l
1 1 1 1
a(3 1) X 1 + a (3 2) X 2 + a(33) X3 + a(34) X4 + ... + a(3n) X n = a (31n+l
1 )

a<nl1 l x 1 + a <n12l x 2 + a Cn13> x 3 + 1)


+ a(n1 )n X n - a(nn+l

onde a (l)
. . (l) .
i i - a i i 1 -- 1 , ... , n J -- 1 , ... , n + 1 ain+l - bi 1 -- 1 , ... , n .
O método de eliminação de Gauss com pivotamento parcial consiste
em transformar o sistema dado, através de operações elementares sobre as
linhas, em um sistema triangular superior, tomando, em cada passo, como
pivô o elemento de maior valor absoluto abaixo da diagonal, de cada coluna
da matriz A conforme ilustramos a seguir:
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 39

No k-ésimo passo temos:

(k) ( k) (k) ( k) (k)


ªn ª12 ªn al n al,n+l
(k) (k) (k) (k)
ª22 a 23 a2n a2, n+l
...............
. .
. .

: (k) : (k) (k ) (k)


: ak ,k ! ak ,k+I
. .
ak ,n a k ,n+l
: (k) : (k) (k) ( k)
o : ª k+l, k : ª k+l, k+l
.
.
.
.
ak+l,n a k+l,n
. .

(k) ( k) (k)
an ,n an ,n
i
Escolher o elemento de maior valor absoluto na coluna destacada.

Desta forma, temos a estratégia de pivotamento parcial:


No início do k-ésimo passo, escolher para pivô o elemento de maior
valor absoluto da coluna k, entre os coeficientes da diagonal, para baixo, isto é,
escolher a linha r tal que:

1 a(,k)k 1 = máx { 1 a(k)kk 1 , 1 a(kk)+Ik 1 , ..., 1 a(nkk) 1 }


Efetuar as trocas das linhas r e k, se r -::t:- k. Estas trocas devem ser arma­
zenadas. Para isto, consideramos um vetor P = (p11 p2, ... , Pn) onde Pi for­
nece a linha na i-ésima posição. Inicialmente, temos p1 1, P2 = 2, .. , Pn = n. .

Depois das trocas das linhas (r e k), atualizamos o vetor P trocando Pk por
=

Pr e efetuamos a eliminação de Gauss como anteriormente, considerando


o pivô na posição (k, k).
Observação
Quando usamos esta estratégia de escolha do pivô, podemos provar que a
propagação dos erros de arredondamento é controlada, uma vez que o ele­
mento pivô será o maior em valor absoluto de cada coluna (W'tlkinson, J. H.).
40 Cálculo Numérico

,l
Algoritmo 2.6
a) Início: Vetor que armazena as posições das linhas
Para i = ... , n, faça
Pi = i
b) Construção do sistema equivalente triangular superior
Para k = 1, ... , n - 1, faça
Det �:rne r tal que 1 �:� l = m á x { 1 ��� 1 , i = k, ..., n}
Se a rk = O , então det(A) = O, o sistema indeterminado, Pare.
Trocas das linhas k e r:
1,
Para j = k, ... , n + faça
(k)
aux = a r j
(k ) (k)
arj = akj
(k )
ak j = aux
aux = Pr
Pr = p k
Pk = aux
Para i = k + 1, ... , n, faça
(k)
(k) ai k
mi k = (kf
akk
Para j = k, ... , n + 1, faça
(k+l) (k) (k) (k)
ai i = a i i - mi k ª k i
e) Calcular a solução do sistema triangular superior
Usar o Algoritmo 2.2.
Exemplo 2.8
Usando o método de eliminação de Gauss com pivotamento parcial, resolva
o sistema de equações lineares:

U � �H:: H: l
Considere a matriz aumentada e o vetor P (p 1 1 p2, p3) que armazena as
=

lr 1
permutações nas linhas da matriz A. Inicialmente temos P = (1, 2, 3).
2 3 . 3
(A, b) = 3 1 0 . 4
o 3 4.3
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 41

Passo 1
Na primeira coluna observamos que o maior coeficiente em valor absoluto é
o que ocupa a posição linha 2, isto é, o a2 1 = 3.
Este coeficiente, considerado como elemento pivô, deverá ocupar a po­
sição diagonal na primeira coluna, portanto, devemos trocar a 2ª linha pela
lil linha (coeficiente a2 1 ocupa a posição (1,1)).
Em seguida, procede-se como no método de eliminação de Gauss com
pivotamento na diagonal para tornar nulos os coeficientes da primeira coluna
abaixo do elemento pivô.
Temos, assim, o sistema na seguinte forma:
O .

f .
3

(A, b) = O 513 3

o 31 4 .

Atualizamos o vetor P = (2, 1, 3).


Passo 2
Na segunda coluna, observamos que o maior coeficiente em valor absoluto é
o que ocupa a posição linha 3, isto é, o a32 = 3.
Este coeficiente, considerado elemento pivô, deverá ocupar a posição dia­
gonal, na segunda coluna, portanto, devemos trocar a 3il linha pela 2il linha
(coeficiente a32 ocupa a posição (2,2)) e atualizamos o vetor P = (2,3,1).
Neste caso, temos o seguinte sistema:

3 1

[ o 3
o 5/3
Devemos, agora, tornar nulos os coeficientes da segunda coluna abaixo
do elemento pivô.
Fazendo operações elementares sobre as linhas teremos o sistema na
forma triangular superior, isto é:

Ü Ü 7 /9
=
[ � � � l [ :: l [ : l X3 Ü
Resolvendo o sistema triangular superior, teremos o seguinte vetor solução:

x = ( 1 , l, 0)1
42 Cálculo Numérico

Método de eliminação de Gauss com pivotamento total


Considere o sistema de equações lineares Ax = b, onde A = (aii ) i, j = 1, ... , n,
x = (xi ) t j = l, ... , n e b = (bi) t i = 1, 2, ... , n e det(A) * O.
Representamos por:
( l) (l)
a 11 X 1 + ª(121 ) X 2 + a(113) X3 + a (114) X4 + . + a 1n X n = a(ln+l
1) ..

(l) l)
1) (1
ª2 1 X 1 + ª (22 X 2 + ª 2 3) X3 + ª24 ( 1 ) X4 + .. + a(2n (1)
X n = ª2n+l .

a3 1 X 1 + a(312) X 2 + a(331 ) X3 + a(341 ) X4 + ... + a 3 n X n = a(31n+l


(l) (l)
)

(1) 1
- a (nn+l
. . . + a nn X n - )

onde a(iil ) - a i i ' 1 -- 1 , ... , n, J. -- 1 , ... , n + 1 , a(in+1


-

l)
- b i 1. -- 1 , ... , n -

O método de eliminação de Gauss com pivotamento total consiste em


transformar o sistema dado, através de operações elementares sobre as linhas,
em um sistema triangular superior equivalente.
Neste caso, tomamos, em cada passo, como pivô o elemento de maior
valor absoluto entre todos os elementos da submatriz, abaixo da k-ésima
linha e a partir da k-ésima coluna, isto é, entre os elementos a\� l i � k, j � k ,
conforme ilustramos a seguir:
No k-ésimo passo temos:
(k) (k) (k) (k) (k)
ª11 ª12 ªn a ln aln+l
(k) (k) (k) (k)
ª22 a23 ª2n ª2n+l

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

(k) (k) (k) (k)


akk akk+1 ak n . ak n+l
(k) (k) (k) (k)
o ªk+l k ªk+l k+l ak+ln ak+ln

(k) (k)
an k an k+l

i
Escolher o elemento de maior valor absoluto na submatriz
destacada.
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 43

Desta forma, temos a estratégia de pivotamento total:

1 �� 1 = máx { 1 �: 1 , i�k j �k }
Devemos trocar as linhas (k e r) e as colunas (k e s). Estas trocas devem ser
armazenadas. Para isto, considere os vetores P = (p 1 1 pz, ... , Pn) e Q = (q1 , qz, ... , qn),
onde Pi fornece a linha na posição i, e qi a coluna na posição j. Efetua-se a
eliminação de Gauss com o pivô na posição (k, k).
Observe que as trocas de colunas produzem trocas no vetor solução. Por
exemplo, se a 3ª coluna é trocada com a 1ª coluna, então a 1ª posição do vetor
solução contém a variável x3 e a 3ª posição do vetor solução contém a variável x1 .

Algoritmo 2.7
a) Início: Vetores que armazenam as posições das linhas e colunas
Para i = 1, ... , n, faça
Pi = i
qi = i
b) Construção do sistema equivalente triangular superior
Para k = l, ... , n - 1, faça
Determine r e s tal que ars = m á x1 (k) 1 {I (k) 1
aii i = k, . . ., n j = k, ... , n }
Troque a linha k com a linha r, atualize Pk e Pr·
Troque a coluna k com a coluna s, atualize qk e q5•
Para i = k + 1, ... , n, faça
(k)
mi k = ('k"}
<k > a i k

ªkk
Para j = k, ... , n + l , faça
( k + I ) ( k ) (k) ( k )
a i i = a i i - mi k ª k i
e) Calcular a solução do sistema triangular superior
Usar o Algoritmo 2.2.

Exemplo 2.9
Resolva o sistema de equações lineares usando o método de eliminação de
Gauss com pivotamento total.
44 Cálculo Numérico

[� � ! : �]
Considere a matriz aumentada:

(1,
Inicialmente temos P = 2, 3) e Q = (1, 2, 3), os vetores que armazenam
as posições das linhas e colunas da matriz A, respectivamente.
Fazendo trocas de linhas e colunas de forma conveniente e atualizando

[ � � -111/61/ 6] [::] [-111/61/ 6]


os vetores P e Q, temos o seguinte sistema triangular equivalente:

=
Ü Ü
Neste caso, temos P = (2, 3,
Solução do sistema:
1) 1, X2
e Q = (3, 2)

x = (O, 1, O)t

2.3.5 Método de eliminação de Gauss-Jordan

1,
Considere o sistema de equações lineares Ax = b, onde A = (aij) i, j =
x = (xi)t j = l, ... , n e b = (bi)t i = ... , n.
1, ... , n

Representamos por:
(l)
a(ll1 ) X 1 + a(121 ) X2 + a(131 ) X 3 + a (114) X 4 + ... + a 1n = a(ln+l
1)
l
( 1 ) X 1 + ª22
ª21 ( 1 ) X2 + a(231 ) X 3 + a( 1 ) X + ... + a(2n) = a(2n+ 1)
24 4 l
l
()
a (311 ) X 1 + a (321 ) X 2 + a(331 ) X 3 + a(314) X 4 + ... + a 3n = a(3n+
1)
l

(l) 1)
a(nl1 ) X 1 + a n( 12) X 2 + a(n31 ) X 3 + a (n14) X 4 + ... + a nn - a (nn+l
(1) (i)
onde a i i = a ii i = l, ... , n j = l, ... , n + l, a 1n+1 = bi i = l, ... , n.

ma dado, através de operações elementares sobre as linhas, em um sistema cuja


O método de eliminação de Gauss-Jordan consiste em transformar o siste­

matriz dos coeficientes seja a matriz identidade, tomando, em cada passo, como
pivô os elementos da diagonal da matriz A Utilizamos neste método operações
semelhantes àquelas aplicadas no método de eliminação de Gauss, isto é,
( A, b ) operações elementares
( 1, b )
onde 1 x = b é um sistema cuja solução é o vetor b.
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 45

Considere o k-ésimo passo:


a) Dividir a k-ésima equação pelo pivô a LkJ .
b) Subtrair das la, 2a, ... , (k-l )a, ... , n-ésima equações a k-ésima equação
(k) (k) (k ) (k) (k )
multiplicada por a 1k , a 2k , ... , ªk-l k , a k+lk , ... , a nk respectivamente.
Assim, no k-ésimo passo temos o sistema escrito na seguinte forma:
( k+l ) ( k+l ) k+l )
l x 1 + O + O + + ... + a l ,k+l Xk+l + + a ln Xn - a (ln+l ···

( k+l ) ( k+l ) ( k+l )


Ü +1
X2 + Ü + Ü + ... + a 2,k+l Xk+l + ... + a 2n Xn - ª2n+l
( k+l ) ( k+l )
O + O + l x 3 + 0 + ... + a 3, k+l Xk+l + ... + a3 n Xn -- a(3k+l n+l
)

�� �B) (�ij
o + o + o + o + ... + a nk+l Xk+l + ... + a nn X n = a nn+l
Continuando dessa forma até executarmos o n-ésimo passo, temos a
solução do sistema:
- - ( n)
x = b, onde bi = ai n+l i = l, . . . , n
Algoritmo 2.8
a) Construção da matriz identidade
Para k = 1, ... , n, faça
Para j = k, ... , n+ l, faça
(k)
a <kki + 1 > ªki
a (kkkl
=

Para i = 1 , ... , n, i * k, faça


a� � + I ) = a� k> - a� kk> a<kk>
IJ IJ 1 J

b) Calcular a solução do sistema


(n)
Imprimir o vetor solução xi = a in+1 , i = 1, . . . , n.
Exemplo 2.10
Usando o método de eliminação de Gauss-Jordan, resolva o sistema de equa­
ções lineares:

Considere a matriz aumentada:


l ! � � ] l:J l � ]
-

l ! �]
2 4
(A, b) 1 2

3 -2
46 Cálculo Numérico

[
Após executar os passos 1 e 2, podemos escrever:
1 2/3 4 / 3 . 1 / 3
(A, b) = O 1 / 3 2/3 . 5/3
l
o 1 / 3 -22/ 3 . 5/3
Repetindo os passos 1 e 2 até tomar a matriz A 1 matriz identidade,

[�
=

obtemos:
o
(A, b) = 1
o
cuja solução é x = (-3, 5, 0)1 .

2.4 Matrizes i nversas


Seja A = (aij ) i j = l, ... , n uma matriz não singular (det(A)*Ü). Então existe
uma única matriz A-1 chamada de inversa de A, tal que A A-1 = 1.
Desta forma, temos:
1 o o o
o 1 o o
=

o o o ... 1
Portanto, para determinar as n colunas da matriz inversa A-1 , temos de
resolver n sistemas de equações lineares, usando qualquer um dos métodos ·

diretos vistos anteriormente, como observa-se a seguir:


a 11 a 1 2 a ln X 11 1
ª 21 a 22 a 2n
··· X 21 Ü
= � 1ª coluna de A-1

a n l a n 2 .. . a nn Xnl o

ª11 ª12 aln X 1n o


ª21 ª 22 a2n X2n o
= � n-ésima coluna de A-1

a n l a n 2 ... a nn X nn 1
A solução dos n-sistemas anteriores identificam as n-colunas da matriz
inversa A-1 .
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 47

Exemplo 2.11

l
Determine a inversa da matriz A a seguir, usando o método de eliminação

r J r :: :
de Gauss:

� � �l
X1 2 X1 3
A1= x22 x23
Ü 1 1
A= - ---t inversa de A
X31 X32 X33
- 1

� � � l r ::: :: ::: i r � � �
Como A A = 1, temos:

r J
Ü 1 1 X31 X32 X33 i
Ü Ü 1
=

Logo, três sistemas de equações lineares devem ser resolvidos:

Construímos inicialmente a matriz (A, 1) e a transformamos numa matriz


triangular superior, usando os passos de Gauss:
o 1 . 1 o o 1 1 o

[� 1
�H �
o
o -1 . o
2 . 1
o
1
o -1
Assim, podemos resolver os sistemas triangulares, como segue:
2 o 1
o -1 �]
r � � � i r:: i r � i
Ü
(x 11
Ü -1 X 31
x 21 x31 )1 = (1, O, O)
=
Ü
1ª coluna da matriz inversa

:
---t

[� � �i r : i r �i
Ü
(x 12
Ü -1 X 32
=

x 22 x32 )1 = (- 1, - 1, 1)
-1

---t 2a coluna da matriz inversa

r � � � l r:: i r � i
Ü
(x 1 3
Ü -1 X 33
=

x 23 x33 )1 = (1, 2� - 1)
1

---t 3a coluna da matriz inversa


48 Cálculo Numérico

]
Portanto, temos:

A-1 [
1 -1 1
= O -1 2 �
o 1 -1
matriz inversa de A

Observação
Quando usamos o método de Gauss-Jordan no cálculo da matriz inversa,
transformamos a matriz A na forma da matriz identidade, usando os passos

como no exemplo anterior. Retomamos os sistemas equivalentes 1 x = b. Neste


de Gauss-Jordan, simultaneamente com os vetores da matriz identidade,

caso, a matriz inversa encontra-se em cima da matriz identidade modificada,


conforme Exemplo 2.12:

Exemplo 2.12
Usando o método de eliminação de Gauss-Jordan, determine a matriz inversa:

A= O [ �]
2
1
1
-1
o
Construímos inicialmente a matriz:

[
2 1 3
(A, 1 ) = O -1 1
1 o 3
1 o
o 1
o o n
Aplicando os passos do método de eliminação de Gauss-Jordan, obtemos

-2]
a seguinte matriz:

(1, A-1 )� [� o
1
o
o
o
1
3/2 3/2
. -1 /2 -3/2
. -1/2 -1/2
1
1

Ü X Ü X 1 2
Temos, neste caso, os sistemas equivalentes:

[� 1 Ü] [X2n1 ]
Ü 1 X31
0
= [ ]
3/2
-1/2
-1/2
[1ÜÜ Ü1 Ü1] [X3X222]
0
= [ ] [ÜÜ m::J{�J
3/ 2
-3 / 2
-1/2
1 o
1
o
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 49

Assim, temos a matriz inversa:


/2
-1/2
3-1/2
3/2 -2
- /2 1
1
A -1 =
f -1/2
3 1
2.5 Condicionamento de sistemas lineares
Dizemos que um sistema de equações lineares A x = b é mal condicionado se
pequenas perturbações em alguns de seus coeficientes produzem bruscas altera­
ções em sua solução. Para detectar o mau condicionamento de um sistema linear,
devemos calcular o número de condição da matriz do sistema, definido por:
K(A) = l Al l A 1
1";
-i

Se K(A) for "próximo de dizemos que o sistema é bem condicionado;


caso contrário, dizemos que o sistema é mal condicionado.

Exemplo 2.13
Considere o sistema de equações lineares:

[ � 1.00�01] [::] [2.0�001]=

Solução: x = (1, l)t


Considere o sistema dado ligeiramente modificado conforme o exem­
plo dado:

Solução: x = (12, -lO)t


Podemos observar que temos um sistema mal condicionado, pois uma
pequena modificação no vetor b do sistema provoca uma grande alteração
na sua solução.

400004.00001
Temos, neste caso:
K(A ) =

2.6 Métodos iterativos


2.6.1 Introdução
Um método para calcular a solução única de um sistema Ax = b, A = (ai i )
i, j = l, ... n e det(A) * O é denominado iterativo quando fornece uma seqüência
Cfe soluções aproximadas, em que cada solução aproximada é obtida da ante­
rior pela aplicação de um mesmo procedimento.
50 Cálculo Numérico

mação De modo ger a l , a cons t ru ção b do


par mét
a a ofdo
o r i
m tae r a t
equi i v o
v cons
alentei d er a a
H tr a ns f o r ­
poscialtxer(Oi)o,dordetmsentiesrtmeema,inamos
a paroritgirinadesalseAtqüêaxnovancia fdeormsoalue çõesde umaaprsooxliumçãoadasaprxconsoximidxadaeragndoinie,­
= = +

o processo iteraxt(ikv+o:l) Hx(k) g O, . ., onde: 1, 2,


H =

� mat r
+

i z i t e
k=
r a t i v a ( n n) g � vet o r
Assisstiemma, parAtxindo-b,sdete deerumaminamosaproxaimseaçãoqüêninciiacideal xvet(O) paroreas axs(Io),luxção(2), xe(3x)at, .a.
x (nxl)

x do
que se pretende, seja convergentleimparxaCkal solução isto é,
=

X:,

será necesApressáerntioamosnesteacapíseguiturloum. breve resumo de resultados e definições que


= X:

2.6.2 Resultados e definições

Definimos norma de um vetor x1 e- l V: V(e�spaço9t vetorial) por:


Definição 2.5: Norma de vetores

satisfanzendo às s e guint e s condi çX


ões : � l x l
1n2)) l x l :2:: =ü 'v' x e V 'v'; l xal e=9tü�, 'v' xx = VO
l a x l lal l x l ; e
n3) + + 'v' x, e V
l x Yl l $ l x l l Yll ; Y
De esp(e�ial inty:s e, quando V 9tn, são as normas lp definidas por:
l x l P � x PJ � 1 e l xlL máx{lxi l, i = l, . ., n}.
Observação
=

=
ld ; p =

Considere x = (x1 x2, . .,xx1n) x9t2n . . + xn n x


Exemplo 2.14
E

l xl1 = l l + l l + l l ( ni = l i = Ll l
Yz
l x l 2 = xi x � + . . + x � = � l xi 1 2 J
J +

l x lL = máx l x1 l, l x2 l 1 · ·1 l xn l =
{ } �i�� l xi l
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 51

Exemplo 2.15
Considere x = (x 1 , x 2 1 x 3 , x 4 ) = (l, 2, 3, 4) E 9\ 4 Então, temos:

Observação
a) No ':R 2
podemos identificar a li 1 2 como o comprimento do segmento1que
x

liga a origem (O, O) ao ponto P(xv Xz) do plano (x, y), isto é, d = (xr + xn 1 2 .

Normas equivalentes
Considere l i . l i e l i . l i b duas normas em V. Dizemos que as normas são
ª

equivalentes se existem constantes reais positivas k1 e k2, tais que:

É possível mostrar que, em um espaço de dimensão finita, todas as normas


Observação

são equivalentes.

Exemplo 2.16
Considere x = (x 1 1 x 2 , , x n ) E 9\ n . São válidas as seguintes desigualdades:
•••

a) l xL $ ll x l 1 $ n l xL
b ) l � L $ l x l 2 $ fo l xL
c)
n l x l 1 $ l ll 2 $
x fo l x l 1
Seqüência convergente
Considere x < i J = (x 1 , x 2 1 , X n )( i ) uma seqüência de vetores do espaço veto­
•.•

rial 9\ n . Dizemos que a seqüência x(i) converge para x = (x1 , x2 1 , xn ) E 9\ n •••

se li x < i l - x li � O, quando i � para qualquer norma em 9\ n .


oo,

Exemplo 2.17
..
C ons1"d ere a sequencia
1 (
x ( i ) - i, o , o , ... , o
A •
) c»n ,. 1. -- 1, 2, ... e -x - (O, , ..., O).
E .:1\ o

Como l x< i l - x l = � ' temos l x < i l _ x l � O, quando i � oo.


1
Definição 2.6: Norma de matriz

(n n) sobre 9\. Uma norma em V é uma aplicação indicada por 1 . 1 tal que:
Considere V = 9\ (n, n) o espaço vetorial de todas as matrizes quadradas de ordem
x

li · li : 9\ (n, n) � 9\
A � l Al
52 Cálculo Numérico

satisfazendo às seguintes condições:


ni ) l i A l i ;?: O; V A e 9l (n, n) e l i A l i = O � A = O
n2) l i a A li = 1 a 1 1 1 A l i ; V a e 9l, V A e 9l (n, n)
n3) l i A + B l i $ l i A l i + l i B l i ; V A , B e 9l (n, n)

Exemplo 2.18
Considere A = (aij ) i, j = l, . ., n, então
. temos as seguintes normas de matrizes:

li A I L = ll A l lL = � . _xn L
l _ i� . 1 1 ai i 1 � norma linha
J=

n n 2
li A 11 2 = L
i=l
L (ai i ) � norma euclidiana
j=l

Propriedade
Para as normas l i . 1 11 e li . I L temos:

ll A B ll $ ll A ll ll B ll V A , B e 9l (n, n)
· ·

Exemplo 2.19
Considere a matriz:

então,

3
l i A 112 = L (ai i ) 2 = fi3 = 8 . 54
j , j=l
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 53

Definição 2.7
Considere uma norma de vetor x E 9t n e uma norma de matriz A e � (n, n).
Dizemos que estas normas são consistentes se:
Ax A x 'v' A e �(n , n) e 'v' x e � n
ll j l�ll ll ll ll
2.6.3 Método iterativo de Jacobi-Richardson
Considere o sistema de equações lineares Ax = b, onde A = (aij ) i, j = l, 2, ... , n
det(A) -:F- O, com a diagonal principal aii -:F- O i = l, . , n: ..

a11 X1 + a1 2 X2 + a1 3 X 3 + ··· + aln Xn = b1


a2 1 X1 + a22 X2 + a2 3 X3 + ··· + a2 n X n = b2

Podemos escrever o sistema dado na forma equivalente dividindo cada


linha pelo elemento da diagonal e explicitando x1 na 1ª equação, x2 na 2ª equa­
ção, x3 na 3ª equação e Xn na n-ésima equação, conforme vemos a seguir:

X 1 = _!_ (b 1 - a 1 2 X 2 - a 1 3 X3 - ··· - a1n xn )


ªn
Xz = -
1
ª22
(b2 - ª21 X 1 - a23 X 3 - ··· - a2 n x n )

Na forma matricial temos:

X1 o - ª 2 1 - a3 1
- -
anl
X1
b1
ª11 ª11 ª11 ª11

ª21 a23 a2 n b2
X2 o X2
ª22 ª22 ª22 ª22
= +

o
54 Cálculo Numérico

{
Assim, podemos escrever:
x = Hx + g, onde, H = (hii ), sendo

o i=j
hij= _ a ii i*j
i, j = l, 2, ... , n � matriz iterativa
a ii
b
gi = -i i = l, 2, ... , n
a ii
Desta forma, podemos escrever o método iterativo de Jacobi-Richardson:
x(k+l ) = H x ( k) + g k= 1, 2, ...
Assim:
a anl bl
x1 (k+l) o - ª21 - 31
- -
X1 (k)
ªn ªn ª11 ª11
ª21 ª23 a2n
Xz(k+l) o Xz(k) b2
ª22 ª22 ª22
+ ª22

Podemos, ainda, escrevê-lo na seguinte forma:


a12 (k ) - a13 X (k ) - aln (k) bl
X 1(k+l ) =
_

X2 3 -- Xn + -
ª11 ªn ª11 ª11
X 2(k+l ) = _ 21 X 1(k ) -
a a23 (k) - a2n (k) b2
X3 -- Xn + -

ª22 ª22 ª22 ª22

a b
a
X n(k+l ) = - nl X1(k )
_ an2 (k )
X2
_

- nn-1 X n-1(k ) + n
--
-

ann ann ann ann

Observação
O método iterativo de Jacobi-Richardson, de uma forma geral, pode ser es­
crito como:
i -1 n
x l k +l l = (bi -L a i i x j k l - L ai i x i< k l) / a ii i= 1, ... , n
j=l j = i+l
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 55

Estudo da convergência
Teorema 2.3
Sejam uma norma matricial consistente com alguma norma vetorial e
x < 0 l E �n uma solução aproximada inicial qualquer. Se l i H l i < 1, então
x< k + l ) = Hx < k l + g, k = O, 1, 2, ... , converge para a solução x do sistema Ax. b.
a seqüência de soluções aproximadas definida pelo processo iterativo
=

Prova:
Devemos provar que ll e< k lll � ü, quando k � oo, onde e< k l = x - x< k l é o
erro cometido na k-ésima iteração.
Assim,
e< k l = x - x< k l = (H x +g) -(Hx < k-l ) + g) = H(x- x < k-1 l ) = H e< k-l )
Portanto, 1
e < l = H e <ºl
e <2> = H e <1 > = H 2 e <º >

Assim,
li e< k l li = l i x - x< k l l i = li Hk ·e< º l li � l i Hk 1 1 e< º l li
Por outro lado, sabemos que l i H k li � l i H li k
Logo:
li e< k l l i � l i H l l k li e< º l li
Assim, se 1 H 11 < 1, temos que l i e< k l li = li x - x< k l li � O, quando k � oo.
Portanto: x< k l � x.
Observação '
Se li H li < < 1 (lê-se l i H l i muito menor que l }, então li H r tende a zero rapi­
damente, ou seja, a seqüência de soluções aproximadas converge para a solu­
ção do sistema rapidamente.
Se li H l i l, porém li H l i < 1, a convergência ocorre, mas lentamente.
::::

Observamos, ainda, que a convergência não depende da solução inicial x(D) .


Definição 2.8
Cpnsidere nA = (aij) i, j = 1, ... , n. Dizemos que n A é diagonalmente dominante
se 1 aii 1 � L 1 aii 1 i = 1, ... , n. Caso 1 aii 1 > L 1 aii 1 i l, ... , n, dizemos que a
=

j=l i= �
•*J •*J
matriz A é estritamente diagonalmente dominante.
56 Cálculo Numérico

Resultado

então o método iterativo de Jacobi-Richardson gera uma seqüência de soluções


Se a matriz A do sistema Ax = b for estritamente e diagonalmente dominante,

aproximadas convergente para a solução do sistema, pois teremos li H I L < 1.

Algoritmo 2.9
a) Forneça uma solução inicial aproximada x(O) = (x(�) , x(g) , ... , x(� ) e
E > O, uma tolerância fixa. Faça k = O e Pare = Falso.

b) Construção da seqüência de soluções aproximadas:


Enquanto Pare = Falso, faça

(
Para i = 1, . . . , n, faça:
(i-1 (n) ) bi
i=i+l
x\1 k +t) = """
� - a . .
1) Jx < k l + """ - a . . \ k l / a ·· + -
� 1 ) xJ ll

i= I ªü
i
Se l x< k +t) - xli < k ll l � E , entao
-
Pare = Verdade
l l x< l
k +l

Senão k = k + 1
Observação
Não há necessidade de armazenar explicitamente as soluções x(O), x(l), x(2), ... , x(n).
Caso o critério de parada não seja satisfeito, então x < 0 l f- x < 1 l, isto é, arma­
zene x(l) em x(O). Desta forma, apenas 2 vetores são necessários para calcular
a seqüência.

Usando o método iterativo de Jacobi-Richardson, determine uma solução aproxi­


Exemplo 2.20

mada para o seguinte sistema de equações lineares, com aproximação inicial


x <0l = (x <�l , x <g> , x<g»t = ( O , O, 0)1 e precisão E = 10- 2 .
2
5
3

r-
Construção da matriz iterativa H:
o-2/10 -1/lO j
H= 1/5 O
-2/10 3 / 10--1/5
o
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 57

Verificar a condição de convergência:


3
l i H l L = li H li_ = m�x L 1 hi i 1 = m�x { 3/10, 2/10, 5/10 } = 0.5 < 1
1 j 1
=
1

Portanto, a seqüência de soluções aproximadas é convergente para a


solução do sistema.
Cálculo das iterações:
- 14 - 2 X(2k ) - 1 X(3k )
X(1k + l ) -
10 10 10
- - -

X(2k + l ) =
11 1 1
- X( k ) - X ( k ) k = o, l, 2, ...
5 -5 1 5 3
-
-

X(3k + l ) = 108 - 102 X(1k ) - l3Q X(2k )


Para k = O e tomando x( o ) = (O, O, 0)1, temos x( l > = (1.4000, 2.2000, 0.8000)1
x( l > - x( º >
Teste de parada: l l il = 1 > 10- 2
l x( ) I L
Para k = l, temos:
X(12 ) =
14 - 2 X(1) - 1 (1)
l Q 10 2 10 X3
X(22 ) =
11 - -1 X(1) - -1 X(1)
5 5 1 5 3
-

X(32 ) -
-- 8 -- 2 X(1 ) - 3 X(1)
10 10 1 10 2
-

( 2 ) - x( l l l
Portanto, x( 2 > = (0.8800, 1.7600, -0.1400)1 � li x 2 l = 0.5341 > 10-2 00

l i x( ) l i..
Assim, sucessivamente, calculamos:
l i x( 3 l _ x( 2 ) IL
3)
x( = (1.0340, 2.0520, 0.0960)1 � ( 3 =0.1423 > 10-2
x
li 1L )
x( 4 ) - x( J) l ..
x( 4 l = (0.9800, 1.9739, -0.0225)1 � li 4 ) = 0.0600 > 10-2
li x( 1 ..
S l i x( S ) - x( 4 ) l .. .
x( l = (1.0075, 2.0085, -0.0118)1 � (s = 0.0172> 10 -2
x
li l .. )
x(6) - x( S ) IL
x(6) = (0.9971, 1.9961, -0.0041)1 � l i = o.0062 < 10 -2 ,
l i x(6) 1L
Como o critério de parada está satisfeito, temos que x = x(6 ) é a solução
aproximada para o sistema com a precisão E = 10-2.
58 Cálculo Numérico

Observação
A seqüência de aproximações x(l ), x(2), x(3), x(4), ... converge para a solução
exata do sistema, dada porx (1, 2, O)t . A convergência lenta decorre do fato
=

de JJHJJ não ser tão "pequena".


2.6.4 Método iterativo de Gauss-Seidel
Considere o sistema de equações lineares Ax = b, onde A = (aii ) i, j = 1, ... , n
det(A) * O, com a diagonal principal aii * O i = 1, ... , n
a11 X1 + a12 X2 + a1 3 X3 + + al n Xn b1 ···
=

a21 X1 + a22 X2 + a2 3 X3 + + a2n Xn = b2 ···

Dividindo cada linha do sistema dado pelo elemento da diagonal e expli­


citando x1 na h equação, x2 na 2ll equação até Xn na n-ésima equação, temos
o sistema escrito na forma equivalente:
X1 = _..!._11 (b1 - a12 X 2 - a1 3 X 3 - - a1n Xn )
•••

ª
X2 = _I_
ª22
(b2 - ª21 X1 - a2 3 X 3 - - a2n Xn )
••·

O método iterativo de Gauss-Seidel é dado da seguinte forma:

X1(k+l ) = _ a12 X2 (k) _ aln Xn (k)


ª 11 ª11
X 2(k+l ) = _ a21 X l (k+l) _ a23 X 3 (k) _ ª 2 n Xn (k)
ª22 ª22 ª22

Xn (k+l) an l X (k+l) an 2 X2(k+l)


_ _ _

ann i
=

ann
De uma forma geral:
� a 1)·· x J. < > ) / a ..
i -1 n
X 1.( k+l) ( b · - "'
=
a
� 1) J
1
·· x . ( k +I) - "" k li
·
1= 1 . .. , n
'

j=l j=i+l
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 59

Ainda, podemos escrever:


i-1 n
X 1_ (k+l ) = (g 1· - � h -· X · ( k+l ) � h ·· X · (k) )
k..J 1) J
_

k..J 1) J
1° = 1 f • • • 1n
j=l
onde g; = b; / au h;i = a;i / a ii i = l, ... , n
j=i+l

Na forma matricial temos:


o o o ... o
o o
= +

Xn(k+l ) --an l - -an 2 - ann-1 o Xn(k+l )


ann ann ann
o -- ª1 2 - - ªn al n
X1 (k)
bl
ª11 ª11 ª11 ª11
o o a23 a2n b2
+ ª22 ª22
Xz ( k )
+ ª22

Xn(k)
bn
o o o o ann
Temos, desta forma, que:
x ( k+l l - P x ( k+l l + Qx < kJ +g , onde p - (Pii ) e Q - (q;i ) 1,· J· - 1 , ... , n e Pii' q;i sao
{-
_ _
-

{-
dados por:
ª i , se i > j ªii , se i < j
P11.. = a 11
'. q;i = aii e g=- b.
'
a;
O , se i � j O , se i � j
Podemos, ainda, escrever o método iterativo de Gauss-Seidel da se­
guinte forma:
(1 - P)x< k+l l = Qx< k l + g
Como a matriz (1-P) é inversível, multiplicando-a em ambos os lados
da expressão obtida, temos:
x< k+l ) = (1 - Pt1 Q x< k l+ (1 -P t1 g
Chamando H = ( 1 - Pf 1 Q --7 matriz iterativa
g = (l - P t1 g, podemos escrever o Método Iterativo de Gauss-Seidel como:
x< k+ll = H: x<kJ + g
60 Cálculo Numérico

Apresentamos, a seguir, um teorema que fornece uma condição sufi­


ciente para a convergência da seqüência de soluções aproximadas gerada
pelo método iterativo de Gauss-Seidel.
Estudo da convergência

Teorema 2.4 (Critério de Sassenfeld)


Sejam as constantes � i definidas pelas seguintes fórmulas de recorrência:
i-1 n
�i = I 1 hij 1 �j + Ii 1 hi d i = 1, . . . , n
j=l j= + l
e seja

Então, se � < l, a seqüência x(k), gerada pelo método iterativo de Gauss­


Seidel, converge para a solução X: do sistema dado.

x = (x1 , x2 1 • • • , Xn ) 1
Prova:
Seja a solução do sistema dado, então esta satisfaz
a forma
i-1 n
x/k+l l = gi + L hi i xjk+l l + L hii xjkl
j=l j=i + l
Assim, temos:
i-1 n
Xj = gi + L hi j xj + L hi j xj
j=l j= i + l
Podemos escrever:
i-1 n
(x� k + l l _ xi ) = L hii (xl k + l l _ xi ) + L hii (xl k l - xi )
j=l j=i + l
ou ainda
i-1 n
k + l � + l
J e l 1 L i hii 1 J el k l 1 + L i hii l J el k l 1

j=l j=i + l
onde lei<m l 1 = l xi<m l _ xi I ·
Agora, podemos provar que a seguinte desigualdade é verdadeira:
(verificar como exercício)
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 61

Assim, i-1
kl
H + )I � L x l e�k ) I + L l hi j l � �x l e�k ) I �
n

l hi d p i �
L s�
j=i l +
(� l1t;; i �i + j�, )
_n Ls_n
j=l

� �� l ·l" I l h; d = �; ��� l el. "


I
Agora:
máx l e�k + l ) j < p máx j e�k l j = pk + l máx j e�º l j
j e�k l 1 � O quando k �
lSsSn lSsSn lSsSn

Portanto, se p < l, temos que máx oo , isto é,


/ (x - x(k > ) I/ � O quando k �
lSsSn

oo

Algoritmo 2.10
a) Forneça uma solução inicial aproximada x(O) = (x(�) , x(g) , ... , x(� ) e
E > Ouma tolerância fixa. Faça k = O e Pare = Falso.
b) Construção da seqüência de soluções aproximadas:
Enquanto Pare = Falso, faça:
Para i = 1, ... , n, faça:
x�k+ l l =
1 ( i-1
1 - 4.J
h �
j =l
-a1. ). x�J k+l l + �
n

j=i + l
· k )
4.J - a1. ) x<J l /a .. 11

li x< k + l ) - x < k l li
Se � E, então Pare = Verdade.
l x( k + l l li
Senão k = k + 1 .
Resultado
Se a matriz A do sistema Ax = b for estritamente diagonalmente dominante,
então o método iterativo de Gauss-Seidel é convergente para a solução do
sistema dado, pois, teremos � < 1 .
Observa-se, ainda, que a convergência não depende da solução x(O) ini­
cial dada.
Exemplo 2.21
Usando o método iterativo de Gauss-Seidel, determinar uma solução
aproximada para o sistema dado a seguir, com aproximação inicial
x(O) = (x(�), x(g), x(g)) t = (O, O, O)t e precisão E = 10-2 •
2
5
3
62 Cálculo Numérico

Construção da matriz H:

H = -1 5r �
-2/10 -1/10
o -1 /5
]
-2/10 -3 /10 o
Verificar a condição de convergência (critério de Sassenfeld):
3
131 = I l h1j 1 � 13 1 = 3 1 10 = o.3000
j=2
132 = 1 h2 1 1 13 1 + 1 h 23 I � 132 = 13 / 50 = 0.2600
133 = 1 h 3 1 l !31 + I h 32 l !32 � j33 = 69 1 500 = 0.1380
Assim,
13 = máx1S i S 3 13i = máx 1 S i S 3 {0.3000, 0.2600, 0.1380} < 1
Portanto, temos garantia da convergência da seqüência de soluções
aproximadas geradas pelo método iterativo de Gauss-Seidel.
Assim, temos:
X1( k +l ) -
-- 14 - - 2 X( k ) - 1 (k)
10 10 2 - 10 X3
X(2k +l ) =
11 - 1 X( k +l ) - 1 X( k ) k = o, l, 2, .
S S 1 S 3
..

X(k
8 2
3 +l ) -- - - - X(1k +l ) - - X(2k +l )
3
10 10 10
Para k = O, tomando x(O) = (O, O, O)t, temos:
x( t l = (1.4000, 1.9200, -0.0560)t
Teste de parada
li x( l l - x ( O l l l = l > 10-2
l x(•) IL
Para k l, temos:
=

1 2 1
1 = 4 - X( 1 ) - X( 1 )
X(2) lQ lQ 2
lQ 3
11 1 1
2 - 5 5 1 5 3
(1)
X(2) - - - - X(2) - - X

8 --
2 X(2) - - 3 X(2)
3 -- -
X(2)
10 10 1 10 2
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 63

Portanto,
li < 2 l - x < I ) IL
2
x< > = (1.0216, 2.0069, - 0.0064)1 � x o. 188s > 10 -
2
< 2)
l i x IL
=

l i x< 3 l - x < 2 > I L


3
x < > = (0.9993, 2.0014, - 0.0003)1 � = 0.0111 > 10- 2
x
l < J l IL
x< 4 > -
x< 4 > = (0.9998, 2.0001, - 0.0001)1 � li 4 x (3>1 L = 0.0007 < 10- 2
l i x< > I L
então, temos a solução aproximada para o sistema x = x< 4> com a precisão
E = l0-2.

É
Observação
possível perceber que a seqüência de aproximações x( I ), x(2), ... converge
para a solução exata do sistema proposto, que é x = (1, 2, 0)1 •
Interpretação gráfica
Podemos interpretar graficamente as soluções aproximadas geradas pelo
método iterativo de Gauss-Seidel no R2, a partir do seguinte exemplo:
Considere o sistema de equações lineares
{
2 X 1 + X2 = 2
X1 - 2 X 2 = - 2
Tomando uma solução inicial x < 0 > = (x�º l, x�0>)1 = ( O, 0)1 e uma tolerância
E = l0 -2 .
Construção da matriz H:

Verificar a condição de convergência (critério de Sassenfeld):


2
�1 = :L 1 h 12 I � �1 = 1 1 2
j= 2
�2 = 1 h21 1 �1 � �2 = 1 / 4
Assim,
l :!> i :!>2 �i 1S i :!>2 {1 /2, 1/ 4} < 1
� = máx = máx
64 Cálculo Numérico

Portanto, temos a garantia de convergência da seqüência de soluções


aproximadas gerada pelo método iterativo de Gauss-Seidel.

{
Cálculo das iterações:
X(k+l)
1 1 - -1 X(k2 )
l
=

k o l, 2, ...
= ,
(k+l) - +
X2 1
2 X1
(k+l)

Como para k = O, tomando x(O) (O O)t, temos


= ,

x(I ) (1, 1.5)


=

Teste de parada

Para k 1 temos:
=

1/4 = 0.2500

9/8 = 1 . 1250
Portanto,
x(2) (0.2500, l.1250)t
=

Teste de parada:

Assim, sucessivamente, calculamos:


li x! J > - x< 2 > 1
3
x< > (0.4375, l.2188)t � l > IL 00
0.1538 > 10 -2
i x! J
= =

x! 4 ) - x ! J >
x! 4 > (0.3906, l.1953)t � l i . 1 4 > L l 0.0392 > 10 -2
00

x< I
= =

x! S - x! 4 >
x < 5> (0.4023, l.201 W � li ) S> t 1 0.0097 < 10 -2
00

li x!
= =

Logo, x(S) é a solução aproximada do sistema dado com a precisão


E = l0-2.
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 65

Observação
Note que a seqüência de aproximações x(I J, x(2J, x(3J, x(4J, ..., x(n) converge para
a solução exata do sistema proposto, x = (2 / 5, 6 / 5)1 = (0.4, 1.2)1•
Graficamente temos:

Figura 2.2

Podemos observar na Figura 2.2 que, quando calculamos x 1 ( k+I J = 1- � x 2( k l,


o par (x 1<k+IJ , x2<k l ) satisfaz a primeira equação do sistema. Em seguida,
quando calculamos x 2< k+I l = l+ � x 1< k+t l, o par (x 1< k+1 > , x 2< k+I l) satisfaz a segunda
equação do sistema.
2.6.5 Trabalhando com o software numérico
No software numérico o usuário deve selecionar o módulo Sistemas Lineares
e fornecer o sistema de equações lineares para ser resolvido. Além disso,
deve selecionar a opção Métodos Diretos ou Métodos Iterativos.
Caso esta opção seja Métodos Diretos, o usuário deve selecionar corre­
tamente as condições teóricas de aplicabilidade de cada um deles. Se a opção
for Método Iterativo, o usuário deve, também, selecionar as condições teó­
ricas de aplicabilidade e fornecer uma solução inicial para gerar a seqüência
de soluções aproximadas e a precisão E desejada.
Exemplo 2.22
Considere o seguinte circuito elétrico, conforme a Figura 2.3:

A ��-ú\MIV4'--�--+-�-v1Jrvw-�----;2F--�Vll\/\Jrv'-��3r--�Vl/V\Jrv'-��
R4

Figura 2.3

Considerações:
a) Ri = 1 R2 = 2 R3 = 1 Ri = 3 R5 = 5 � = 2 R7 = 6 Rs = 1
� = 2 R1 0 = 3 Rn = 8 R1 2 = 8
VA = lOO V8 = 0
b) A corrente elétrica de um nó p para um nó q é dada por:
Ipq = (Vp - Vq}/Rpq
onde VP e Vq são as voltagens (Volts) nos nós p e q respectivamente,
e Rpq (Ohms) é a resistência existente entre os nós p e q.
e) Lei de Kirchoff - A soma algébrica das correntes em cada nó é zero.

Usando o método de eliminação de Gauss-Jordan do software numérico,


determinar as voltagens nos nós 1, 2, 3, 4, 5, 6, 7, 8.

Modelo matemático do problema

Lei de Kirchoff para o nó 1 : + 1 2 1 + 1 81 = O


VA - Vi
IA,

Temos, de acordo com b): I A1 = .


I
O mesmo procedimento deve ser adotado para os outros nós.
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 67

Fazendo este procedimento para todos os nós, temos o seguinte sistema


de equações lineares:

V1
V2
17 - 5 o o o o o -2 1000

V3
1 -4 2 o o o 1 o o

V4
o 6 -9 2 o 1 o o o

Vs
o o 1 -4 3 o o o o
=
o o o 8 -9 1 o o o

V7
o o 8 o 6 - 20 6 o v6 o

Vs
o 12 o o o 3 - 23 8 o
6 o o o o o 10 - 31 o

Usando o software numérico e o método de Gauss-Jordan, o usuário deve


selecionar a opção Métodos Diretos e a opção Eliminação de Gauss-Jordan,
conforme as janelas da Figura 2.4 a) e b):

>ai b

lÕ -
-2 1 000
_,_ _
o
�o o
--

'O 'õ
-20
o

a) b)
68 Cálculo Numérico

Desta forma, temos a solução do sistema com a precisão de 4 casas deci­


mais, conforme Figura 2.4 c):

e)

Figura 2.4

Assim, podemos escrever a solução:


V1 = 82.9622 V2 = 68.44 1 4 V3 = 67.4734 V4 = 66.5053
V5 = 66.1826 V6 = 63.60 1 2 V7 55.8567 Vs = 34.0755
=

Exercícios

r ] rX2X1] í l
1. Considere o seguinte sistema de equações lineares:
-9 5 6
X3
ll
2 3 ]. = 4
-1 1 - 3 -2
a) Resolva o sistema dado usando o método de decomposição LU.
b) Caso possível, determine a matriz inversa da matriz A do sistema dado,
usando o método de eliminação de Gauss com pivotamento parcial.
c) Caso haja convergência garantida, resolva o sistema dado pelo método
iterativo de Gauss-Seidel com x(O) = (x1 (0), x2(0), x3(0) = (0.1, 0.2, 0.5)
e E = 0.01.
d) Caso haja convergência garantida, resolva o sistema dado pelo método
iterativo de Jacobi-Richardson com x(O) = (x1 (0), x2(0), x3(0) (Ó.l, 0.2, 0.5)
=

e E = 0.01.
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 69

e) Compare o número de iterações de ambos os métodos. O que você


pode concluir?
2. Considere o seguinte sistema de equações lineares:
-
12
. 5 6 1 X1 7
2 3.4 1 o X2 1
=
-1 1 - 3 1 X3 -2
5.6 - 2 1 1 X4 2
Usando o software numérico, resolva o sistema dado pelos seguintes
métodos diretos:
a) Eliminação de Gauss-Jordan.
b) Eliminação de Gauss com pivotamento diagonal.
c) Eliminação de Gauss com pivotamento total.
3. Considere o seguinte sistema de equações lineares:

a) Caso possível, resolva o sistema dado usando o método de decompo­


sição de Cholesky.
b) Caso possível, resolva o sistema dado usando o método de decompo­
sição LU.
c) Caso possível, resolva o sistema dado usando o método de elimina­
ção de Gauss com pivotamento parcial.
d) Calcule apenas a 3ª coluna da matriz inversa de A dada, usando o
método de decomposição de Cholesky.
4. Considere o seguinte sistema de equações lineares:

a) Determine a matriz inversa A-1 , da matriz A dada, usando o método


de Gauss-Jordan.
b) Resolva o sistema dado usando o método de eliminação de Gauss
com pivotamento parcial.
70 Cálculo Numérico

c) Resolva o sistema dado usando o método de eliminação de Gauss


com pivotamento total.
d) Resolva o sistema dado usando o método de eliminação de Gauss
com pivotamento na diagonal.
5. X X11 X X
Mostre que li I L $ li $ n l i t E Rn .
6. Dado o sistema de equações lineares:
4X{4x11 +-Xzx2 ++ X33x3 ==72
-X1 + 5X2 + 3X3 = 3
seja satisfeito. É possível o mesmo processo para o critério das linhas?
Reordene as equações e as incógnitas de modo que o critério de Sassenfeld
Justifique.
7. Considere o seguinte sistema de equações lineares:
0.[0.925872 0.0.3166 0.0.1224j [XzX1j [7 j
=
0.147 0.21 0.25 X3 8
9

Resolva o sistema dado, usando um método direto visto e com o auxílio


do software numérico.
8. Determine uma fórmula para calcular o número de operações aritméti­
cas envolvidas na resolução de um sistema de equações de ordem n pelo
método de eliminação de Gauss com pivotamento diagonal.
9. Considere o seguinte sistema de equações lineares:

x (O)
a) Caso haja convergência garantida, resolva o sistema anterior usando o
método iterativo de Jacobi-Richardson a partir de = (O O O) e E = 0.1.
b) Caso o critério de Sassenfeld esteja satisfeito, usando o método itera­
tivo de Gauss-Seidel, resolva o sistema dado a partir de =
eE= 0.01. O) x (O) ( - 2 1
Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 71

10. Prove que se A E 9t(n, n) é de componível em LU, então


uii = dj 1. = 1 , ... ,n e Llo = 1 .
-- A
di-1
11. Resolva o seguinte sistema de equações lineares usando o método de
eliminação de Gauss, com o auxílio do software numérico.
o 5 -1 2 X1 10
o 8 -1 1 X 2 16
2 1 -1 -1 X3 = 2
o -1 -2 1 X 4 -2
12. Considere o sistema de equações lineares:

a) Faça trocas de linhas e, caso possível, resolva o sistema obtido usando


o método LU.
b) Determine a inversa da matriz A dada, usando o método de elimi­
nação de Gauss-Jordan.
c) Resolva o sistema dado usando o método de eliminação de Gauss
com pivotamento parcial.
d) Faça trocas de linhas, verifique a convergência, resolva-os usando os
métodos iterativos de Jacobi-Richardson e Gauss-Seidel, com E = 0.01.
13. Considere o sistema de equações lineares:

a) Faça trocas de linhas e determine um intervalo de valores positivos


para t de forma que o critério de Sassenfeld seja satisfeito.
b) Tome t 4, faça trocas de linhas e resolva o sistema obtido usando o
=

método iterativo de Gauss-Seidel, com x(O) (0.1, 0.1, 0.1) e E = 0.01.


=

14. Mostre que se A e 9t(n,n) é simétrica e de componível em LU, então a


matriz A se decompõe na forma A = LDL1 , onde L e 9t(n, n) é uma matriz
triangular inferior e a matriz D e 9t(n,n) é uma matriz diagonal.
72 Cálculo Numérico

15. Uma indústria produz quatro tipos de produtos (1) (2) (3) e (4), os quais
são processados e produzidos no decorrer da semana. Para produção de
cada unidade desses produtos necessita-se de quatro diferentes tipos
de matéria-prima (A) (B) (C) e (D), conforme tabela dada:
A B e D
(1) 1 2 4 1
(2) 2 o 1 o
(3) 4 2 3 1
(4) 3 1 2 1

Por exemplo, para produzir uma unidade de (1) precisa-se de 1 unidade


de A, 2 unidades de (B) 4 unidades de (C) e 1 unidade de (D).
A indústria possui disponível em estoque 16, 13, 27 e 7 unidades de
A, B, C e D, respectivamente. Quantas unidades de cada produto podem
ser produzidas?
Formule um modelo matemático e resolva-o usando o método de
decomposição LU do software numérico e analise os resultados obtidos.
Capítulo 3

Solução Numérica de Equações

3.1 Introdução
Apresentamos, neste capítulo, métodos numéricos para resolução de equa­
ções na forma f(x) = O, onde f(x) é uma função de uma variável real. Nas diversas
áreas científicas, freqüentemente deparamo-nos com problemas reais envol­
vendo a resolução dessas equações.
Resolver a equação f(x) = O consiste em determinar a solução (ou solu­
ções) real ou complexa x tal que f(x) = O. Por exemplo, consideremos a
equação f(x) = cos(x) + x2 + 5 = 0 . Desejamos detemúnar a solução x tal que
f(x) = cos(x)+ x2 + 5 = 0.
Métodos iterativos são desenvolvidos para detemúnar aproximada­
mente essa solução real x, embora tenhamos métodos iterativos específicos
para determinar a solução x quando esta é um número complexo.
Apresentamos os métodos iterativos para determinar a solução x quando
esta é um valor real e, para isso, necessitamos de uma solução inicial Xo· A partir
desta geramos uma seqüência de soluções aproximadas que sob determi­

Esta solução inicial, Xo pode ser obtida através de recursos gráficos, em


nadas condições teóricas convergem para a solução desejada x.

que localizamos uma vizinhança ou um intervalo [a, b] onde se encontra a


solução x, conforme exibimos na Figura 3.1.
Observando a Figura 3.1, vemos que a solução x tal que f(x) = O en­
contra-se no intervalo onde a função f(x) corta o eixo das abscissas, isto é,
quando a função apresenta sinais opostos.
Podemos, então, tomar uma solução inicial Xo nas vizinhanças dessa raiz,
isto é, no intervalo [a, b ] , para inicializar a seqüência de soluções aproximadas
durante a aplicação dos métodos iterativos que serão apresentados poste­
riormente neste capítulo.
73
74 Cálculo Numérico

f(x)

f(b) ..................... . .......................... . .............. . ..... .._


. .. .
. __ f(x)

a
b
!
X

.... .... . ..... ..... ....


f(a) .. . . . ..

Figura 3.1

Definição 3.1
Dizemos que X: é uma raiz ou um zero de f(x) se f(x) = O.

Seja f(x) = x2 -7 = O. Temos que as raízes da equação são:


Exemplo 3.1

X: = ± J7 = 2.6458 e, neste caso, f(x) = O.

3.2 Localização das raízes: métodos gráficos


Apresentamos dois procedimentos gráficos que podem ser usados para a
localização das raízes da função f(x):
i) Consiste em traçarmos o gráfico de f(x) e, onde este cortar o eixo das
abscissas, temos a raiz (raízes) de f(x), conforme exemplo a seguir.

Considere a função f( x ) = x2 - 7 , conforme gráfico ilustrado na Fi­


Exemplo:

gura 3.2.
Observando a Figura 3.2, vemos que o gráfico de f(x) permite iden­
tificar onde estão aproximadamente as raízes de f(x). Neste caso, te­
mos as raízes x = ± J7 ::: ± 2.6458 , e f(x) ::: O.
Solução Numérica de Equações 75

f(x)

f(x)

o X

-7

Figura 3.2

ii) Consiste em transformarmos a equação f(x) O na forma equivalen­


te f1 (x) = f2 (x). Os pontos de intersecção dos gráficos f1 (x) e f2 (x)
=

serão as raízes procuradas, conforme exemplo a seguir.


Exemplo:
Considere a equação f(x) = x2 -_!_=0, x * O.
X
Podemos escrever a equação dada, na forma equivalente por:
x2 = ..!., isto é, f1(x) f2(x), com f1(x) x2 e f2(x) l/ x, conforme
X
= = =

gráfico da Figura 3.3:

f(x)

f2(x)

X
f2(x)

Figura 3.3
76 Cálculo Numérico

Observando a Figura 3.3, vemos que a raiz .x encontra-se na inter­


secção dos gráficos f1 (x ) e f2 ( x ) . Neste caso, temos uma única raiz
x = 1, já que x2 = � ou f(x) = O.
X

3.3 Métodos numéricos para resolução de equações


Nesta seção apresentamos alguns dos principais métodos para resolver nu­
mericamente uma equação.

3.3.1 Método da bisseção


O método da bisseção é baseado no teorema do valor intermediário, o
qual afirma que se uma função contínua no intervalo [ a, b ] satisfaz a con­

x E [ a, b ] tal que f(x) = O, isto é, existe pelo menos uma raiz no intervalo [a, b]
dição f(a)f(b) < O, (valores de f(a) e f(b) com sinais opostos), então existe

(veja Figura 3.4).


A idéia geral do método da bisseção consiste em, a partir de um in­
tervalo [a, b ] localizado inicialmente onde encontra-se a raiz X:, determinar
uma seqüência de intervalos [11 , sd i = O, 1, ... onde 1() = a e s0 = b, de forma
que a amplitude do intervalo numa iteração é a metade da amplitude do
intervalo anterior e que sempre contenha a raiz X:.
A seqüência de intervalos será calculada até que a amplitude do inter­
valo seja menor que uma tolerância E preestabelecida.
Podemos representar graficamente conforme Figura 3.4:
As seqüências ri, si e xi são construídas da seguinte maneira:

f(x)

f(b) f(x)

a
b X

f(a) ·····························

Figura 3.4
Solução Numérica de Equações 77

a) Determine um intervalo inicial [JQ , s0 ] tal que f(10 )f(s0 ) < 0.


b) Calcule xi = ( G + sJ / 2 � ponto médio do intervalo
c) Se f(xJ = O, então xi é uma raiz de f(x)
Se f(11 )f(xJ < O, então G+1 = Ji e si+l = xi
G+1 = xi e si+l = si
d)
e) Se f(11 )f(xi ) > O, então
Podemos representar graficamente conforme mostra a Figura 3.5:

f(x)

f(so) .........................................................................�
--:".f(:-::x)
··

i X

f(r0) .............................. !
Figura 3.5

Para i = O, temos:
Xo = (r0 +s0)/2 � ponto médio
Como f(r0) f(Xo) < O, tomamos:
r1 = r0 e s 1 = Xo
Para i = l, temos:
x1 = (r1 +s1)/2 � ponto médio
Como f(r1) f(x 1 ) < O, tomamos:

e, assim, sucessivamente até determinarmos a raiz X: da equação com uma


precisão E desejada.
78 Cálculo Numérico

Convergência
No método da bisseção, determinamos uma raiz da equação construindo
seqüências de intervalos ri e si e uma seqüência de soluções aproximadas xi
tal que:
a) A seqüência li , i = O, l, ... é crescente e limitada superiormente por s0
e, portanto, tem um limite superior que denotamos por r.
b) A seqüência su i = O, l, 2, ... é decrescente e limitada inferiormente
por r0 e, portanto, tem um limite inferior que denotamos por s.
c) A seqüência xi i = O, 1, ... é tal que li < xi < s i .
Por construção das seqüências temos:
1 1
(si -li ) = 2 (si-1 -li-1 ) = · · · = i (so -10 )
2
�im i (si -li )l = ü e, portanto, r = �im li = �im si = s
1-+oo !-too !-too

Além disso, de c) temos que:


�im xi = r
1-+oo
Devemos ainda mostrar que o limite acima é a raiz da equação f(x) = O.
Observemos que f( li ) f(si ) < O , para todo i. Então temos:
O ;;::: Hm [f( !i ) f(sJ] = limf
i-+oo (!i ) lim
i-+oo f(si ) = f (r ) f(s) = [f ( r ) ]2
i-+oo
Portanto, f(r) = O e r = �im xi . !-too

Estimativa do número de iterações


O número de iterações necessárias para se obter uma raiz X: da equação
f(x) = O, pelo método da bisseção com uma precisão E > O, previamente fixada,
decorre de:
Supondo-se que x está entre Xn e sn, temos:
) = (sn - rn ) = (so - 10 )
1 Xn -X 1 -< (Xn
_

2n + 1
_ J;,
2
Impondo que So2n+
- l{J
l <E para garantir que l xn - x l < E, temos:

log ( 8�=� ) < log(E)


Solução Numérica de Equações 79

ou
n>
log( s0 - :ro ) - log(E) 1
----"---
-' ----=-

log 2
Logo, n é o número mínimo de iterações que devem ser realizadas para
obter X: com uma precisão E.
Algoritmo 3.1
Dados E > O, o intervalo inicial [1-0 , so ] que contenha a raiz, isto é,
f(r0) f(s0) < O. Faça Pare = Falso, i = O.
1.

2. Enquanto Pare = Falso, faça


2.1 Determine xi = (ri + sJ / 2.
2.2 Se l f (xi ) l � E , então Pare = Verdade.
Senão
Se f(11 ) f(xJ < O, então 11+1 = 11 e si+l = xi
Senão 11+1 = xi e si+l = si
lx x
2.3. Se j+ l 1 < E, então Pare = Verdade
· 1- ·I
Xi + l
Senão i = i + 1
Exemplo 3.2
Usando o método da bisseção, resolva a equação x 2 +ln(x) = 0, com E = 0.01.
a) Determinando graficamente uma vizinhança para a raiz, considera­
mos a forma equivalente x2 = - ln(x), ou seja, f1 (x) = x2 e f2 (x) = - ln(x) ,
conforme ilustrado na Figura 3.6:

x 1 X

f2(x)

Figura 3.6
80 Cálculo Numérico

Observando a Figura 3.6, podemos concluir que a raiz X: encontra-se


na intersecção dos gráficos f1 (x) e f2(x), e pertence ao intervalo [0.1, 1].
b) Considerando o intervalo inicial r0 = 0.1 e s0 = l, temos f(O.l)f(l) < O,
portanto,
2 temos uma raiz no intervalo [0.1, l]. Observe que a função
f(x) = x + ln(x) é contínua no intervalo dado.
c) Seqüência de soluções aproximadas:
Xo = 0.5500 � solução inicial dada
lx -x 1
X1 = 0.7750 � 1l xi 1 o = 0.2903 > E
x2 = 0.6625 � 2 1 = 0.1 698 > E
l x -X 1
l xi I
l x -x I
X3 = 0.6063 � 31 x 2 = 0.0927 > E
3I
X4 = 0.6344 � 41 x 3 I = 0.0443 > E
lx -x
4I
l x5 -X4 I
x5 = 0.6485 � = 0.0217 > E
l xs I
= 0.0107 > E
l x6 -xs l
"6 = 0.6555 �
1 x6 I
x7 = 0.6445 � 7 6 I =-0.0171 > E
l x -x
l x7 I
x8 = 0. 6425 � s 7 I = 0.0031 < E
l x -x
l xs I
Como o critério de parada foi satisfeito, temos a solução aproximada:
x :: 0.6425.

d) Cálculo do número mínimo de iterações:


log
n > log(so - ro )- (E) - 1 = 6.4918 -1 = 5.4918
log 2
Portanto n > 5.4918, temos que n = 6, isto é, devemos executar no mínimo 6
iterações para obter a raiz X: com a precisão E desejada.
3.3.2 Método das aproximações sucessivas
Considere a equação para ser resolvida na forma f(x) = O.
O método das aproximações sucessivas consiste em transformarmos a
equação dada na forma equivalente x = lj>(x), onde lj>(x) é uma função de uma
variável real a qual denominamos função de iteração.
Solução Numérica de Equações 81

A determinação da raiz desejada x é baseada na seqüência de soluções


aproximadas gerada através do processo iterativo Xk+l <l>(xk ) k = O, l, ...
=

Existem sempre várias maneiras de transformar a equação dada na forma


equivalente x = <l>(x).
Considere, por exemplo, a equação f(x) = x2-7x = O.
Podemos escrever de forma equivalente as seguintes formas:

a) x = J7X e o processo iterativo correspondente xk+ l = <l>(xk ) = � 7xk


k = o, 1, ...

2 x2
b) x = x e o processo iterativo correspondente xk+i = <l>(xk ) = ___!._
-

7 7
k = o, 1, ...

c) Tomando a equação x2-7x = O e somando x em ambos os lados temos:


x = x2 - 6x e o processo iterativo correspondente xk+ l = <l>(xk ) = xk2 - 6xk
k = o, l, ...

De uma maneira geral, podemos construir uma função de iteração da


seguinte forma:
Considere uma função 0(x) : 9t � 9t, contínua e tal que 0(x) * O para todo x.
Multiplicando 0(x) na equação f(x) = O e somando x em ambos os lados,
temos a forma equivalente x + S(x)f(x) = x , de modo que uma função de
iteração pode ser tomada como <j>(x) = x +0(x)f(x) , ou seja, x = <l>(x) é equiva­
lente a f(x) = O.
Assim, podemos concluir que x é uma raiz de f(x) = O, se e somente se
satisfizer a forma equivalente x = <j>(x) . O processo iterativo correspondente,
xk+l = <l>(xk ) k = O, l, ... , gera uma seqüência de soluções aproximadas a par­
tir de uma solução inicial Xo dada, como segue:
Xo � solução inicial
X 1 = <l>(Xo)
X2 = <l>(x 1 )

Podemos interpretar graficamente esta seqüência, conforme Figura 3.7:


82 Cálculo Numérico

f(x) y=x

<l>(x)

X1 ••• X

Figura 3.7

Convergência
Teorema 3.1

cujo centro X: é a raiz procurada. Seja x0 e 1 uma aproximação inicial.


Seja <j>(x) uma função contínua e diferenciável num intervalo 1 = [ a , b]
Se l <1> '(x) l $ K < l, para todo x e 1, então a seqüência { xk } k = O, l, 2, . .
gerada por xk+l = <!>(xk ) pertence a 1 e converge para a raiz X: (condição
.

suficiente).
Prova: Indução finita.

a) Xo e 1 por hipótese.
b) Supor x1 ,x2 1 ,xk e 1.
c) Mostrar que xk+ l e 1.
•••

Temos que:
x = <!>(x) e xk+1 = <l>(xk )
Então: l xk+ 1 - x l = l <1><xk ) - <1>(x) I
Usando o teorema do valor médio do cálculo diferencial integral,
temos que:

Como por hipótese, l <1> '(x) l $ K < l , 'v' x e l, temos que:


l xk+1 -xk 1 $ K l xk -x l < l xk -x l
Solução Numérica de Equações 83

Portanto, xk+I E 1.
Devemos mostrar ainda que xk+I � x, quando k� oo

Como K < 1, temos �+ I � O quando k � oo


Portanto, xk+I � x.

aproximações sucessivas, representando um caso no qual temos convergência da


Apresentamos, a seguir, uma interpretação geométrica do método das
seqüência de soluções aproximadas e um caso em que temos divergência da se­
Seja a tal que tg( a) = <!> ' (x), isto é, a é o ângulo que a reta tangente à curva
qüência de soluções aproximadas.
no ponto x faz com o eixo das abscissas.
Consideramos, respectivamente, os casos nos quais temos um ângulo
O � a < 7t / 4 e quando 7t / 4 � a < 7t / 2, como segue:

a) O � a < 7t / 4, isto é, O � <j>(x) < 1


Portanto, nas vizinhanças da raiz x, l <i>'(x) I < l, e o Teorema 3.1 garan­
te convergência na seqüência de soluções aproximadas gerada pelo
método das aproximações sucessivas, a qual é ilustrada pelo gráfico
na Figura 3.8:

f(x)
y=x
<)>(x)

<l><Xo) ················································· ·
7f'-----:::>!""

· ··
···
.. .
. ... . . .
.
.. .. .. . . <X 1
X

Figura 3.8
84 Cálculo Numérico

Observando a Figura 3.8 vemos que, neste caso, temos a seqüência de


soluções aproximadas gerada pelo método das aproximações sucessivas con­
vergindo para a raiz X:.
b) 7t/4 $ a < 7t/2
l $ <j> '(x) < oo , isto é, l $ <j> '(x)

Portanto, nas vizinhanças da raiz X:, l <l>'(x) I > 1, e não temos nenhuma
garantia de convergência na seqüência de soluções aproximadas gerada pelo
método das aproximações sucessivas, a qual é ilustrada no gráfico da Fi­
gura 3.9.

f(x)
<j>(x)
y=x
- - - - - - - - - - - _,_ -
----/
'

- - - - - - - - /

Xz • • •
X

Figura 3.9

Observando a Figura 3.9 vemos que, neste caso, temos a seqüência de


soluções aproximadas gerada pelo método das aproximações sucessivas
divergindo da raiz X:.
A interpretação gráfica do método das aproximações sucessivas, com
a variação dos ângulos nos demais quadrantes, fica a cargo do leitor como
exercício.
Algoritmo 3.2
1. Defina a função de iteração <!>(x) tal que f(x) = O H x = <!>(x).
Faça Pare = Falso, i = O e defina XQ, solução inicial, e E > O, uma tole­
rância fixa.
2. Enquanto Pare = Falso, faça
2.1 Xi+l = <!> (xJ
2.2 Se 1 i; 1 i 1 < E, então Pare = Verdade
x -x
.
Hl
Senão i = i + 1
Exemplo 3.3
Usando o método das aproximações sucessivas, resolver a equação cos(x) - x = O
com E = 0.01 .
a) Localização gráfica de uma vizinhança para a raiz x, conforme
Figura 3.10.

y=x
f(x)

cp(x) = cos(x)

Figura 3.1 0

b) A equação cos(x) - x = O pode ser escrita na forma equivalente:


Considerando 0(x) = 2 e somando x em ambos os lados da equação,
temos: x = 2cos(x) -x .
Assim, o processo iterativo é dado por:
xk+t = 2cos(xk ) -xk
86 Cálculo Numérico

Temos:
l <!>'(x) I = l -2sen(x) - l l
Para quais valores de x, 1 <!>'(x) I < 1 ?
Podemos observar que l <!>'(x) l < l para valores de x tal que -1 < sen(x) < O
e, portanto, não temos nenhuma garantia de convergência, pois l <!>'(x) l > l nas
vizinhanças da raiz, conforme podemos verificar também na Figura 3.10.
Gerando a seqüência de soluções aproximadas, através do processo ite­
rativo xk+i 2cos(xk ) - xk , temos:
Xo 0.7000 � solução inicial dada
=

X 1 0.8297
=

Xz 0.5205
=

X3 1.2146
=

X4 = --0.5172
X5 2.2556
=

Podemos observar que a seqüência está divergindo.


c) A equação cos(x) - x O também pode ser escrita de forma equi­
=

valente por x cos(x) e o processo iterativo correspondente, por


=

xk+ l cos(xk) ·
=

Temos l <!>'(x) l = l - sen(x) l < l , nas vizinhanças da raiz, conforme pode­


mos observar na Figura 3.10 e, portanto, temos garantia de convergência.
A seqüência de soluções aproximadas, através do processo iterativo
xk+ l cos(xk}, é dada por:
=

Xo = 0.7000 � solução inicial dada


X1 0.7648
= �
l x1 - xo l = 0.0847 > E
1 Xi 1
x2 0.7215
= �
l x2 - xi l = 0.0600 > E
I x2 I
X3 0.7508 �
l x3 - x2 I = 0.03900 > E
1 x3 I
=

x4 = 0.7311 l x4 - x3 I 0.0269 > E


l x4 I

Solução Numérica de Equações 87

x5 = 0.7444 l xs - x4 I 0.01790 > E


l xs l

x6 = 0.7355
l x6[ - xs I = 0.0121 > E
x6 I

x7 = 0.7415
l x7 - x6 I = 0.0081 < E
l x7 I

Como o critério de parada está satisfeito, temos a solução aproximada


para a equação dada:
x :: x7 = 0.7415

3.3.3 Método de Newton


Sabemos, do método das aproximações sucessivas, que, se l <l>'(x) l < l , para x
nas vizinhanças da raiz, e escolhendo-se x0 uma "boa" aproximação inicial,
a seqüência gerada pelo processo iterativo xk+t = <l>(xk ) k = O, 1, ... é conver­
gente para a raiz x.
O Método de Newton consiste em determinar uma função <l>(x) tal que
l <l>'(x) I = O. Neste caso, para x nas vizinhanças de x, temos <l>'(x) :: O e, por­
tanto, l <l>'(x) l < l e a convergência é garantida (<l>(x) e <l>'(x) são funções con­
tínuas). Para isto, considere <l>(x) = x +0(x)f(x).
Procuramos agora uma função 0(x) tal que:
<l> '(x) = 1 +e'(x)f(x)+ f '(x)e(x) = o .
Como f(x)=O e, supondo que f'(x) :;é O, temos que:
0(-X ) = -1
f '(x)
Assim, uma escolha para 0(x) é tomada por 0(x) = --=!.__ e, portanto, de
f'(x)
<l>(x) = x + 0(x)f(x)
temos
<l>(x) = x - f(x) / f'(x)
Desta forma, o processo iterativo é dado por:
<l>(xi ) = xi -f(xJ/f'(xJ
xi+i = xi --1 f(x . ) � método de Newton
-
f'(x)
O método de Newton possui a interpretação gráfica conforme ilustra a
Figura 3.11:
88 Cálculo Numérico

f(x)

f(xi) - - - - - - - - - - - - - - - - - - - - - - -

Figura 3.1 1

Definindo como a o ângulo formado com o eixo das abscissas através


da reta tangente à função f(x) no ponto xi (veja a Figura 3.11), temos:

tg(a) = f(x·1 ) , ou seja:


(xi - Xi +i )

Portanto, temos:

f(x )
Xi+l = Xi - f'(x)i -7 método de Newton

O método de Newton é também conhecido como método das tangentes,


em razão de sua interpretação gráfica.
Note que o método de Newton requer que f'(xJ :;t: O para todo i. No
caso em que f '(xJ = O (supondo f(xJ :;t: O), a reta tangente à função no pon­
to xi é paralela ao eixo das abscissas, e xi+l é indefinido. Porém, se f'(x) = O
(X: é tal que f(x) = O) e f'(xJ :;t: O, o método de Newton está bem definido, em­
bora a convergência seja mais lenta.
Solução Numérica de Equações 89

Podemos analisar esta situação observando, na Figura 3.1 2, que tanto


f'(xJ � O como f(xJ � O na medida em que calculamos as soluções aproxi­
madas.

f(x)

o X

Figura 3.1 2

Convergência do método de Newton


Para examinarmos a convergência do método de Newton, supomos que f(x),
f '(x) e f " (x) sejam contínuas nas vizinhanças da raiz x.
Como <l>(x) = x - f(x)/ f'(x) , temos que:
<I> '(x) = l [f'(x)]2 -f(x)f " (x) = f(x)f " (x)
[f'(x)]2 [f'(x)]2
Suponha que x seja uma raiz simples de f(x)=O, então f '( x ) :;t: O . Entre­
tanto, pela continuidade de f'(x) , temos que l f'(x)l � E , para algum E � O
numa vizinhança de x.
Nesta vizinhança de x, selecionamos uma subvizinhança tal que
l f(x)f " (x) I < E 2, o qual é possível, uma vez que f(x ) = O , f'(x) e f"(x) são
contínuas.
Portanto, nesta vizinhança temos que l <l>'(x)l < l e, de acordo com o teo­
rema de convergência do método das aproximações sucessivas, o método
de Newton gera uma seqüência convergente para x.
Convergência quadrática
Definição 3.2
Dizemos que um método iterativo apresenta convergência quadrática se
ei
�im ;i = k , onde k é chamada constante assintótica de proporcionalidade,
,__ ei
ei = l xi - x j e ei+t = jxi+t -x j são os erros cometidos nas iterações correspon­
dentes.
90 Cálculo Numérico

f' (x) O .
Teorema 3.2

q>(x) (x) q> ' (x) = O e,


O método de Newton apresenta convergência quadrática, se -:t:.

por construção, temos o processo iterativo xi+t = lj>( xi ). Supondo que


Prova: Sabemos que X: = e f ' -:t:. O implica que
<j>' (x) e <j> " (x) sejam contínuas numa vizinhança da raiz X:, desenvolvendo
<I> (x) em série de Taylor até os termos de 2ª ordem, em tomo de X:, temos:

q>(x..· �) =<j>(x)+ <l> ' (x) ( x-x)+ lj> " ( Ç) ( x - x)2 , com s entre x e X:.
1! 2!
Fazendo x Xj, temos:
=

q>(xJ =x+ <!> "2( !ÇJ ( xi -x )2 , com Si entre xi e X:


Assim, substituindo xi+t = <j>(xi ), segue que:

(Xi+t - -X) = 2! lj> " ( ÇJ (Xi - -X )2


e, portanto:

Assim,

Como S i converge para a raiz X: juntamente com xi, pois está no inter­
valo [xil X:], temos:

lim ei+t
i-- er =
l <!> " (x) I = k
2

Para valores de i suficientemente grandes, podemos afirmar que:

isto é, o erro absoluto de uma iteração é assintoticamente proporcional ao


quadrado do erro na iteração anterior.
Para observar a rapidez da convergência do método de Newton, consi­
dere o exemplo a seguir:
Solução Numérica de Equações 91

Exemplo 3.4
Usando o método de Newton, resolva a equação x2 - 2 = O, com E = 10-5,
isto é, desejamos o cálculo de Ji.
Usando o processo iterativo do método de Newton, temos:
xi+ 1 = xi - f(x; ) = 21 (xi + 2 )
f'(xi ) xi
A partir de uma solução x0 inicial, geramos a seqüência de soluções
aproximadas:
x0 = 1.00000 --t
solução inicial dada
x1 = 1.50000 --t J x1 -xo l = 0.33333 > E
l x1 I
x2 = 1.41667 --t J x2 -x1 1 = 0.05882 > E
l x2 I
X3 = 1.41422 --t I X3 - X2 I - 0.00173 > E
l x3 I
X4 = 1.41421 --t I X4 - x3 I = 0.00001 < E
l x4 I
Como o critério de parada está satisfeito, temos que x = x4 = 1.41421.
Podemos observar que esta seqüência converge para x = J2.
Desta forma, podemos observar que, na medida em que os valores de xk
se aproximam da raiz x, a convergência torna-se muito rápida, isto devido à
propriedade da convergência quadrática do método de Newton.

1. Defina as funções f(x) f'(x) e E > O, uma tolerância fixa.


Algoritmo 3.3

2. Escolha Xo uma solução inicial.


Faça Pare = Falso, i = O
3. Enquanto Pare = Falso, faça
3.1 xi+l = xi - f(xi )
f'(x; )
3.� Se I rX +Tl I
i
< E, então Pare � Falso

Senão i = i + 1
92 Cálculo Numérico

Observação
O leitor pode incluir neste algoritmo algumas modificações:
a) Modifique o critério de parada, considerando lf(xi ) I � E.
b) Teste se l f'(x) I < E, enquanto l f(xJ I >> E. Se isto acontecer, o método
falha.
c) Inclua o número máximo de iterações.
Exemplo 3.5
Usando o método de Newton, resolva a equação ln(x)+x+ 4 = O, com

:.��i)) , geramos a seqüência:


E = 0.001 .

A partir do processo iterativo xi+l = xi -

Xo = 1 .5000solução inicial dada


x1 2.7567 � l xi -xo l = 0.4559 > E


lx1 I
=

x -x l
X2 = 2.9250 � l 2x i = 0.0575 > E
l 2I
X -X
X3 = 2.9263 � I 3x 2 I = 0.0004 > E
l 3I
""---,---.,--'-

x -x I
2.9263 � l 41 3 = 0.0000 < E.
x4 I
X4 =

Como o critério de parada está satisfeito, temos que x::x4 = 2.9263 .


Observação
Podemos, ainda, modificar o método de Newton, das seguintes formas:
a) O valor calculado da derivada na 1ª iteração, f '(x0 ) = k, onde k e 9t, é
fixado e sub stituído no processo iterativo de Newton durante as
iterações.
Assim, temos:
xi+l = xi - f(�J i = O, l, . . .
o qual, é conhecido como método modificado d e Newton, que geo­
metricamente significa traçarmos retas paralelas à curva em vez de
tangentes para obter as aproximações.
Solução Numérica de Equações 93

b) Podemos também modificar o método de Newton atualizando o valor da


derivada periodicamente, isto é, dentro de um certo número de iterações.

3.3.4 Método das secantes


O método das secantes consiste em aproximarmos a derivada da função
f'(x; ) que ocorre no método de Newton da seguinte forma:

Observe que, neste caso, estamos trocando a inclinação da reta tangente


pela inclinação da reta secante à curva (veja a Figura 3.13).
Assim, o método de Newton dado por

é modificado da seguinte forma:

xi+t = xi - f(x; ) - f(xi_1 )


(xi - xi_i )
Simplificando a expressão anterior, temos:

xi+l = X;-1 f(x; ) - x; f(x) ;_1 ) � método das secantes


f(x; )-f(xi_1
Assim, dados os pontos xi-I e xi, onde a reta secante passando por
(xi_vf(xi_1 )) e (xi,f(xi)), cortar o eixo das abscissas, temos a aproximação xi+ t
para a raiz x, conforme ilustrado na Figura 3.13.
94 Cálculo Numérico

f(x)

Figura 3.1 3

Assim:

e, portanto,
xi-l f(xi ) - xi f(xi_i ) � método das secantes
X·+1
1 =
f(xi ) - f(xi -l )
Algoritmo 3.4
1. Seja f(x) contínua e E > O uma tolerância fixa.
2. Escolha x1, duas aproximações iniciais.
Xo
Faça Pare Falso e i O.
= =

3. Enquanto Pare Falso faça:


=

3.1 xi+l xi-lf(xJ f(xJ - xi f(xi_1 )


- f(xi- l )
=

i -,;j
3.2 Se 1 x .Xi, + < e , então Pare Falso
l
=

Senão i i + 1 =
Solução Numérica de Equações 95

Convergência
'Como o método das secantes é uma modificação do método de Newton,
as condições de convergência são parecidas, observando-se que não temos
mais a propriedade de convergência quadrática.
Quando f(xk ) = f(xk-l ), podemos ter problemas de convergência, isto é, a
seqüência gerada pelo método pode divergir.
Exemplo 3.6
Resolva a equação x3 - l /2 = O, usando o método das secantes com E = 0.01.
Podemos escrever a equação dada na forma equivalente x3 = 1/2.
Chamando f1 (x) = x3 e f2 (x) = 1 /2, temos uma vizinhança para a raiz, na
intersecção dos gráficos de f1 (x) e f2(x), conforme Figura 3.14:
f(x)

1
1/2 f2 (x)

-1 x 1 X

-1

Figura 3. 1 4

Usando o processo iterativo do método das secantes


x f(xJ - xi f(xi-1 ) ..
xi+l = i-l , temos a sequencia
A •
de so1uçoes aproximadas:
- ·

f(xJ - f(xi_1 )
x0 = O e x 1 = 1 � solução inicial dada
x -X 1
1
x2 = 0.5000 � l 2 1 = > ê
I Xz I 1
x3 = 0.7143 � l 3 2 I = 0.3000 > ê
x -x
l x3 I
96 Cálculo Numérico

x4 = 0.8355 � l 4 3 I = 0.1451 > E


x -x
l x4 I

x5 = 0.7894 � s 4 I = 0.0584 > E


lx -x
l xs I

x6 = 0.7932 � 6 s I = 0.0048 < E


lx -x
I x6 I
Portanto, temos a solução aproximada x :: x6 = 0.7932, uma vez que o
critério de parada foi verificado.
Observação
Podemos, ainda, variar o método das secantes e obter outro método, conhe­
cido como método da posição falsa, o qual difere do método das secantes
apenas na escolha dos pontos iniciais, Xo e xv os quais devem satisfazer à
propriedade f(:xo)f(x1 ) < O e nos pontos escolhidos nas demais iterações.
Para mais detalhes consulte Burden, R. L.; Paires, J. D.
3.4 Equações pol i nomiais
Considere a equação polinomial P(x) = a0 xn +a1 xn-l + ... + an = O, onde
ai, i = l, ... , n são reais ou complexos.
Desejamos determinar x tal que P(x) = O. As raízes de P(x) podem ser reais
ou complexas. Apresentamos a seguir algumas definições e resultados sobre poli­
nómios e equações polinomiais, sobre a localização de raízes das equações polino­
miais reais ou complexas, e o método de Newton para o cálculo dessas raízes.
1. Um polinómio P(x) com coeficientes reais ou complexos é escrito na
forma P(x) = ao xn + a1 xn -l + ... + an , onde n E N é o grau desse polinó­
mio, com a0 -:t:- O.
Exemplo 3.7
Considere o polinómio P(x) = 7x3 + 2x2 - x - 9.
Neste caso, temos:
a0 = 7 a1 = 2 a2 = -1 a3 = -9 � coeficientes de P(x)
n = 3 -? grau de P(x)
2. Dois polinómios P(x) e Q(x) são iguais se seus graus e coeficientes
são iguais.
Sejam os polinómios:
P( x ) = a0 xn + a1xn-1 + ... +an
Q(x) = b0 xn + b1 xn-l + ... + bn
P(x) = Q(x), para todo x, Ç::> ai = bi i = O, ... , n
Solução Numérica de Equações 97

3. Seja P(x) um polinômio de grau n� 1. Dizemos que X: é uma raiz de


multiplicidade m se:
p( l > (x) = p<2>(x) = ... = p<m-1 >(x) -:1; O e p<m>(x)= O, onde p<m >(x) é a
m-ésima derivada de P(x), no ponto X:.
Exemplo 3.8
Considere o polinômio P(x) x3. =

A 1 raiz x = O é uma raiz de multiplicidade três, pois


P(x) = p< >(x) = O p< 2>(x) = O e p<3>(x) = 6 -:1; O.
Entendemos, neste caso, que o polinômio P(x) = x3, de grau 3, possui
três raízes idênticas, ou uma raiz de multiplicidade 3.
4. A equação polinomial P(x) = ao xn +a1 xn-l + ... +an = O, com coeficien­
tes reais ou complexos, possui pelo menos uma raiz, ou seja existe pelo
menos uma raiz real ou complexa tal que P(x) = O (Teorema Funda­
mental da Álgebra).
5. Seja P(x) um polinômio de grau n � 1. A equação P(x) O possui
exatamente n raízes (reais + complexas + multiplicidade).
=

6. Seja P(x) um polinômio de grau n � 1, então para qualquer a e 9t


existe um único polinômio Q(x) de grau (n-1) tal que
P(x) (x- a)Q(x) + P(a), onde P(a) é o resto da divisão de P(x) por
(x- a) (Teorema do Resto).
=

Para maiores detalhes sobre os resultados anteriores, consulte Demidovich,


B . P.; Maron, I . A.

Exemplo 3.9
A divisão do polinômio P(x) 6x2--4x+2 pelo polinômio (x--4) resulta
Q(x) = 6x + 20 e o resto dessa divisão, P(4) = 82.
=

3.4.1 Localização de raízes


Apresentamos alguns resultados para a localização das raízes de uma equa­
ção polinomial.
Teorema 3.3

Seja A = máx n ª1 j , ...,1 ak I}, onde ak k = l, ... , n são os coeficientes de P(x).


Localização no círculo

Então, o módu�o de todas as raízes xk k = 1, ... , n satisfaz a inequação


l xk l < l+ A = R

Suponha, por a�surdo, que: 1 x 1 � 1 + élo
A ' de onde segue que 1 x 1 > 1.
)\ '(Q(_,�
Prova:

I I
98 Cálculo Numérico

Assim., temos:
9= J P(x)J = j ao xn + a1 xn-l + ... + an-1X + an 1
= jao xn -(-ai )xn-l . -(-an-1 )x -(-an )j
_

. .

� 1 ao xn l -l a1 xn-l l - ... -J an-1 x l - l an l


� l ao xn l -A<lxn-1 1 + ... + l x l+ 1)
n
- l ao l lxn 1 - A + A l x l
1- l x l 1- J x J
_
n A A lxJn
1- 1 X 1 1- 1 X 1
a
-l aJ l x l - - +

Assim.:
Se ( lau 1-
1 I )2 ��
O, isto é, se l x l 2 1 +
I�I '
temos que IP(x)I > O.
Logo, os valores de x que satisfazem a inequação inicial não são raízes
de P(x) O = .

Portanto, todas as raízes satisfazem a inequação

Corolário 3.1
Seja an * O e B = máx {I a0 1 , ... , 1 ªn-l I }, ond� ak k O, ... , n são os coeficientes de
=

P(x) O Então, o módulo de todas as raízes xk k 1 , ... , n satisfaz a inequação,


= . =
Solução Numérica de Equações 99

Prova:
1
Tomando x = - , temos:
y

1 1 1 1
P(x) = a0 - n + a1 yn - 1 + ... + an - 1 - + an = -
--
n Q(y)
Y Y Y

onde,

As raízes Yk = __!__, k = 1, ... , n do polinómio Q(y) pelo teorema anterior


xk
satisfazem a inequação:

Observe que an é o coeficiente de � e a0 é o termo independente.

Assim: l xk l >
1
B =r
k = l , ... , n
1+

Observação
Pelo teorema e corolário anteriores, podemos observar que, no plano complexo
da Figura 3.15, as raízes de P(x) = O estão localizadas no anel: r < l x l <_R.

\
�t--�-+-�+-----t��+-:>

��)'
Figura 3.1 5
100 Cálculo Numérico

Exemplo 3.10
As raízes de P(x) x3 + 2x2 - x - 2
= = O estão localizadas em -3 < xk < - 1/2 ou
1/2 < xk < 3, pois:

Teorema 3.4
Regra de sinal de Descartes
Dada uma equação polinomial com coeficientes reais, o número de raízes
reais positivas p dessa equação não excede o número v de variações de sinais
dos coeficientes. Ainda mais, (v - p) é inteiro par, não negativo.
Prova: Demidovich, B. P.; Maron, 1. A.

Observação:
Para determinar o número de raízes negativas, basta calcular o número de
variações de sinais no polinômio P(-x).
Exemplo 3.11
Dada a equação polinomial P(x) x3 + 2x2 - x - 2 O aplicando o teorema da
= = ,

regra de sinais de Descartes, temos:


A troca de sinais nos coeficientes de P(x) é v 1. Como (v - p) é inteiro
=

par temos:
v 1 � p l, então o polinômio deve possuir uma raiz real positiva.
= =

Teorema 3.5
Teorema de Budan-Fourier
Se os números a e b (a < b) não são raízes de um polinômio P(x) de grau n,
então o número N(a, b ) de raízes reais da equação P(x) O localizadas entre
=

a e b é dado por:
N(a, b) � - 2k (k natural), sendo � = N(a)-N( b), onde N(x) é igual
=

ao número de variações de sinais na seqüência de sucessivas derivadas:


P(x), p( l l(x), ... , p n-1 ) ,p(n l(x)
Prova: Demidovich, B. P.; Maron, 1. A.
Exemplo 3.12
Dado o polinômio·P(x) x3 + 2x2 - x-2. Aplicando o teorema de Budan-Fourier,
=

vemos que os valores 3 e -3 não são raízes de P(x), pois P(3) = 40 e P(-3) -8.
=

Desta forma, é possível calcular o número das raízes reais localizadas [-3, 3]:
Solução Numérica de Equações 101

Seja pi (x) � i-ésima derivada de P(x), assim tem:


P(3) = 40 p(l) (3) = 38 p<2> (3) = 22 p<3> (3) = 6
P(-3) = -8 p(l> (-3) = 14 p<2> (-3) = -14 p<3> (-3) = 6
Assim, temos:
N(3) = O e N(-3) = 3
LW = N(-3)-N(3)= 3-0 = 3
LW(-3, 3)= 3-2k k E N
Portanto, o polinômio dado possui uma ou três raízes no intervalo (-3, 3).
Pela regra de sinal de Descartes, observamos que este polinômio possui
uma raiz positiva e, portanto, o polinômio pode ter duas raízes no intervalo
(-3, O) ou não ter nenhuma raiz real negativa.
Teorema 3.6
Teorema de Sturm
Dado o polinômio P(x) e um número real a, seja v(a) o número de variações
de sinal na seqüência g0(a), g1(a), ... , gn(a), ignorando-se os zeros, em que
g0(x) = P(x), g1 (x) = P'(x) e que para k � 2, gk(x) é o resto da divisão de gk_2(x)
por gk-l (x), com sinal trocado.
Se os números a e b não são raízes do polinômio P(x), então o número de
raízes distintas de P(x) = O no intervalo a � x � b é exatamente v (a) - v(b).
Prova: Durand, E.

Exemplo 3.13
Dado o polinômio P(x) = x3 + 2x2 - x - 2 = O, e usando o teorema de Sturm,
temos:
g0 (x) = P(x)= x3 +2x 2 - x -2 = 0
g1 (x) = p( l > (x) = 3x2 + 4x -1
14 x + -
g2 (x) = - 16
9 9
81
g3 (x) = -
49

Assim, para a = O e b = -1.5, temos:


g0 (0) = -2 go (-1.5) = 0.625
g1 (0) = -1 gl (-1.5) = 0.25
g2 (0) = 16/9 gz (-1.5) = -0.556
g3 (0)= 81/49 g3 (-1.5) = 81/49
102 Cálculo Numérico

Sendo v (O) = 1 e V (-1 .5) = 2, temos que v (-1 .5) - v (O) = 1, portanto,
existe uma raiz no intervalo (-1.5,0). Além disso, pelo teorema anterior, sabe­
mos que existem duas ou nenhuma raízes no intervalo (-3,0).
Como sabemos que existe uma raiz no intervalo (-1 .5,0), podemos con­
cluir que a outra raiz encontra-se no intervalo (-3, -1.5).

3.4.2 Determinação das raízes reais


Para determinar as raízes reais de um polinómio P(x), podemos usar qual­
quer método visto anteriormente neste capítulo, porém apresentamos o mé­
todo de Newton com o método de Briot-Ruffini, o qual avalia o polinómio e sua
derivada num ponto xi com um número mínimo de operações aritméticas.
Método de Briot-Ruffini

Sabemos que, dado um polinómio P(x), e a e 9t, existe um único polinómio


Q(x) de grau (n-1) tal que P(x) = (x-a)Q(x) + P( a). Note que P( a)é o resto da
divisão de P(x) por (x-a).
O método de Briot-Ruffini consiste em determinar os coeficientes de
Q(x) e P(a) diretamente, como segue.
Sejam:

Q(x) = b0 xn-l + bl xn-2 + ... + bn-1


P(a) = bn (resto da divisão)
Temos:
[a0xn + a1Xn-1 + . + an ] = (X-<l) [bo Xn-1 + b1X n-2 + ... + bn-1 ] =
..

Pela igualdade dos polinómios, temos que:


ªº = ao bo � bo = ao
a1 = b1 - a b0 � bl = ª1 + a bo
ªn-1 = bn-1 - a bn-2 � bn-1 = ªn-1 +a b n-2
an = bn -a bn-1 � bn = a n +a bn-1
Solução Numérica de Equações 103

Note que, desta forma, P(a) = a0 an + a1 an-I + ... + an pode ser calculado
1 com n operações de adição e n operações de multiplicação.

Esquema prático de Briot-Ruffini


Podemos obter facilmente os coeficientes de Q(x) e o resto de divisão P(a),
conforme esquema prático que segue:

a.
.!..
.............. .....�� ......... ...��.................��.....................................�:��········· .... �:..........................
bn P(a.)
.

Figura 3.1 6

Seja P(x) = 6x3 + x - 1, calcule P(3).


Exemplo 3.14

Assim, temos:

b1 = a1 + ab0 = 0 + 3(6) = 18

b2 = ª2 + ab1 = 1 + 3(18) = 55
b3 = a3 + ab2 = - 1 + 3(55) = 164 = P(3)
Usando o esquema prático de Briot-Ruffini, temos:

6 o 1 -1
. .
· · · · · · · · · · · · · · · · · - · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
. .
. .
. .

3 i 6 18 55 i 164 = P(3)

Cálculo da derivada de P(x) num ponto a

Como vimos anteriormente, o valor de um polinômio num ponto a pode ser


calculado pelo método de Briot-Ruffini. Vamos agora avaliar P '(a) .
De P(x) = (x-a)Q(x) + P(a), segue que:
P '(x) = (x - a)Q ' (x) + Q(x)
104 Cálculo Numérico

Assim, para x = a, temos P'(a ) = Q(a). Portanto, para calcular P'(a), basta
calcular Q(a), ou seja, repetimos o procedimento anterior em Q(x), uma vez que
podemos escrever Q(x) = (x-a.) M(x) + Q(a), onde Q(a) é o resto da divisão
de Q(x) por (x-a.) e M(x) é um polinómio de grau (n-2) na forma:

Usando o método de Briot-Ruffini novamente, para avaliar Q(a) temos:

Cn-l = bn-l + acn_2 = P ' (a) � resto da divisão de Q(x) por (x - a)

Método de Newton + Briot-Ruffini

Como visto anteriormente, temos o processo iterativo do método de Newton:

xi l xi - P(xJ ,
� metodo de Newton
p (X )
+ = -, -

i
Neste caso, os valores de P(xi) e P' (xi) são calculados usando o método
de Briot-Ruffini.

Determine uma raiz do polinómio P(x) = x3 + 2x2 - x - 2 usando o método de


Exemplo 3.15

Newton + Briot-Ruffini, com E = 10-3.


Usando o estudo da localização das raízes do polinómio dado feita
anteriormente nesta seção, sabemos que existe uma raiz positiva no inter­
valo (-3,3). Podemos, ainda, verificar que P(-3)P(3) < O, garantindo que existe
pelo menos uma raiz neste intervalo.
Tomando-se uma solução inicial Xo = 2, temos a primeira aproximação
pelo método de Newton, dada por:
Solução Numérica de Equações 105

Usando o método de Briot-Ruffini para avaliar P(2) e P'(2), temos os


resultados:
1 -1
. .f
2
r. r.
-2

; + � 1 : I :� +
················· ···················· ···················· ·················· ··················

T
······ ······· ········ ·········- -········ ········· ········ ···· ·····- �= -·····

Desta forma, temos:


12 = l.3684
X1 = 2 - -
19
Como l x1 - x0 I = 0.4616 > E, determinamos a segunda aproximação
l xi I
para a raiz:
P(xi )
X2 = X1 - --
P'(X1 )
Usando o método de Briot-Ruffini para avaliar P(xi ) e P'(x1 ), temos:
1 -1
. ..
2
.. .. -2
· · · · · · · · · · · · · · · · · · · · · - · · · · · · · · · · · · · · · · · · · - · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·· · · · · · · · · · · · · · · · · · · · ·

.....�::�� . t . .. �. . . . . ! �..��� ....1 . .�:�.�� ..1 . .�::.���


.

1.3684 1 1 1 4.7368 : 10.0911 1


. . . .. . .. ... . ... . .. . ·····

Desta forma temos:


2.9390
X2 = 1.3684 10.0911 = 1.0772

Como l x2 - X1 1 = 0.2703 > E, repetimos o procedimento de Newton:


I x2 I
Assim, sucessivamente, temos a seqüência de soluções aproximadas:
x3 = 1.0045 � �'x_,,3_-_x,.--2�1 = 0.0724 > E
l x3 I
x 3'
X4 = 1.0000 � �'_4x_-_X� = 0.0045 > E
l 41

Portanto, temos a solução x 1.0000, uma vez que o critério de parada =

foi satisfeito.
106 Cálculo Numérico

3.5 Sistemas de equações não lineares


Seja F: 9\º � 9\º contínua e diferenciável, isto é:
F(x, y, ... , z) = [f1(x, y, ... , z), f2(x, y, ... , z), ... , fn(x, y, ... , z)], onde fi: 9\º � 9\. são
funções não lineares.

tal que F(x, y, . . . , z) = O, consiste em resolver o seguinte sis


Detemrinar a raiz desta função, isto é, detemrinar o vetor solução �x�-�.,._._..,.
a de equações
não lineares.
f1 (x, y, ... , z) = O
f2 (X , y, ... , z) = Ü

� (x, y , ... , z) = O
Exemplo 3.16

{
Considere o sistema de equações não lineares:
sen(x) + y = O
x 2 + y2 =0-1

solução (x, y) tal que F(x, y) = O, com F(x, y) =


sen(x) + y
.
[
Determinar a solução deste sistema é equivalente a determinar o vetor
l
x 2 + y2 -1
3.5.1 Método de Newton
Por simplicidade, consideramos inicialmente um sistema de equações não

{
lineares com duas equações e duas incógnitas:
f1 (x, y) = O
f2 ( X , y) = Ü

em que F(x, y) =
[ ]
Ou seja, buscamos determinar o vetor solução (x, y) tal que F(x, y) = O,
f1 (x, y)
f2 (x, y) ·
Seja (Xo, y0) uma aproximação inicial para a solução (x, y). Expandindo
f1 (x, y) e f2 (x, y) por série de Taylor em tomo do ponto (Xo, y0) até a derivada de
1ª ordem e igualando a zero a série truncada, temos:
Solução Numérica de Equações 107

Como as funções não lineares foram aproximadas por funções lineares,


podemos observar que temos um sistema de equações lineares para ser
resolvido:

A solução deste sistema linear fornece uma nova aproximação (x 11 y 1)


para a solução (x, y) desejada.
Na forma matricial, temos:
a f1
ay
a f2
ay

Definindo-se J(XQ, y0), a matriz Jacobiana avaliada no ponto (Xo, y0), temos:
(xo ,yo )

J(xo , yo ) ( ]( ]
X 1 - Xo

Y1 - yo
=
-f1 ( Xo , yo )

-f2 ( Xo , Yo )
Denotando r = (x - x0 ) e s = (y - y0 ), o sistema linear escreve-se como:

Resolvendo este sistema usando um método numérico, visto no Capí­


tulo 2, temos os valores de r e s. Desta forma, a nova aproximação (x1 1 yi ) é
determinada por:
x1 = x0 + r e y1 = y0 + s
Repetindo o procedimento de linearização em tomo do ponto obtido
(x1 1 y1), isto é, fazendo a expansão das funções f1 e f2 por série de Taylor até a
derivada de 1 ª ordem, obtemos uma nova aproximação (x2, y2). Assim, suces­
sivamente, no ponto (xi, yJ, temos o seguinte processo iterativo:

J(xu yJ
(xi+l - xi ) = (-f1 (xi , Yi )) � Processo iterativo de Newton
f.
Yi+l - yi - 2 ( X u Yi )
108 Cálculo Numérico

Denotando li = xi+I -xi e si = y i+1-yi, resolvemos o sistema de equa­


ções lineares obtido anteriormente e determinamos a nova aproximação
(xi+t Yi+I ) por:
/

Podemos generalizar os resultados obtidos para um sistema de equações não


lineares, isto é:
f1 (x, y, ... , z)= O
f2 (x, y, ... , z) = Ü

� (x,y, ... , z)= O


Processo iterativo de Newton:
éH1 af1 af1
ax ay az Xi+l - Xi f1 (xi, yi, ... , zi)
af2 af2 af2 f2 (Xj, Yi1 . . . , Zj)
ax ay az Yi + 1 - Yi =

a�
ax ay az ( Xi , Yi , ..., zi )
Ainda,

onde J(xi, yi, ... , zi) é a matriz jacobiana avaliada no ponto (xi, yi, ... , zJ
Denotando li = xi+I - xi si = yi+I -yi ... ti = zi+I -zi , temos o sistema
de equações lineares para ser resolvido, como segue:

=
Solução Numérica de Equações 109

Usando um método direto para resolver o sistema linear obtido, obtemos os


valores de li , si , ... , ti e a nova solução aproximada (xi+t Yi+t , zi+t ) dada por:
i i •••

Convergência
Condições para convergência do método de Newton:
a) As função � (x, y, ... , z) i = l, . . , n contínuas e as derivadas até or­
dem contínuas e li�itadas nu.ma vizinhança da raiz (x, y, ... , z).
. 2"'

c) A solução inicial (x0 , y0 , , z0 ) deve ser próxima da raiz (x, y, ... , z).
b) Det U (xi,yi, ... , zi)] � O.
•••

Observação
A seqüência gerada pelo método de Newton (xu yi , ... , zJ, a partir de uma

ma, converge para (x, y, ... , z), e a convergência é quadrática.


solução inicial (x0 , y0 , , z0 ) suficientemente "próxima" da solução do siste­
.••

Algoritmo 3.5
1. Considere o sistema de equações não lineares
f1 (x, y, ... , z) = O

f2 (x, y, ... , z) = O

� (x, y, ... , z) = O

inicial (x0 , y0 , , z0 ) para a solução do sistema F(x, y, .. . , z) = O e,


1.1Defina a matriz jacobiana J(x,y, ... , z), escolha uma aproximação

E > O, uma tolerância fixa.


•••

1.2 Faça Pare Falso, i = O.


=

2 Enquanto Pare = Falso, faça:


2.1 Resolva o sistema de equações lineares:
li - f1 (Xu Yi 1 ··· 1 zd

=
110 Cálculo Numérico

2.2 Determine a nova solução:

2 .3 Se j xi+Ij xi+1- xI i 1 < E e


I Yi+I - yi 1 < E
I Yi+1 I
ou 1 � (xi , Yu ... , zJ 1 < E, i = l, ... , n, então Pare Verdade
=

Senão i i + 1=

Observação
Para implementação deste algoritmo, não é necessário armazenar toda a se­
qüência de soluções aproximadas. Basta armazenar dois vetores, x(O) e x( l l, e
caso o critério de parada não seja satisfeito, faça x( l ) x(ºl . =

Exemplo 3.17
Resolver o seguinte sistema de equações não lineares, usando o método de
Newton com E = 0.001.
{ x2 + y2 - l = O � f1 (x, y)
x2 - y = O � f2 (x, y)
Graficamente, podemos representar conforme a Figura 3.17:

f2(x,y)

Figura 3.1 7
Solução Numérica de Equações 111

Pela Figura 3.17 vemos que existem duas raízes que se encontram na
' intersecção dos gráficos de f1 (x,y) e f2 (x,y).
A matriz jacobiana é dada por:

[
l
2x 2y
J(x, y) =
2x -1

Tomando uma solução inicial (x0 , y0 ) = (0.5, 0.5), temos o processo ite­
rativo de Newton como segue:
Fazendo r = (x1 - x0 ) e s = (y1 - y0 ), temos o seguinte sistema de equa­
ções lineares nas variáveis r e s:

r
li
1 1

-1
] lr l rl ]
r

s
=
o.5

o.5

Usando o método de eliminação de Gauss, temos o sistema na forma


equivalente:

cuja solução é r 0.1250 e s = 0.3750.


=

Desta forma, temos a solução aproximada:

{ x1 = x0 + r = 0.8750
y1 = y0 + s = 0.6250

Critério de parada:
112 Cálculo Numérico

Analogamente calculamos a seqüência de soluções aproximadas:

l x2 -x1 I = 0.1066 > E


l x2 I

r
= 0.7907

y2 = 0.6180 I Y2 -Y1 I = 0.01 13 > E
I Y2 I

r = 0.7862

l x3 -x2 I
l x3 I
0.0057 > E

y3 = 0.6180 I Y3 -Y2 I = 0.0000 < E


I Y3 1

r = 0.7862

l x4 -x3 I
l x4 I
0.0000 < E

y4 = 0.6180 IY4 - y3 I = 0.0000 < E


I Y4 1
Portanto, temos a solução aproximada:
(x,y):: (x , y ) = (0.7862, 0.6180 ), uma vez que o critério de parada
4 4

foi verificado.

3.5.2 Determinação de raízes reais e complexas de um


polinômio
O método de Newton, visto neste capítulo, determina as raízes reais de um
polinômio, portanto, toma-se necessário um método numérico para determi­
nar as raízes reais e também raízes complexas quando estas existem. Depois
da localização das raízes reais e complexas de um polinômio, vista neste ca­
pítulo, apresentamos o método de Newton-Bairstow· para o cálculo de raízes
reais e complexas, como segue:

Método de Newton-Bairstow
Seja P(x) um polinômio de grau n � 2. Para calcular as raízes complexas de
P(x), caso existam, consideramos que estas ocorrem aos pares, isto é, se ( a+bi)
for uma raiz, então ( a-bi) também será uma raiz de P(x).
Solução Numérica de Equações 113

Desta forma, podemos escrever:

P(x) = [(x - (a + bJ)(x - ( a - bi ))Qn_2 (x) = (x2 - 2ax + a2 + b2 )Qn_2 (x) =

= (x2 - ax - p) + R(x)

Portanto, devemos determinar um divisor D(x) do 22 grau da forma


D(x) = x2 - ax - p, com a e p e9t, de modo que a divisão de P(x) por D(x)
seja exata, isto é, o resto dessa divisão R(x) = O. Observe que, uma raiz do
fator quadrático D(x), será também uma raiz de P(x).
Assim, temos:

P(x) = D(x)Q(x) + R(x)

onde

D(x) = x2 - ax - P

Portanto,

P(x) = D(x)Q(x) + R(x)

= bo Xn + b1 Xn-1 + ... + bn-3X3 + bn-2 X2 - Clbo Xn-1 - Clb1 Xn-2 - . . . - Clbn-3X2 - Clbn-2 X +
114 Cálculo Numérico

Desta forma, temos:

ªº = bo bo = ªº
ª1 = b1 - abo b1 = ª1 + a bo

ªn - 2 = bn -2 - abn -3 - Pbn -4 bn -2 = ªn -2 + a bn -3 + p bn -4
ªn - 1 = bn - 1 - abn -2 - Pbn -3 bn - 1 = ªn -1 + a bn - 2 + p bn -3
ªn = bn - abn -1 - Pbn -2 bn = an + a bn-1 + P bn -2

{
De modo geral, temos:

b· = a· + ah 1 + ..,Ah 2
1 1 1- 1- i = O, l, ... , n - 1

b_1 = b_2 = 0

Como R(x) = bn_1 (x - a ) + bn = 0, temos o seguinte sistema não linear, nas

{
variáveis a e p :

bn -1 = ªn -1 + a bn -2 + p bn - 3 = o

bn = an + a b n -1 + P bn -2 =0

Para resolver o sistema obtido, usamos o método de Newton para siste­

r-�(<X; ,�; )J
mas não lineares, visto neste capítulo, isto é

éH1
(ª - ª i ) =
af1
ªª ap
a f2 af2 P - Pi
(aj ,J}j )
- f2 (ai , pi )
ªª ap
ou, ainda,
R. )
( a-•+1 - a- ) = ( - ff1 (a(a"· ..,. )
J( a- P· ) ,
" ' Pi+1 -Pi - 2 u PJ
onde J( au PJ é a matriz jacobiana avaliada no ponto (ai , PJ .
Solução Numérica de Equações 115

Denotando r = (ai+l - ad e s = ( Pi+l - Pd e, considerando que f1(a, P) = bn-l


e f2(a, p) bn, temos o seguinte sistema linear:
=

é) bn-1 é) bn-1 r -bn-1


ªª ap
=
é) bn é) bn
(llj ,pj )
s -bn
ªª ap
Para calcular as derivadas parciais de bn e b n 1 , usamos um processo _

recursivo proposto por Bairstow da seguinte forma:


a) Derivada dos bi i O l, ... , n com relação a a, sendo que os
= ,

ai i = O, l, ... , n são constantes:


é) bo
=0
ªª
é) b1
= bo
ªª
é) b2 é) b1
= b1 + a
ªª ªª
a b3 a b2 ab1
= b2 + a +P
ªª ªª ªª

é) b n-2 p --
é) bn-3
bn-2 + a -- +
é)a é)a

é) b
i+l i = O, l, , n
Denotando-se ci = � ... - 1 , temos:

Co = bo
c1 = b1 + a c0
C2 = b2 + a c1 + P co

Cn-2 = bn-2 + a cn-3 + Pcn-4


Cn-1 = bn-1 + a cn-2 +Pcn-3
116 Cálculo Numérico

{
Em geral, temos:

ci = bi + a ci-1 + Pci-2 i = O, l, ... , n - 1


c_l = C-2 = 0

Desta forma, temos que:

b) Derivada dos bi com relação a p :

ê) bo
=0
ap
ab1
=O
ap
d b2
- bº
ap
d b3 a b2
= bi + a
ap ap

ê) bi+2
Denotando-se di = i = O, l, , n - 2
...

d0 = b0
d1 = b1 +ad0
d2 = b2 + ad1 + Pdo
Solução Numérica de Equações 117

{
De um modo geral, temos:
d·1 = b1 + a d1-1 + A..,,d 2 i = O, l, ... , n - 2
d_l = d-2 = 0
- .
1-

Entao, dn-3 = �
- abn-1 ab
e d n _2 = n .
aj3
Realizando uma comparação com os resultados obtidos em a) e b),
vemos que
ci = di i = O, 1, .. , n - 2 .

a bo
Assrm, c 0 _3 = �
. a b n-1
e c o -2 = a�

Desta forma, o sistema de equações lineares obtido anteriormente:


a bn - 1 a bn -1 r -bn- 1
ªª a13
=

a bn a bn
ªª a13 s -bn
IX; ,l:\i )

onde r = (ai+t - aJ e s = (l3i+t - j3J, toma-se:

Obtidos os valores para r e s, na resolução do sistema de equações lineares,


temos que:
ªi+1 = ai + r e 13i+t = 13i + s
Algoritmo 3.6
1. Considere o polinômio P(x) de grau n � 2, defina uma solução inicial
(a 0 , � 0 ) e E > O, uma tolerância fixa. Faça Pare = Falso, k = O.
2. Enquanto Pare = Falso, para j = O, l, ... , n, faça:

{b
2.1 Para i = O, 1, ... , n, faça
1= a1. + \.A.) b1-1 + !-')
"' · A . b·
2 1-

b_1 = b_2 = o

{C·1 C· C·
2.2 Para i = O, ... , n-1, faça
= b1 + <X·J 1 -1 +A .
1-'J 1- 2

c_l = c_2 = o
118 Cálculo Numérico

3. Resolver o sistema de equações lineares:

3.2 Calcular ª i + l = a i + r e � i + l = �i + s

e
�j+ l - �j < E
---

�j
ou
l bn-1 l < E e l bn l < E, então faça:
a = ai+l e � = � j+l e determine as m raízes de
D(x) = x 2 - ax - � = O e vá para 4.
Senão j = j + 1 e volte em 3.
4. Para i = O, ... , n-m, faça:

Senão faça a i b i e k = k + 1 e volte para 1 .


Se m = n então Pare = Verdade
=

Exemplo 3.18
Usando o método de Newton-Bairstow, determinar as raízes da equação

P(x) = x4 - 3x3 + 2.25x2 - 0.75x + 0.5 = 0 com a precisão E = 0.01.


polinomial

Usando o algoritmo dado, temos os seguintes resultados:


j=O
Tomando a.0 = O e �o = O , temos os seguintes resultados:

b0 = a0 = 1
b1 = a1 + ab0 = -3 + 1(0) = -3
b2 = a2 + ab1 + �b0 = 2.25 + 0( -3) + 0(1) = 2.25
b3 = a3 + ab2 + �b1 = --0.75 + 0(2.25) + 0(-3) = --0.75
b4 = a4 + ab3 + �b2 = 0.5 + 0(--0.75) + 0(2.25) = 0.5
c0 = b0 = 1
c1 = b1 + ac0 = -3 + 0(1) = -3
c2 = b2 + ac1 + �c0 = 2.25 + 0( -3) + 0(1) = 2.25
c3 = b3 + ac2 + �c1 = --0.75 + 0(2.25) + 0( -3) = --0.75
Solução Numérica de Equações 119

( )() ( )
Desta forma, temos o sistema de equações lineares:

2.25 -3 r 0.75
-0.75 2.25 s -0.5

Resolvendo o sistema obtido, usando o método de Gauss com pivota­

{r
mento na diagonal, temos:

= 0.0667

s = -0.2000

{
Assim,

a1 = a0 + r = 0+ 0.0667 = 0.0667
P1 = Po + s = 0 - 0.2000 = - 0.2000
Critério de parada:

j=1
bo = ao = 1
b1 = a1 + ab0 = - 3 + 0.0667(1) = -2.9333
b2 = a2 + ab1 + Pbo = 2.25 + 0.0667( -2.9333) - 0.2000(1) = 1.8543
b3 = a3 + ab2 + Pb1 = - 0.75 + 0.0667(1.8543) - 0.2000( -2.9333) = -0.0397
b4 = a4 + ab3 + Pb2 = 0.5 + 0.0667(-0.0397) - 0.2000(1.8543) = 0.1265

c0 = b0 = 1
C1 = b1 + <XCo = -2.9333 + 0.0667(1) = -2.8666
c2 = b2 + ac1 + Pc0 = 1.8543 + 0.0667( -2.8666) - 0.2000(1) = 1.4631
c3 = b3 + ac2 + Pc1 = -0.0397 + 0.0667(1.4631) - 0.2000( -2.8666) = 0.6312

( ) (r) ( )
Temos o seguinte sistema de equações lineares:

1 .463 1 - 2 . 8666 0.0397


=
0.63 1 2 1 .463 1 s - 0. 1 265
120 Cálculo Numérico

{
Usando o método de Gauss com pivotamento na diagonal, temos:

r = -0.0771
S = - 0.0532
{ a2 = a1 +r = 0.0667 - 0.0771 = - 0.0104
P2 = P1 + s = --0 .2000-0.0532 = -0 .2532

Critério de parada:

j=2

b0 = a0 = 1
b1 = a1 + ab0 = - 3 + --0.0104(1) = -3.0104
b2 = a2 + ab1 + pb0 = 2.25 -0.0104(-3.0104)-0.2532(1) = 2.0281
b3 = a3 + ab2 + pb1 = - 0.75 - 0.0104(2.0281) - 0.2532(-3.0104) = --0.0089
b4 = a4 + ab3 +pb2 = 0.5 - 0.0104(--0.0089) - 0.2532(2.0281) = --0.0134

c0 = b0 = l
C1 = b1 + aco = - 3.0104 - 0.0104(1) = -3.0208
c2 = b2 + ac1 +�0 = 2.0281 - 0.0104(-3.0208) - 0.2532(1) = 1.8063
c3 = b3 + ac2 + Pc1 = - 0.0089 - 0.0104(1.8063) - 0.2532( -3.0208) = 0.7372

Temos o seguinte sistema de equações lineares:

( 1.8063- 3.0208 ) (r) = ( 0.0089 )


0.7372 1.8063 s 0.0134

{
Usando o método de Gauss com pivotamento na diagonal, temos:

r = 0.0103
s = 0.0032
{ U3 = <X2 +r = -0.0104+0.0103 = - 0.0001
P3 = P2 + s = - 0.2532+0.0032 = - 0.2500
Solução Numérica de Equações 121

Critério de parada:
l b3 I = o.oo89 < E e l b4 I = o.Ol34 > E
j=3
b0 = a0 = 1
b1 = a1 + ab0 = - 3 + -0.0001(1) = -3.0001
b2 = a2 + ab1 + Pbo = 2.25-0.0001( -3.0001) - 0.2500(1) = 2.0003
b3 = a3 + ab2 + Pb1 = - 0.75 - 0.0001(2.0003) - 0.2500( -3.0001) = -0.0002
b4 = a4 + ab3 +Pb2 = 0.5 - 0.0001(-0.0002) -0.2500(2.0003) = -0.0001
Critério de parada:
l b3 I = o.ooo2 < E e l b4 I = o.oool < E
Como o critério de parada está satisfeito, podemos construir os polinô­
mios D(x) e Q(x) da seguinte forma:
D(x) = x2 - ax - p = O
D(x) = x2 +0.000lx +0. 2500 = O, cujas raízes são complexas dadas por:
X1 = 0.00005 + 0.5 i e X2 = 0.00005 - 0.5 i
Q(x) = b0x2 + b1 x + b2 = O
Q(x) = x2 - 3.0001x + 2.0003 = 0, cujas raízes são reais dadas por:
X3 = 1.9999 e X4 = 1.0002

Portanto, o polinômio possui duas raízes reais e duas raízes complexas:


X1 = 0.00005 + 0 . 5 i e X2 = 0.00005 - 0.5 i X3 = 1.9999 e X4 = 1.0002.

3.6 Trabalhando com o software numérico


No Software Numérico, o usuário deve selecionar o módulo Raízes de Fun­
ções e fornecer a função f(x). Além disso, deve fornecer um intervalo inicial
para uma investigação no qual encontra-se a raiz e uma precisão E desejada
conforme exibimos resultados no seguinte exemplo:
Exemplo 3.19
Considere o seguinte problema: uma peça deve ser construída com o formato
de um arco de circunferência e seu comprimento externo é de 8 metros. Essa
peça será fixada em base de comprimento igual a 6 metros, conforme mostra
a Figura 3.18.
122 Cálculo Numérico

Formule o modelo matemático correspondente para o problema e, usando


métodos numéricos conhecidos, determine a altura máxima da peça.

Modelo matemático
Como a peça tem o formato do arco de uma circunferência, podemos repre­
sentá-la graficamente conforme a Figura 3.18 a) e b):

y
peça

LI:\
+----- 6 m -----+
X

a) b)

Figura 3. 1 8

Observando a Figura 3.18, temos:


h � altura da peça a ser determinada
0 � ângulo formado no triângulo retângulo
r � raio de circunferência
r=h+x
Podemos escrever as relações trigonométricas no triângulo retângulo
da Figura 3.18, como segue:

sen(0) = 3 / r � r sen(0) = 3 i)

cos(0) = x / r � x = cos(0) - r ii)


{ 2n � 21t r � 0(21t r) = (21t)(4) � r = 4 / 0 iii) .
0�4
Desta forma, substituindo iii) em i), temos a seguinte equação na va­
riável 0:
4 sen(0) - 30 = O
Solução Numérica de Equações 123

Resolvendo a equação obtida, usando o software numérico e selecio­


nando o método de Newton, a partir de uma solução inicial x0 1 .2 e uma
=

precisão E 0.0001, temos a seqüência de soluções aproximadas, conforme


=

a Figura 3.19 a) e b):

a) b)

e)

Figura 3.1 9

Observando a Figura 3.19 c), temos a raiz X: 1 .2757 com a precisão dese­
=

jada. Portanto, temos o ângulo dado por 0 = 03 1 .2757.


=
124 Cálculo Numérico

Assim, substituindo 0 = 0 3 1.2757 em iii) e ii), temos:


=

r = 4/1.2757 = 3.1355
x = r cos(l.2757) = 0.9119
Portanto, h = r-x = 2.2236 será a altura máxima da peça.
Exercícios
1. Usando o software numérico, determine graficamente uma vizinhança
para as raízes das seguintes funções:
a) f(x) = x - ex
b) f(x) = sen(x) + x2 + 1
c) f(x) = sen(x) - x + 2
d) f(x) 2x - tg(x)
=

2. Usando todos os métodos vistos, resolva a equação cos(x) + x = O, com o


auxílio do software numérico.
3. Usando o método da bisseção, determine uma raiz das funções a seguir
com a precisão E = 0.0001:
a) f(x) = x3 - sen(x)
b) f(x) = 3x - cos(x) + 1
c) f(x) ln(x) - sen(x)
=

4. Usando o método de Newton, resolva as equações a seguir:


a) f(x) x sen(x) O
= ·- =

b) f(x) = sen(x) - x - 1 = O
c) f(x) = 2x - e-x = O
5. As raízes de f(x) = ln(x) - x + 2 podem ser determinadas usando o pro­
cesso iterativo na forma xi+l = <!>(xd i = l, 2, ...
Considere os processos iterativos:
a) X ; +i = <l>(x ; ) 2 + ln( x ; )
=

b) X ;+1 = <l>(x ; ) = e x,- 2


Usando o critério de convergência do método das aproximações
sucessivas, analise os processos iterativos dados e verifique qual
deles possui garantia de convergência para as raízes da equação e a
partir de uma solução inicial dada determine essas raízes de f(x).
6. Usando a regra de sinais de descartes, o teorema de Budan e a regra de
Sturm, localize as raízes reais das seguintes equações polinomiais:
a) P(x) = x3 + 8x2 - 4x - 2 = O
b) P (x) x4 - 4x3 - 9x2 + 19x + 20 = O
=

c) P(x) = x4 - 4x3 + 3x2 - 4x + 4 O =


Solução Numérica de Equações 125

7. Usando o método de Newton + Briot-Ruffini, determine uma raiz real


dos polinômios do Exercício 6, com E = 0.001.
8. Seja a equação P(x) = x4 - 2x2 - 3 = O.
a) Verifique, usando as regras de localização de raízes, se a equação
dada possui uma raiz real. Em caso afirmativo, determine-a usando o
método de Newton, com E = 0.001.
b) Verifique, usando as regras de localização de raízes, quantas raízes
reais e complexas possui a equação dada.
9. Seja a equação P(x) = x3 - 3x2 + 4 = O.
a) Verifique se a equação possui uma raiz de multiplicidade em x = 2.
b) Determine-a usando o método de Newton, com E = 0 . 001.
10. Usando o método de Newton-Bairstow, determine as raízes complexas
do polinômio
P(x) = x3 - 4x2 + Sx - 2 = O, partindo da divisão de P(x) por (x2 - x).
11. Calcular as raízes da equação polinomial P(x) = x4 - 2x3+4x2 - 4x + 4 = O
usando o método de Newton-Bairstow, com a0 = 1 e �o = -1.

j
12. Usando o método d e Newton, resolva os seguintes sistemas de equações
não lineares: com E = 0.01.

a)
{x2 + y2 = 1
b)
{ 2x3 - y = l
x 2 + y2 + z 2 = 2
c) x2 + y2 =1
3x2 + y2 = 1 x2 - y = 1
3x2 =1
13. Seja a equação polinomial P(x) = x3 + x + 1 = O. Determine uma raiz real
dessa equação usando duas iterações pelo método da bisseção e o mé­
todo de Newton + Briot-Ruffini com E = 0.001.
14. Usando o método de Newton Bairstow, determine as raízes complexas
do polinô!Uio
a) P(x) = x4 + 3x2 + 1
b) P(x) = x4 + 2x2 + x + 1
15. Determinar todas as raízes da equação polinomial P(x) = x3 - x - 1 = O
usando o método de Newton + Briot-Ruffini com E = 0.0001.
Capítulo 4

Aproximação de Funções
Interpolação e Método dos Mínimos Quadrados

4.1 Introdução
Neste capítulo apresentamos a aproximação de uma função de uma variável
real por outras funções mais simples, de modo que operações em geral sejam
realizadas com mais facilidade. Esta aproximação possui várias aplicações
na resolução de problemas complexos, como integração de funções, equa­
ções diferenciais, sistemas não lineares etc.
Esta situação pode ocorrer quaílkto trabalhamos com uma função f(x) e
esta apresenta um grau de dificuldade, por exemplo, para avaliar em pontos,
derivar ou ainda integrar, ou mesmo quando conhecemos esta função em
um número finito de pontos de um intervalo [a, b], sem o conhecimento de
sua forma analítica, geralmente obtida em experimentos.
Algumas funções são usadas neste tipo de aproximação, como poli­
nômios, funções exponenciais, trigonométricas etc. Faremos a aproximação
de uma função f(x) inicialmente usando interpolação polinomial, seguido da
aproximação pelo método dos mínimos quadrados.

4.2 Interpolação polinomial


Considere uma função f(x) definida em x0, xv ... , Xn, (n + 1) pontos distintos
de um intervalo [a, b ], e denotamos Yi f(xi) i O l, ... , n conforme a repre­
= = ,

sentação na Figura 4.1 .

127
128 Cálculo Numérico

y f(x)
Yn -----------------------------------

Yt - - - - - - - - - �-=-=-=---- -----

Yo

XQ = a Xn = b X

Figura 4.1

Interpolar esta função f(x) definida em x0, xv ... , Xn (n + 1) pontos dis­


tintos de um intervalo [a, b] consiste em aproximar esta função por um po­
linômio P(x) de grau menor ou igual a n, tal que este coincida com a função
nestes pontos, isto é, P(xi) = f(xi) = Yi i = O, 1, ... , n.
Apresentamos, a seguir, o teorema que garante a existência e a unicidade
do polinômio que desejamos determinar.
Teorema 4.1

Seja f(x) definida em XQ, xv ..., Xn (n + 1) pontos distintos de um intervalo [a, b],
Existência e Unicidade

então existe um único polinômio P(x) de grau menor ou igual a n tal que
P(xi) = f(xi) = Yi i = 1, ... , n.
Prova:
Considere o polinômio de grau n, P(x) = an xn + an_1 xn-l + ... + a1x + a0 tal que
P(xi) = f(xi) = Yi i = O, 1, . .. , n.
Desta forma, temos:
Aproximação de Funções 129

onde x = (a0 , a0_1 , , ao ), b = (y0 , y1 , , y0 ) e a matriz A é dada por:


Podemos observar que temos um sistema de equações lineares Ax = b,
••• •••

xô Xon-1 Xo 1
x
A= r X1n-1 X1 1

xºn Xnn 1 ... Xn 1


-

O det(A), chamado de determinante de Vandermonde, é dado por:

det(A) = TI (xi -xi ),


i<j

Como os pontos xi i = O, 1, ... , n são distintos, segue que det(A) * O, o


que significa que o sistema linear possui uma única solução e, portanto, os
coeficientes a0, a 1, ... , a0 do polinômio são únicos calculados pela resolução
deste sistema. Em resumo, o polinômio P(x) existe e é único.
Definição 4.1

x1 1 , x0 (n + 1) pontos distintos de um intervalo [a, b], ao polinômio P(x) de grau


Denominamos polinômio interpolador de uma função f(x) definida em XQ,
•••

menor ou igual a n, que coincide com a função nos pontos xi i = 1, ... , n, isto é,
P(xi) = f(xi) = Yi i = l, ... , n.
Representamos graficamente, conforme Figura 4.2:

f(x) f(x)
f(xn)

P(x)
f(Xo)

Xo = a X1 X0 = b X

Figura 4.2

Embora o polinômio interpolador P(x) coincida com a função nos pontos


de interpolação XQ, x1 1 , x0, espera-se que P(x ) = f(x) para x * xi i = O, ... , n, ou
•••
130 Cálculo Numérico

seja, estimamos f(x) pelo polinômio interpolador e cometemos um erro nesta


aproximação, dado por:
E( x) f (x) - P(x) =

Podemos representar graficamente, conforme Figura 4.3.

f(x)

---------------------------------------------------------
f(xn)

{ p(x) -
-
-- -- - - �-- - - - - - - - - - - - - - - - - - - -
f(x 1 ) - - - - - - - - - - - - - - - -
-- ---

E(X) f(x) --
- ----
----- --�------------------------------
'
1
1
1
1
1

:xo = a
Xn = b X

Figura 4.3

Apresentamos, a seguir, uma expressão geral para o erro cometido


quando aproximamos uma função f(x) por um pelinômio interpolador P(x).
Teorema 4.2
Seja f(x) uma função definida em XQ, xv ... , Xn (n + 1) pontos distintos de um
intervalo [a, b] e (n + 1) vezes diferenciável. Se P(x) interpola f(x) nestes pon­
tos, então o erro cometido E(x) é dado por:
E(x) f(x) - P(x) 'Jl ( X ) f< n+l l (Ç)
= =
(n + 1) !
Onde
n
'Jl ( X ) Il (x - x; ) e Ç e [x0 , xn 1
=

i=O

Prova:
Considere x E [x0 , Xn ].
i) Se x xi i O, l, . , n, então 'Jl(Xi) O e, portanto, temos f(xi) P(xi)
= = . . = =

e a expressão dada para o erro é válida.


Aproximação de Funções 131

ii) Se x '* Xj, i = O, 1, . .. , n, construímos uma função auxiliar:


<l>(s) = f(s) - P(s) - g(x)'l'(s), s E [x0 ,xn 1 com g( X ) = f(x) - P(x)
'l'(x)
Caso s = xi então:
<l>(x; ) = f(xJ - P(xJ - g(x)'l'(xJ = O
Caso s = x * xi, então:
<l>(x) = f(x) -P(x)-g(x)'l'(x) = f(x) - P(x) f(x)-P(x) 'l'(x) = O
'!'( X )
Assim, <!>(s) anula-se em pelo menos (n + 2) pontos de [Xo, xn], isto é,
nos pontos x, XQ, xv . .. , Xn ·
Desta forma, pelo teorema de Rolle do cálculo diferencial e integral,
temos que:
<1>'(s) possui pelo menos (n + 1) raízes em [x0 , xn ];
<1>" ( s) possui pelo menos n raízes em [x0 , Xn ];

<l>( n+l l (s) possui pelo menos 1 raiz em [x0 , xn 1 ·


Seja Ç uma raiz de <1>< n+1 > (s), istoé, <1>(n+1 > (1;) = 0. Derivando <j>(s) (n + 1)
vezes, temos:
<l>( n+l l (s) = f( n+tl (s)-0 - g(x )(n+l)!
e
<l>( n+l l (Ç) = f( n+l l (Ç)-g(x)(n+ l)! = O
Portanto,
( n+l )
g(x) = f (Ç)
(n+ l)!
e conforme a definição da função g(x), segue que
f (x) - P(x) f( n+l l(Ç)
=
ou, ainda, '!'( X ) (n+l)!
f(x)-P(x) = 'l'(x) -� f( n+l ) (Ç)
(n+ l)!
Portanto, o erro cometido é dado pela expressão proposta:
E(x) = f(x) - P(x) = '!'( X ) f< n+Il (Ç)
(n + 1)!
132 Cálculo Numérico

Limitante superior para o erro


Na expressão do erro do Teorema 4.2, o parâmetro Ç não é conhecido no inter­
valo [Xo, xnl e, portanto, não é possível calcular o valor numérico de f ( n+I ) (Ç).
Desta forma, apresentamos uma estimativa para o erro como segue:
Temos:

E(x) = f(x) - P(x) = '!'(X) f< n+l l (Ç)


(n + l) !
Podemos escrever:

1 1 l 'lf(X) 1 M
1 E(x) 1 = (n'!'+(X)l) ! f( n+l l (Ç) = l(n'lf+(X)l) !l 1 f( n+l l (Ç) 1 � (n
+ l) !

com M máx { l f( n+t > (x) I , x E [x0 , x0 J }


=

Assim, temos um limitante superior para o erro:

1 E(x) I � l 'l'(x)l)I! M
(n +
Observação
Podemos calcular uma estimativa para o erro somente quando tivermos a
expressão analítica da função f(x), pois, de acordo com a fórmula do limitante
superior para o erro, devemos dispor da (n + 1)-ésima derivada dessa função.
Nos casos em que tivermos apenas a função tabelada em um número
finito de pontos, sabemos que estamos cometendo um erro no ponto a ser
avaliado, mas não é possível estimá-lo.
A seguir, embora a resolução do sistema linear obtido na prova do Teo­
rema 4.1 forneça uma maneira para determinar o polinómio interpolador de
uma função, apresentamos, também neste capítulo, outras fórmulas interpo­
latórias para determinar o mesmo polinómio interpolador, uma vez que este
é único, porém com uma maior facilidade nos cálculos: Lagrange, Newton e
Newton-Gregory .

4.3 Fórmula i nterpolatória de Lagrange


Seja f(x) definida em x0, x 1 1 , Xn (n + 1) pontos distintos de um intervalo
[a, b] e Yi = f(xi) i = O, . . . , n.
•••

Considere o polinómio na forma:


n
P(x) = y0 R 0 (x) + y1 f 1 (x) + ... + yi f i (x) + ... + y0R n (x) = L Yk f k (x)
l< dl
Aproximação de Funções 133

Mostremos que P(x) é um polinôrnio interpolador, isto é, P(xJ = Yi i = O, ..., n.


Desta forma, temos:
P(xJ = y0 i0(x)+y1i1 (x)+ ... +yi i i (xJ+ ... +yn l n (x) = yi i = O , ... , n

{
Para que P(xi) Yi i O, ... , n, é suficiente que:
= =

i k (xJ = O para i :;t: k


idxJ = l para i. = k
Para que o polinôrnio P(x) satisfaça esta propriedade, podemos considerar:
x
idx ) = (x - Xo ) (x -x1 ) ... (x-xk_1 ) (x -xk+d ... ( -xn )
(xk -x0 )(xk -x1 ) ... (xk -xk_1 ) (xk -xk+i ) ... (X1c -xn )
Ou, ainda,

Assim, temos a fórmula de Lagrange para o polinômio interpolador:


n
P(x ) = L Yk idx )
k=O
Exemplo 4.1
Considere a função f(x) definida nos pontos, conforme tabela:

o 0.5 1.0
1 .3 2.5 0.9

Determine o polinômio interpolador, usando a fórmula de Lagrange, e


estime f(0. 8) . Neste caso, temos P(x ) = y0 i 0(x)+y1 i 1 (x )+y2 i 2 (x ) de grau � 2.
Construção dos ik(x) :
2
i o (x ) = (x-x1 ) (x -x2 ) = (x-O.S)(x - 1) = x - 1.5x +0.5
(x0 -x1 ) (x0 -x2 ) (0-0.5)(0 -1) 0.5
2
l i (x) = (x-x0 )(x -x2 ) = (x -O ) (x -1) = x -x
(x1 -x0 )(x1 -x2 ) (0.5 -0 )(0.5 -1) --0.25
2
i z (x ) = ( (x-x0 )(x -x1 ) = (x-O)(x -0.5) = x -0. Sx
Xz - Xo ) (Xz - X1 ) (1 -0)(1 -0.5) 0.5
134 Cálculo Numérico

Assim,
[ 2
0.5
] [ ]2
--0 .25
[ 2
P(x) = (1.3) x - 1.5x+0.5 + (2.5) x -x +(0.9) x -0.5x =
0.5
]
= -5.6x2 + 5.2x +1.3
Portanto, temos:
P(x) = - 5.6x2 + 5.2x+ 1.3 e f(0.8) = P(0.8) = 1.8760
Neste caso, temos um erro cometido na aproximação da função e, conse­
qüentemente, no valor de f(0.8), mas não podemos estimá-lo, pois não temos
a forma analítica da função f(x).
Exemplo 4.2
Considere a função f(x) = < 3 + x) definida nos pontos conforme, tabela:
(l + x)

0.1 0.2 0.4


2.82 2.67 2.43

Determine o polinómio interpolador de f(x), usando a fórmula de La-


grange, avalie f(0.25) e um limitante superior para o erro.
Neste caso, temos P(x) = y0 t' 0 (x)+ y1 t' 1 (x)+ y2 t' 2 (x) de grau 2.
Construção dos t'k(x):
2
t' o (x) = (x -x1 )(x -x2 ) = (x -0. 2)(x -0 .4) = x -0.6x +0.08
(x0 - x1 )(x0 -x2 ) (0.1 -0.2)(0.1-0.4) 0.03
2
t' i (x) = (x -x0 )(x -x2 ) = (x -0.l )(x - 0.4) = x - 0.5x +0.04
(x1 -x0 )(x1 -x2 ) (0.2 -0. 1)(0.2 -0 .4) --0.02
2
t' 2 ( X ) = ( X -Xo )(X -X1 ) - (x - O.l)(x -0 .2) = x - 0.3x+0.02
( X2 -Xo )( X2 -x. ) (0.4 -0.1)(0.4 -0.2) 0.06
Assim,

[ 2
] [
2
]
P(x) = (2.82) x -0. 6x +0. 08 + (2.67) x -0. 5x +0.04 +
0.03 --0.02
[ 2
]
+(2.43) x - 0.3x +0.02 = x2 - l.8x + 2.99
0.06
Aproximação de Funções 135

Portanto, temos:
P(x) = x2 -1 .8 x+2.99 e f(0.25) = P(0.25) = 2.6025
Limitante superior para o erro
A partir da fórmula do limitante superior para o erro:

para n = 2 temos:

Como f< 3 > (x) = -1 2 é uma função decrescente em módulo no intervalo


4
(l + x)
[0.1, 0.4], temos que:
if<3> (x) I assume o valor máximo em x = 0.1, ou seja :
máx l f< 3 > (x) l = 8.1962
Assim, temos um limitante para o erro no ponto interpolado x = 0.25, como
segue:

1 E(0.25) 1 $ 1 (0.25 - 0.1)(0.25:0.2)(0.25 - 0.4} 1 (8.1962) = 0.0015


4.3. 1 Fórmula interpolatória de Lagrange para pontos
eqüidistantes
Considere uma função f(x}, definida em XcJ, xlt ... , Xn (n + 1) pontos distintos de
um intervalo [a,b], tais que xi+l - xi h i = O, ... , n - 1 (pontos eqüidistantes).
=

Neste caso, é possível fazer uma mudança de variável conveniente e


obter o polinômio interpolador usando a fórmula de Lagrange de maneira
mais simples, isto é, com algumas simplificações nos cálculos.
Consideramos a seguinte mudança de variável:
(x - x0 ) •

u= ou amda x = x0 + uh
h
Desta forma, temos a seguinte correspondência dos valores da variável
x com a nova variável u, conforme Figura 4.4.
136 Cálculo Numérico

h h h
,----J'-.., ,----J'-..,

Xo X1 X2 Xn-1 Xn X

l h=l l l l l
o 1 2 n-1 n u

Figura 4.4

Podemos observar na Figura 4.4 a correspondência dos pontos tabelados


na variável x, com os novos pontos na variável u. Os pontos x0, xv . . . , Xn,
com espaçamento h, possuem uma correspondência única com os pontos
O, l, ... , n, com h 1, o que toma os cálculos bem mais simples.
=

Nesta mudança de variável temos as seguintes propriedades:


a) (x - Xr) (u - r) h
b) (xr - Xs) (r - s) h
=

Prova:
Sabemos que x = x0 + uh e que Xr = Xo + rh, desta forma, temos:

b) (xr - X5) Xo + rh - Xo - sh (r - s)h


a) (x - xr) x0 + uh - Xo - rh (u - r)h
= =

= =

Aplicando as propriedades a) e b) na expressão fk(x), dada por:


( x - x0 ) ( x - x1 ) ... ( x - xk_1 )( x -xk+i ) ... ( x - xn ) ���
f k ( X ) = ��
(xk -xo )(xk - x1 ) ... ( xk -xk-1 ) ( xk -xk+1 ) ... ( xk - xn )
temos na variável u a seguinte expressão para fk(u):

(u - O)h (u - l) h ... (u - (k - l)) h (u - (k + l))h ... ( u - n)h ���


f k (u ) = ��
(k - O)h (k - l)h ... (k - (k - l) h ( k - (k + l))h ... (k - n)h
(u - O) (u - 1) ... (u - (k - l))(u - (k + l)) ... (u - n)
= ������
(k - O) (k - 1) ... ( k - (k - l))(k - (k + l)) ... (k - n)
portanto,
Aproximação de Funções 137

Assim, podemos escrever o polinómio interpolador, fórmula de Lagrange,


para pontos eqüidistantes na variável u da seguinte forma:
P(u) = L Y k i \ (u)
n

k=O
Note que .é'k(u) não depende dos pontos de interpolação originais e,
portanto, são os mesmos para qualquer cálculo de polinómios interpola­
dores de grau � n.
Limitante superior para o erro para pontos eqüidistantes
Para pontos eqüidistantes, um limitante superior para o erro é dado, basea­
do no seguinte resultado:
Teorema 4.3
Seja f(x) uma função definida e (n + 1) vezes diferenciável num intervalo [a, b]. Se­
jam XcJ, xv ... , Xn, (n + 1) pontos distintos e eqüidistantes deste intervalo. Se P(x)
interpola f(x) nestes pontos, então o limitante superior para o erro é dado por:
hn+l
I E(x) I = l f(x) - P(x) I � M
onde, 4(n + 1)
M máx l f( n+t l (x) I x e [x0 , xn 1
=

Prova: Young, D. M.; Gregory, R. T.


Exemplo 4.3
Considere a função f(x) = cos(x), tabelada nos pontos como segue:

Xj 0.2 0.4 0.6


f(xi) 0.9801 0.9211 0.8253

Determine o polinómio interpolador usando a fórmula de Lagrange,


estime f(0.3) e um limitante superior para o erro.
Neste caso, consideramos um polinómio de grau � 2.
P(u) = y0 .é' 0 (u) + y1.é'1 (u) + y2 .é' 2 (u)
.e (u - l)(u - 2) u2 - 3u + 2
o (u) = =
(0 - 1)(0 - 2) 2
(u -O)( u - 2) u2 - 2u
.é'i (u) = =
(1 - 0)(1 - 2) -1
.e (u - O)(u - 1) u2 - u
2 (u) =
(2 - 0)(2 - 1) 2
138 Cálculo Numérico

P(u) = (0.9801> [u2 - �u + 2] + (0.921 1> [u2�12u] + (0.8253> [u2; u] =


= - 0.0184 u2 - 0.0406 u + 0.9801

Portanto, temos o polinômio interpolador:

P(u) = --0 .0184 u2 - 0.0406 u + 0.9801

Para avaliar f(0.3), temos de fazer a mudança de variável, isto é, deter­


minar o correspondente valor de u para x = 0.3:

( X - Xo ) _ (0.3 - 0.2)
U = = 0.5
h 0.2

Assim, f(0.3) = P(0.5) = 0.9552


Limitante superior para o erro:

hn + l
I E(x) I � 4(n + l) M = - M
h3
12
/

onde

M = máx l f< 3 > (x) I = sen(0.6) = 0.5646

Assim,

·2
I E(0.3) 1 � º12
3 (0.5646) = 0.0004

4.4 Interpolação linear


Apresentamos, a seguir, um caso particular de interpolação, denominada
·

interpolação linear.
Considere uma f(x) definida em dois pontos Xo e x11 conforme Figura 4.5.
Aproximação de Funções 139

f(x)

f(x)

Xo X

Figura 4.5

O polinómio interpolador, neste caso, de grau � 1 (uma reta), é dado por:


/

onde

Limitante superior para o erro

No caso da interpolação linear, podemos escrever um limitante superior para


o erro da seguinte forma:

I E(x) I � i 'l'��)I M

M = máx
onde
{I f(2 l (x) � x E [x0 , xi ] }
e 'lf ( X ) = (x - x0 ) (x - x1 )
Podemos notar que a função 'lf (x) é uma parábola passando pelos pon­
tos Xo e x1 e assume o máximo valor no ponto médio p (x0 + x1} /2. =

X (Xo X1 ) - (Xo X1 X0) (Xo X1 X1) -


Desta forma, temos o valor da função 'lf(x) no ponto x:
+ + + h2
'lf ( ) _- 'lf - -
2 2 2 4
140 Cálculo Numérico

Assim, temos um limitante superior para o erro:

1 E(x) 1 � J
- h2 z
J M= h M
onde 8 8
M = máx { J f( 2 > (x) J x e [x0 , xd }

Exemplo 4.4
1
Considere uma função f(x) = -- tabelada nos pontos conforme segue:
(l + x)
1 2
1 /2 1 /3

Determine o polinómio interpolador usando a fórmula de Lagrange;


avalie f(l .5) e um limitante superior para o erro.
Temos:
P(x) = Yot'o (x)+ y 1t'1 (x)
.e (x - 2) .e (x - 1)
o (x) = 1 (x) =
(1 - 2) (2 - 1)
(x - 2) (x - l)
P(x) = l / 2 +1/3 = (-l / 6) x + 2 / 3
(-1) 1
f(l.5) ::: P(l.5) = 0.4167
Limitante superior para o erro:
h2
onde
I l SM
E(x) �

M = máx {J f( 2 > (x) J x e [x0 , xd }


Como a função f<2l (x) é decrescente em módulo, esta assume o valor
máximo em x = 1.

l I
Logo,
2
M = máx J f( 2 > (x) J = máx = 1/4
(l + x)3
Assim:
h2
I E(x) I � M = _!:_ (l / 4) = 0.0313
8 8
Aproximação de Funções 141

Relação entre o erro cometido e a distância dos pontos


Exemplo 4.5
Qual deve ser a amplitude do intervalo a ser considerado no tabelamento da
1
função f(x) = -- no intervalo [0,2], de modo que a interpolação linear
(l + x)
apresente um erro menor ou igual 0.0001?
Sabemos que,
h2
onde
I E (x) l � S M
M = máx 1 f< 2 l (x) 1 x e [x0 , xi ]

h2
Assim, basta impor que M � 0.0001
8
2
Como a função f< 2 l (x) = é decrescente em módulo no intervalo
(1 + x)3

l 1
[0,2], o máximo valor que esta função assume no ponto x = O é dado por:
2
M = máx =2
(1 + x)3
Então temos:
h2
- (2) � 0.0001 � h � 0.02
8
Portanto, a amplitude do intervalo a ser tomado é de h � 0.02.

4.5 Fórmula interpolatória de Newton


Apresentamos, a seguir, a fórmula interpolatória de Newton, a qual é cons­
truída a partir do conhecimento das diferenças divididas como segue:

Diferenças divididas
Seja f(x) uma função contínua, (n + 1) vezes diferenciável e definida em
:xo, x1, ... , Xn (n + 1) pontos distintos de um intervalo [ a, b] .

Definição 4.2
Diferença dividida de ordem zero
Definimos diferença dividida de ordem zero de uma função f(x) definida nos
pontos xi i = O, 1, ... , n por:
f [xd = f(xi) i=O,l, ... , n
142 Cálculo Numérico

As diferenças divididas de ordens superiores são definidas recursiva­


mente, como segue:

Definição 4.3
Diferença dividida de ordem n
Definimos diferença dividida de ordem n de uma função f(x) definida nos
pontos xi i = O, l, , n por:
...

Podemos tabelar de forma conveniente as diferenças divididas, notando que


as diferenças de ordem 1 são calculadas a partir das diferenças de ordem
zero, as diferenças de ordem 2, a partir das diferenças de ordem 1 e, assim
sucessivamente, como segue:

f[x0]
X Ordem O Ordem 1 Ordem 2 Ordem 3

Xo
f[x0, x1]
f[x1] f[xo, xv x2]
f[xv Xz ] f[ XQ, X11 X21 X3)
X1

f[x2] f[x11 Xz, x3]


f[ X21 X3 )
Xz

f[x3]
--

X3

Exemplo 4.6
Construir a tabela de diferenças divididas da função f(x) = 1 / x definida
sobre os pontos x0 1, x1 = 2, x2 = 4, x3 = 5.
=

Construção das diferenças divididas:


Diferenças divididas de ordem zero:

f[x0 ] = f(x0 ) = 1
f[xi ] = f(x1 ) = 1 / 2
f[x2 ] = f(x2 ) = 1 / 4
f[x3 ] = f(x3 ) = 1 / 5
Aproximação de Funções 143

Diferenças divididas de ordem 1:


f[x i ] - f[x0 ] _ (1 / 2 -1) _ _
f[xo , xi ] = 112
(x 1 - x0 ) (2 - 1)
(1 / 4 - 1 /2) _ l i 8
f[x2 ] - f[xi ] _
f[xi , x2 ] =
(4 - 2) -
(X2 - X1 )
f[x ] - f[x2 ] (1 / 2-1) _
f[x2 , x3 ] = 3 1 1 20
(X3 - X 2 ) (2- 1)
Diferenças divididas de ordem 2:
f[x 1 , x 2 ] - f[x0 , xi ] 1/8
f[ , =
Xo X 1 1 X 2 ] -----­
=1/8
( Xz - x o ) (3)

f[ X1 , X 2 , X3 ] =
f[x2 , x3 ] - f[x1 1 x2 ]
------
(-l / 20:t>l / 8) 12/ 160
( X3 - x i ) 3

Os cálculos podem ser convenientemente arranjados no tabelamento das


diferenças divididas, conforme segue:

X Ordem O Ordem 1 Ordem 2 Ordem 3

1 1
-1 /2
2 1 /2 1 /8
-1 /8 -2/160
4 1 /4 12/160
-1 /20
5 1 /5

Teorema 4.4
Seja f(x) uma função contínua, (n + 1) vezes diferenciável no intervalo [a, b] .
Sejam XQ, x 11 , Xn (n + 1) pontos distintos de [a, b] . Então temos:
•••

Prova: Isaacson, E.; Keller, H. B.


Uma conseqüência imediata desse teorema é dada a seguir por:
144 Cálculo Numérico

Corolário 4.1
f [x0, x1 1 , xn J = f [xi0, Xjv ... , Xj n J , onde f o, j 11 , jn é qualquer permutação de
••• •••

O, l, ... , n.
Desta forma, podemos escrever as diferenças divididas em qualquer
ordem, como segue:
f[x0 , xi J = f[x1 1 xo ]
f[x0 , x1 , x2 ] = f[x1 , x0 , x2 ] = f[x1 1 x 2 1 x0 ] = ...
Segue destes resultados o seguinte corolário:

f [Xo , X1 1 , Xj-l i Xj+1 ' ···i Xn ) -f [Xo , X1 1 , Xk-l i Xk+1 ' ···i Xn ) .
Corolário 4.2
••• •••

f [x0 , x1 , ... , xn J = , )';t k


(xk - xi )
Baseando-se nos resultados obtidos das diferenças divididas, podemos
agora determmar uma nova fórmula interpolatória, denominada fórmula de
Newton.
Considere uma função f(x) contínua definida em XQ, x1 1 , Xn (n ••• + 1)
pontos distintos de um intervalo [a, b] .
Determinamos as diferenças divididas de f(x) nos pontos:
Considerando os pontos x0 e x, temos:
f[X] - f [Xo ]
f [xº ' x] = ' X :;é Xo
(X - Xo )
Portanto,
f(x) = f(x0 ) + (x -x0 ) f{x0 , x]
Da mesma forma, considerando os pontos XQ, x1 e x, temos:
.
f[x0 , x] - f[x0 , xi ]
f[Xo , X1 1 X ] = , X :;é X1
(x - x1 )
Substituindo f[x0, x] na expressão anterior, temos:

Assim, sucessivamente, temos:


f[xo , X1 , ... , Xn-1 1 x] - f[xo , X1 1 ···1 Xn ]
f[Xo , X1 1 ···i Xn , X ] -
- , X :;é Xn
(x -xn )
f(x) = f[x0 ] + (x - x0 )f[x0 , xi ] + (x - x0 )(x - x1 )f[x0 , x1 , x2 ] + ... +
+ (x -x0 )(x - xi ) ... ( x -xn_1 )f [xo , X1 1 ... , xn )+
+ (x -x0 )(x - xi ) ... (x -xn )f[x0 , x1 1 ... , xn , x J
Aproximação de Funções 145

Desta forma, podemos escrever:


f(x) = P(x) + R(x)
onde
P(x) = f[x0 ] + (x -x0 ) f[x0 , xi ] + (x - x0 )(x - xi ) f[x0 , x1 1 x2 ] +
+ . . . + (x - x0 )(x - xi ) . . . (x - xn_1 ) f[xo , X1 1 ··· 1 Xn ]
R(x) = (x - x0 )(x - x1 ) ... (x - xn ) f[x0 , x1 1 ...xn , x]

Teorema 4.5
Seja f(x) uma função contínua e definida em XQ, x1 1 , Xn (n + 1) pontos distin­
•••

tos de um intervalo [a, b]. O polinômio de grau � n baseado nas diferenças


divididas, dado por:
Pn (x) = f[x0 ] + (x - x0 ) f[x0 xi ] + (x -x0 )(x - x1 ) f[x0 , x1 , x2 ] +

+ . . . + (x - x0 )(x - x1 ) . . . (x - xn_1 ) f[xo , X1 1 ··· 1 Xn ]
interpola f(x) nos pontos x0, x1 1 , Xn. •••

Prova:
Inicialmente notamos que Pn(x) é um polinômio de grau � n, uma vez que o termo
de maior grau é obtido pelo produto de monômios: (x - x0 )(x - x1 ) ... (x - xn ).
Mostramos, agora, por indução finita sobre n, que Pn(xJ f(xJ i = O, l, ..., n.
=

Para n = 1, temos dois pontos Xo e x1:


P1 (x) = f(x0 )+ (x - x0 ) f[x0 , x1 ]
Substituindo x = Xo e x = x1, então:

o que mostra que P1(x) interpola f(x) em Xo e x1.


Suponha válido para (n-1 ), isto é, Pn-l (xJ = f(xJ i = O, l, . . , n - 1, mos­ .

tremos que também vale para n.


Segue da definição de pn(x) que:
Pn (x) = Pn_1 (x) + (x - x0 )(x - x1 ) ... (x - xJ ... ( X - Xn_1 ) f[xo , X1 1 ··· 1 Xn ]
Assim, para i = O, 1, ... , n - 1 temos:
Pn (xi ) = Pn-1 (xJ+ (xi - xo )(xi - x1 ) ... (xi -xi ) ... (xi - Xn-1 ) f[xo , X1 1 ··· 1 Xn ] =
= Pn-l (xi ) = f(xi )
A última igualdade segue da hipótese de indução.
146 Cálculo Numérico

Resta provar que,


Pn (xn ) = f(xo ) + (xn - xo ) f[xa , xd + (xn - x0 )(xn - x1 ) f[x0 , x1 , x2 ] +
+ ··· + (xn - xo )(xn -X 1 ) (xn - Xn-1 ) f[xo , X1 , ... , xn ]
···

Para x = Xw temos que R(xn ) = (Xn -xo )(xn - xi ) ... (xn -xn )f[xo , x1 , ... , Xn , Xn ] = O
Desta forma, podemos escrever:
f(xn ) = f( xo ) + (xn - x0 ) f[xa , xd + ( xn - xo )(xn - x1 ) f[x0 , xv x2 ] +
+ ... + (xn - x0 )(xn - xi ) ... (xn - Xn_i ) f[x0 , x1 , ... , xn 1
Assim, temos:
Pn(Xn) = f(xn)
Portanto, para todo i = O, 1, ... , n temos que P(xi) = f(xi), o que prova que
P(x) dado é um polinômio interpolador da função f(x).
Teorema 4.6
Seja f(x) uma função contínua e suficientemente diferenciável no intervalo
[a, b] e definida em XQ, x1 1 , Xn (n + 1) pontos deste intervalo. Então, para
•••

x e [a, b] e x :;t: xi i = O, l, ... , n, temos que:

Prova:
f( n+l l (Ç)
Do Teorema 4.2, f(x) - P(x) = (x - x0 )(x - xi ) ... (x - xn ) .
- (n + l) !
Porém,
f(x) - P(x) = R(x) = (x -x0 )(x - xi ) ... (x - xn ) f[x0 , Xv ... , Xn , x]
Portanto, para x :;t: xi , temos:
f( n+l l (Ç)
f[x0 , x1 , ... , xn , X] = Ç e [a, b ]
(n + l) !
Assim, dados (n + 1) pontos distintos :xo, x11 , xn em um intervalo [a,b] e
•••

(n + 1) valores de f(x) nos pontos xi i = O, l, ... , n, o polinômio interpolador,


fórmula de Newton, é construído seguindo os passos:
a) Para i = O, l, ... , n, faça f [xd = f(xJ (diferenças de ordem zero)
b) Para r = l, 2, ... , n, faça:
Para i = O, l, ... , n-r, faça:
_ f[xi +1 ' ··· 1 Xi +r ] - f[xu ... , Xi+ ( r-1) ]
----------'-�
f[Xu Xi+l 1 .. · 1 Xi+r ] - - (diferenças de
(xi +r - xi ) ordem r)
Aproximação de Funções 147

c) O polinómio interpolador é dado por:

P(x) = f(x0 )+ i{fi


1=1 J=Ü
(x - xi )f[x0 , x1 1 ... ,xi+t l }
Exemplo 4.7
Considere a função f(x) = ex+ sen(x) tabelada como segue:

o 0.5 1.0
1 2.12 3.55

Determine o polinómio interpolador usando a fórmula de Newton;


avalie f(0.7) e um limitante superior para o erro.
Neste caso, temos um polinómio interpolador de grau � 2 dado por:
P(x) = f[x0 ] + (x -x0 ) f[x0 ,xJ+(x -x0 )(x -xi ) f[x0 ,x1 , x2 ]
Tabela das diferenças divididas:

Ordem O Ordem 1 Ordem 2


o
X
1
2.24
0.5 2.12 0.62
2.86
1.0 3.55

Assim, temos:
P(x) = 1 + (x-0)(2.24)+ (x-O)(x-0.5)(0.62) = 0.62 x2 + l.93x + 1
e, portanto,
f(0.7) :: P(0.7) = 2 . 6548

Para avaliar um limitante superior para o erro, usamos:


148 Cálculo Numérico

Assim, para n = 2, temos:

Como a função f<3>(x) = ex - cos(x), é uma função crescente em módulo


no intervalo [O, l], segue que:
máx l f( 3 l (x) I = 2.1780, em x = 1
Assim, temos um limitante para o erro no ponto interpolado x = 0.7
dado por:

I E(0.7)1 � 1 (0.7 -0)(0.7 � 0.5)(0.7 - 1) 1 (2.1780) = 0.0152


4.6 Interpolação inversa
Denominamos interpolação inversa quando, conhecidos os valores de uma
calcular o valor numérico da variável x correspondente a um valor y = f(x)
função f(x) definida em (n + 1) pontos distintos xi i = O, ... , n necessitamos
conhecido inicialmente.
a qual denotamos por f-1 (x), então para os pontos tabelados Yi = f(xi) i = O, n
Supondo que a função inversa de f(x) exista no intervalo de interpolação,
temos xi = f-1 (yi), e o valor desejado x tal x que y = f (x) é obtido por x = f-1 (y).
... ,·

Assim, simplesmente trocamos na tabela de dados os valores de x e f(x)


e fazemos a interpolação de f-1 (x) como visto anteriormente neste capítulo.
Lembramos, ainda, que a função inversa x= f-1 (y) existe e é única
se f(x) é contínua e monótona crescente ou decrescente no intervalo
de interpolação. Caso f(x) seja dada por uma tabela e, supondo que
esta seja contínua no intervalo, esta condição de monótona crescente é
observada quando f(Xo ) > f(x1 ) > . . . > f(xn ) ou monótona decrescente quando
f(x0 ) < f(x1 ) < . . . < f(xn ).
Exemplo 4.8
Considere uma função f(x) tabelada como segue:

o 1 2
1.31 3.51 3.78
Usando interpolação inversa, determine x tal que f(x) 3.63. =

Usamos o polinómio interpolador, fórmula de Newton de grau 2, que


interpola a função h(y) = f-1 (y) nos pontos y0 = 1.31; y1 = 3.51 e y2 = 3.78.
Aproximação de Funções 149

Assim, temos a tabela da função inversa dada por:

1
y, 1.31 3.51 3.78
o 1 2

A tabela das diferenças divididas é dada por:

y Ordem O Ordem 1 Ordem 2


1.31 o
0.4545
3.51 1 1.3155
3.7037
3.78 2

��ta forma, o polinômio interpolador é dado por:


P( y) = h[yo ] +(y - yo ) h[yo , Y1 ] +(y - yo )(y - y1 ) h[yo , Y1 1 Y2 ] =
= (O)+(y -1.31)(0.4545)+(y -1.31)(y -3.51)(1.3155)
Assim, P(3.63) = 1.4207, que consiste numa aproximação para x tal que
f(x) = 3.63.
A seguir, apresentamos uma outra fórmula interpolatória, chamada
fórmula de Newton-Gregory, a qual é construída baseada nas diferenças
finitas para pontos eqüidistantes.
Diferenças finitas

Seja uma função f(x) contínua no intervalo [a, b ]. Sejam XQ, x11 , Xn (n + l) •••

pontos distintos deste intervalo [a, b] tais que xi+t -xi = h i = O, 1, ... , n- 1, isto é,
os pontos são eqüidistantes.
Definição 4.4
Diferença finita de ordem zero
A diferença finita de ordem zero de uma função f(x) definida nos pontos
x E [a, b] é dada por:

õºf(x) = f(x)
Definição 4.5
Diferença finita de ordem r
A diferença div�da de ordem r de uma função f(x) definida nos pontos
x E [ a , b] é dada por:

l:!t.C f(x) = �r-l f(x + h) - � r-l f(x)

Nesta definição, para r = 1 temos o operador diferença finita progres­


sivo � dado por:
Af(x) = f(x + h)-f(x)
Ou seja, quando aplicamos o operador � a uma função f(x), temos a varia­
A
ção do valor da função nos pontos (x) e (x + h), e f(x) é uma aproximação
h
para a derivada de f(x).
Assim, desenvolvendo-se os operadores, aplicados à funçáo f(x), pode­
mos escrever:
�º f(x) = f(x)
�1 f(x) = f(x+ h)-f(x)
�2 f(x) = f(x + 2h)- 2f(x + h)+ f(x)
�3 f(x) = f(x + 3h) -3f(x+ 2h)+ 3f(x + h)- f(x)

�n f(x) = (�}(x +nh)- (�}(x + (n-l)h + +(-lt (:}(x)


De um modo geral, temos:
�r f(x) = � (-l)i G) f(x + (r -i)h)
Considerando x = xi e lembrando que,
Xj+l = xi + h, xi + 2 = xi + 2h .. Xj+r-l = xi + (r - l)h, temos:
.

r
()
. r
�r f(xi ) = _L (-1)1 1 f(xj +r-d
i=O
.

Ou, denotando-se fk = f(xk) para todo k,

r
()
. r
�r � = _L (-1)1 � +r-i
i=O
·
1
Aproximação de Funções 151

Exemplo 4.9
Considere uma função tabelada nos pontos como segue:

0.2 0.4 0.6


8 10 15

Diferenças finitas de ordem zero:


L\0 f(x0 ) = f(x0 ) = 8
L\0 f(x1 ) = f(x1 ) = 10
L\0 f(x2 ) = f(x2 ) = 15
Diferenças finitas de ordem 1:
L\1 f(x0 ) = L\0 f(x1 )- L\0 f(x0 ) = (10 - 8) = 2
L\1 f(x1 ) = L\0 f(x2 ) - .:'.\0 f(x1 ) = (15 - 10) = 5
Diferenças finitas de ordem 2:

Podemos organizar o cálculo das diferenças finitas, conforme a tabela


a seguir:
Tabela das diferenças finitas:

L\º f L\l f L\2 f L\3 f


Xo L\ºf(Xo)
L\l f(xo)
X1 L\ºf(x1 ) L\2f(:xo)
L\1 f(x 1 ) L\3f(Xo)
X2 L\ºf(x2) L\2f(x1 )
L\1 f(x2)
X3 L\ºf(x3)
152 Cálculo Numérico

Os valores das diferenças finitas estão dispostos na tabela da se­


guinte forma:
A1 f(x1 ) = A0 f(xi )-A0 f(x0 )
A2 f(x0 ) = A1 f(x1 ) - A1 f(x0 )
A3 f(x0 ) = A2 f(x1 ) -A2 f(x0 )
Exemplo 4.10
Considere uma função f(x) tabelada nos pontos como segue:

0.5 0.7 0.9 1.1


5.8 7.9 10.1 12.3

Tabela das diferenças finitas:

Aº f A1 f A2 f A3 f
0.5 5.8
2.10
0.7 7.9 0.10
2.20 --0.10
0.9 10.1 0.00
2.20
1.1 12.3

A seguir, podemos relacionar as diferenças divididas, dadas no polinômio


interpolador de Newton, com as diferenças finitas descritas anteriormente.

Seja f(x) uma função contínuà e (n + 1) vezes diferenciável no intervalo


Teorema 4.7

[a, b]. Sejam XQ, x1 , , Xn (n + 1) pontos distintos e eqüidistantes deste inter­


••.

valo, então temos:


Aproximação de Funções 153

Prova:
Por indução finita temos:
a) Para n = l, x1 = x0 + h, temos que:
A0f(x0 + h) - Aº f(x0 ) 1
f1 [x0 ' x1 ] = fo [xi ] - fo [x0 ] = = Alf(x01 )
(x1 - x0 ) l ! h1 !h
e, portanto, a relação do teorema é válida.
b) Suponha que é válida para n-1, isto é:
An-l f(xo )
�-1 [ Xo , Xv · · 1 Xn ] -
(n - l)! hn-l
e mostremos que é válida para n, isto é:
�-1 [X1 1 ··· 1 Xn ] - �-1 [ Xo , ··· 1 Xn-1 1
' [Xo , X1 , ... , Xn ]
'n
(xn - Xo )

��������-
An-1 f(x1 ) An-l f(xo )
(n - l) ! hn-l (n - l ) ! hn-l
=

[ ]
(nh)
l A n-1 f(x0 + h) - An-l f(x0 ) An f(xo )
= -- =
(n h) (n - l)! hn-l n ! hn
Portanto, podemos concluir que o resultado é válido para todo n.
A partir deste resultado, que relaciona as diferenças divididas com as
diferenças finitas, podemos enunciar uma nova fórmula interpolatória, cha­
mada de fórmula de Newton-Gregory.

4. 7 Fórmula interpolatória de Newton-Gregory


Considere uma função f(x) definida em um intervalo [a, b] e, XQ, xv ... , Xn (n + 1 )
pontos distintos e eqüidistantes deste intervalo.
Substituindo a relação entre as diferenças divididas e finitas dadas pelo
Teorema 4.7 na fórmula interpolatória de Newton, temos uma nova expres­
são para o polinômio interpolador, conhecida como fórmula interpolatória
de Newton-Gregory, dada por:

A1 f(x0 ) A2 f(Xo )
P(x) = A0 f(x0 ) + (x - x0 ) + (x - x0 )(x - x 1 ) + ... +
l ! h1 2 !h2
An f(xo )
+ (x - x0 )(x - xi ) ... (x - xn_1 ) -___n_
n! h
154 Cálculo Numérico

um intervalo [a, b] e (n + 1) valores de f(x) nos pontos xi i = O, l, ... , n, o polinómio


Assim, dados (n + 1) pontos distintos e eqüidistantes x0, xv ... , Xn em
interpolador, fórmula de Newton-Gregory, é construído seguindo os passos:
a) Para r = O, 1, ... , n faça
.ô'f(xi ) = � (-1) G) f(xj+r-d (diferenças finitas)
n i- 1{
b) Construir o polinómio interpolador
i o
P(x) = f(x0 )+ L IJ <x - xi ) ó1. f(x
, i
)}
i=l j=O .h
A expressão do erro do polinómio interpolador em termos das dife­
renças finitas é a mesma obtida nas fórmulas interpolatórias anteriores, pois
o polinómio interpolador é único. Podemos confirmar esta observação a par­
tir do seguinte teorema:
Teorema 4.8
Seja f(x) uma função contínua e (n + 1) vezes diferenciável no intervalo
[a, b ]. Sejam x0, xv ... , Xn (n + l) pontos distintos e eqüidistantes deste inter­
valo, então temos:

Prova: Isaacson, E.; Keller, H. B.


Assim, usando este resultado na expressão do erro, temos:
E(x) = (x -x0 )(x - xi ) ... (x -xn )f[xo , X1 , ... , Xn ] =
n+l f(x)
= (x -x0 )(x - x1 ) ... (x -xn ) -nó+-1--'- -
h (n + l)!
- 'l'(X) f(n+l l (Ç) Ç e [a, b ]
(n+l)!
Como anteriormente, a estimativa para o erro é dada pelo seguinte limi­
tante superior para o erro:

Exemplo 4.11
Considere a função f(x) = -1- tabelada nos pontos como segue:
(x +l)
Aproximação de Funções 155

o 1 2
1 1/2 2/3

Determine o polinômio interpolador pela fórmula de Newton-Gregory,


avalie f(l.3) e um limitante superior para o erro.
Usamos os três pontos tabelados para obter um polinômio interpolador
de grau � 2:
1 2
P(x)= .:lº f(:xo )+(x -x0 ) .:l f(x1° ) +(x -x0 ) (x -xi ) .:l f(x2° )
l!h 2!h
Tabela das diferenças finitas:

o 1
-1 /2
1 1/2 2/3
1/6
2 2/3

Assim, temos:
P(x) = l + (x -0) -1/2 + (x-O)(x -1) 2/3 = -1 x - -5 x+l
-- -
2

1 2 3 6
Portanto, temos:
P(x) = ..!. x2 - � x+ 1 e f(l.3) = P(l.3) = 0.5850
·

3 6
Limitante superior para o erro:

Como f3 (x) = 6 4 , temos:


(l+x)
máx l f3(x) I = 6, em x = O
156 Cálculo Numérico

Assim,
1 E(l .3) 1 � (1.3 - 0)(l. �� l)(l .3 - 2) (6) = 0.2730

Podemos, ainda, escrever o polinômio interpolador de Newton-Gregory,


considerando a seguinte mudança de variável:
U = (x- :xo ) ou X = Xo + uh
h
Como os pontos são eqüidistantes, Xr Xo + rh, segue que:
=

(x - xr) (u - r)h
=

Note que nesta nova variável u os pontos de interpolação XQ, Xv ..., Xn


correspondem aos pontos O, l, 2, ... , n.
Desta forma, podemos escrever o polinômio de Newton-Gregory na
variável u:
2
P(u) = ôº f(x0 )+(u -O) ô1f(x0 ) +(u-O)(u-1) ô f(x0 ) + ... +
1! 2!
n
+(u -O)(u-1) ... (u -(n -1)) ô n!f(x0 )

Podemos escrever o limitante superior para o erro por:


E(u) � (u-O)(u-1) ... (u -n) hn+l M
(n+l)!
onde M = máx i t<n + l l(x) I x e [a, b].
Exemplo 4.12
Considere a função f(x) tabelada nos pontos conforme segue:

0.1 0.2 0.3 0.4


1.01 1.05 1.12 1.23

Determine o polinômio interpolador de Newton-Gregory na variável u


e avalie f(0.35).
Aproximação de Funções 157

O ponto x = 0.35 corresponde, na variável u:


u = (x -x0 ) = (0.35 - 0. 1) = 250
h 0. 1
1 2 0)
P(u) = �º f(x0 ) + (u - O) � f(x! 0 ) + (u - O)(u - 1) � f(x
2! +
l
3 0)
+ (u - O)(u - l)(u - 2) � f(x 3!
Tabela das diferenças finitas:

�º f �l f
0.1 1.01
0.04
0.2 1 .05 0.03
0.07 0.0 1
0.3 1 .12 0.04
0. 11
0.4 1 .23

Assim, temos:
P(u) = l.Ol + u(0.04) + u(u -1) 0.03 + u(u - l) (u-2) O.Ol =
2 6
3
=0.00017u +0.0099u2 + 0.0284u + l.Ol
f(0.35) :: Pu (2.50) = 1. 1 694
4.8 Aproximação de funções - o método dos mínimos
quadrados
O estudo do tópico interpolação polinomial neste capítulo, Seção 4.2, fornece
uma maneira de aproximarmos uma função por um polinômio, com a carac­
terística que este coincida com o valor da função em alguns pontos, isto é,
P(xJ = f(xJ i = O, l, ... , n, e dizemos que P(x) interpola a função f(x) nos pon­
tos XQ, xv ... , Xn. Assim, P(x) é uma aproximação para a função f(x).
Apresentamos, nesta seção, uma forma alternativa para aproximar uma
função f(x) usando o método dos mínimos quadrados, o qual consiste em,
conhecidos os valores de f(x) em m pontos, determinar uma função g(x) que
158 Cálculo Numérico

melhor se aproxime de f(x). Esta melhor aproximação será definida a seguir,


e a função g(x) pode ser uma combinação de funções polinomiais, exponen­
ciais logarítmicas, trigonométricas etc.
4.8.1 Caso discreto
Inicialmente, consideramos o caso em que a função f(x) é definida em um
conjunto discreto, isto é, a função é conhecida em m pontos, geralmente
obtidos em experimentos, conforme a tabela:
X

f(x)
Graficamente, temos a disposição dos pontos obtidos no experimento
na Figura 4.6:

· /
j�
f(x) /
.
g (x)

:/. .
.
V

. V.-- /'

. . /
1
.
. ·/� · !
1
1
.

V. 1
. --:º /
.
V
. /

1 ...

X
>1 >2 "3 X
;n
- -

Figura 4.6

Observando a disposição dos pontos (xi, f(xi)) i = l, ..., m na Figura 4.6, ve­
mos que g(x) possui o comportamento de wna reta, isto é, um polinômio de grau 1:
g(x) = a1 g1 (x)+a2 g2 (x) = a1 x + a2
com g1(x) = x e g2(x) = 1. Assim, escolhemos uma farru1ia de funções as quais
dependem dos parâmetros a1 e a2.
Aproximação de Funções 159

O problema agora consiste em determinar os parâmetros a1 e a2 de modo


que a função g(x) se ajuste melhor aos dados da tabela. Para falar em "melhor
ajuste", temos de ter um critério para a escolha dos parâmetros a1 e a2, isto é,
ter uma medida para o erro cometido nesta aproximação.
Definição 4.6
Definimos e(xi) f(xi) - g(xi) como o erro ou desvio cometido numa aproxi­
=

mação de uma função f(x) por uma função g(x), nos pontos xi i 1, ... , m.
=

Desta forma, desejamos determinar uma função g(x) de modo que nos
pontos xi i 1, ..., m os desvios sejam "pequenos". Neste caso, é tentador desejar
=
m

que a soma dos erros seja mínima, isto é, que L e(xi ) seja mínima. Entretanto,
i=l
este fato não traduz que g(x) seja uma "boa" aproximação para a função f(x), como
podemos observar na Figura 4.7, em que a função g(x) que melhor se aproxima
2
de f(x) é a reta rv que passa pelos pontos dados e L e(xi ) = O.
i=l 2
No entanto, quando tomamos a reta r2, temos também que L e(xi ) = O
i=l
e esta reta não é uma "boa" aproximação para a função f(x), embora a soma
dos erros seja zero, o que não significa que os erros sejam nulos, pois soma­
mos grandezas numéricas com sinais opostos, podemos notar que e(x1) > O e
e(x2) < O para a reta r2 .

f(x)

Figura 4.7
160 Cálculo Numérico

Um critério para obter e(xi) i = l, ..., m pequenos em todos os pontos da


tabela seria considerar a soma I l e(xJ I mínima, porém este critério acarreta
m

i=l
dificuldades de resolução, pois a função valor absoluto não é diferenciável
na origem.
Uma maneira para contornar esses problemas consiste em considerar
·

uma medida para o erro da seguinte forma:


minimizar I e(xJ2 =minimizar L (f(xJ-g(xJ)2
m m

i=l i=l
Assim, considerando o exemplo da Figura 4.6, desejamos encontrar uma
função g(x) = a1x+a2 que melhor se aproxime da função f(x), de forma que
E(al t a2 ) = L (e(xJ)2 seja mínimo. Do cálculo diferencial, se a função E(al t a2 )
m

possui um i=lponto de mínimo, então suas derivadas parciais devem ser


nulas, isto é,

Derivando E(al t a2 )com relação à variável "a{, temos:

=L 2(a1 xi + a2 -f(xJ)xi =
m

i=l

Assim, temos:

Derivando E(al t a2 ) com relação à variável a2 temos:

i=l
= L 2(a1 xi + a2 -f(xJ) =
Aproximação de Funções 161

Assim, temos:

Portanto, os parâmetros a1 e a2 que minimizam o erro E(ava2) necessa­


riamente satisfazem o seguinte sistema de equações lineares:

(t, x}1 + (i x}2 i x; f(x; )


(i +' + m a2 i f(x; ) �

O sistema de equações obtido é chamado sistema de equações nor­


mais, o qual pode ser resolvido por qualquer método visto anteriormente.
P�rticularmente, o método de Cholesky pode ser aplicado, pois o sistema
de equações normais possui a matriz A do sistema simétrica e definida po­
sitiva.
Prova-se que a solução do sistema de equações normais nos parâmetros
a1 e a2, de fato minimizam a soma dos quadrados dos erros.

x
Exemplo 4.13
Seja f( ) tabelada como segue:

o 1 2 3 4
0.98 -3.01 -6.99 -11.01 -15
162 Cálculo Numérico

f(x)
5

2 3 4 5 X

-
-3.01

-5

-6.99

-10

-15 ----------

g(x)

Figura 4.8

Observando o gráfico da Figura 4.8, vemos que os dados possuem o


comportamento linear. Usando o método dos mínimos quadrados, deter­
minamos dentre todas as retas g(x) a1x + a2 aquela que melhor se ajusta
=

aos dados.
5 5 5

I x i 2 I xi ª1 L f(xJxi
k=l k=l k=l
=
5 5

I xi 5 ª2 I f(xJ
k=l k=l
Aproximação de Funções 163

Xj f(xi) x?1 f(Xj)Xi


o 0.98 o 0 . 00
1 -3. 0 1 1 -3 . 0 1

2 -6.99 4 -13.98

3 -1 1 . 0 1 9 -33 .03

I
4 -15.00 16 -60 .00

10 -35 . 03 30 -11 0 . 02

[ ] [ªª1] [ ]
Assim, temos o seguinte sistema de equações lineares:

2
30 10 -110.02 =
10 5 -35.03

{ª1ª2
Usando o método de eliminação de Gauss, temos:
= -3 . 9960
= 0 . 9860

Portanto, g(x) -3.9960 x + 0.9860


=

Cálculo do erro:
e(x1 )2 (f(O)-g(O) )2
= = 0.0000
e(x2 )2 (f(l}-g(l})2
= = 0.0000
e(x3 )2 (f(2)-g(2))2
= = 0.0003
e(x4 )2 (f(3)-g(3))2
= = 0.0001
e(xs )2 (f(4)-g(4))2
= = 0.0000
5
Portanto, L e(xi )2 0.0004 e qualquer outra reta possui a soma dos
=

i =l
quadrados dos erros superior a este valor obtido.
Podemos ter dados experimentais onde seja necessário aproximar a
função f(x) por um polinómio de grau 2, isto é, uma parábola:
g(x) a1 g1 (x) + a2 g2 (x) + a3 g3 (x) a1 x2 + a2 x + a3
=

com g1 (x) x2, g2(x) x e g3 (x) = 1


=
·

= =

Generalizando este procedimento, escrevemos g(x) como uma combi­


nação linear de funções como segue:
g(x) = a1 gi (x) + a2 g2 (x) + ... + an gn (x)
com gi(x) sendo funções escolhidas.
164 Cálculo Numérico

Procedendo de maneira análoga ao caso do ajuste linear, a reta, pode-


m

mos determinar os parâmetros ai i = l, ... , n de forma que o erro L e(xJ2


i=l
seja mínimo.
Assim, temos:

m m

+ L gn (xJg1 (xJ)an = L f(x i )g 1 (xJ


i=l i=l

+( L gn (xJg2 (xJ )ln = L f(xJg2 (xJ


m m

i=l i=l

m m

+( L gn (xJgn (xJ)an = L f(xJgn (xJ


i=l i=l

Portanto, para determinar os parâmetros ai i = l, ..., n, devemos resolver


o seguinte sistema de equações lineares:
m m m m

(L g1 (x; )g1 (x; ))a1 +(L g2(xi )g1 (x; ))a2 + ... + L gn (x; )g1 (x; ))an L f (x; )g1 (x; )
=
i=l i=l i=l i=l
m m m m

(L g1 (x; )gz(x; ))a1 +(L gz( x; )gz (xi ) )az + ... + (L gn ( x i )g2(x; ))an L f (xi )g2( x i )
=
i=l i=l i=l i=l

m m m m

(L g1 (xi )gn (xi ))a1 +(L g2( xi )gn (x; ))a2 + ... + (L gn ( x ; )gn (xi ))an L f (x; )gn (x i )
=
i=l i=l i=l i=l

Osistema de equações lineares obtido é denominado sistema de equa­


ções normais, o qual pode ser resolvido por qualquer método visto anterior­
mente. Resolvido este sistema, determinamos os parâmetros ai i= l, ... , n e
conseqüentemente a função g(x) = a1g1(x) + . . . + angn(x) que melhor se ajusta à
função f(x) nos pontos x1 Xm no sentido dos mínimos quadrados.
•••
Aproximação de Funções 165

Exemplo 4.14
Considere uma função f(x) definida conforme tabela:

X -2 -1 o 1 2 3
f(x) 19.01 3.99 -1 .00 4.01 18.99 45.00

g(x)
f(x) 45

-2 1 2 3 X
-3 -1 o

Figura 4.9

Observando a Figura 4.9, vemos que a função possui o comportamento


Assim, tomamos g(x) = a1x + a2x + a3, isto é, g1(x) x2, g2(x) x, �(x) l,
de uma parábola, polinômio de2grau 2.
= = =

e determinamos os parâmetros a11 a2, e a3 de modo que g(x) se ajuste aos


dados da tabela no senso dos mínimos quadrados.
166 Cálculo Numérico

Temos o sistema de equações normais:


6 6
I xi4 Ixi3 Ixi2
6 6
ª1
ª2
L f(xi )xf
i=l i=l i=l i=l
6 6 6 6
Ixi3 Ix/ Ixi = L f(xJxi
i=l i=l i=l i=l
6 6 6
2
I xi I x i 6 a3 If<xJ
i=l i=l i=l
� X�1 x1 x'f
1 f(xi) xif(xJ xTf(xJ
-2 4 -8 16 19.01 -38.02 76.04
-1 1 -1 1 3.99 -3.99 3 .99
o o o o -1 .00 0.00 0.00
1 1 1 1 4.01 4.01 4.01
2 4 8 16 1 8.99 37.98 75.96

I
3 9 27 81 45.00 135.00 405.00
3 19 27 115.00 90.00 134.98 565.00

Temos o seguinte sistema de equações lineares:

[�� :; �1 [::] [�::��1 =

{ª1
1 9 3 6 a3 90.00
Usando o método de eliminação de Gauss, temos:
= 5.0893
ª2 = 0.05 1 5
a3 = -1.1 403
Portanto, g(x ) = 5.0893x2 + 0.05 1 5 -1.1 403.
Cálculo do erro:
e(xi )2 = (f(x1 ) - g(x1 ))2 = 0.0 1 08
e(x2 )2 = (f(x2 ) - g(x2 ))2 = 0.0086
e(x3 )2 = (f(x3 ) - g(x3 ))2 = 0.0 1 97
e(x4 )2 = (f(x4 ) - g(x4 ))2 = 0.000 1
e(xs )2 = (f(x5 ) - g(x5 ))2 = 0. 1 088
e(x6 )2 = (f(x6 ) - g(x6 ))2 = 0.0332
Aproximação de Funções 167

6
Portanto, L e(xi )2 = 0.1812 e qualquer outra parábola possui a soma
i= l
dos quadrados dos erros superior a este valor obtido.
Exemplo 4.15
Considere a função f(x) tabelada como segue:

Xj --0.5 o 0.5 1 .0 1 .5 2.0 2.5 3.0 3.5 4.0 4.5


f(xi) --0.25 0.5 0.25 0.00 0.75 1 .50 1 .25 1 .00 1.75 2.50 2.25

Usando o método dos mínimos quadrados, determine uma função g(x)


que melhor se ajuste aos dados da tabela.
Observando a Figura 4.10, vemos que os dados da função f(x) sugere
uma função, a qual é uma combinação de uma função linear com uma fun­
ção periódica do tipo: g(x) = a1 g1 (x)+ a2 g2 (x) = a1 x + a2 cos(ax), com g1 (x) = x
e g:i(x) = cos(ax).

f(x)

2 f(x)

- - - - - - - - - - - -1 - - -

1 - - - - - - - - - - - - � - - - r ­

,
1
1

X
-1 1 2 3 4 5

-1

Figura 4.1 0

Note que a função g(x) não é linear nos parâmetros, pois o parâmetro
a é um argumento da função cos(x). Entretanto, observando os pontos na Fi­
gura 4.10 vemos que há uma oscilação de período igual a 2 (pontos de máximo
168 Cálculo Numérico

ou mínimo ocorrem a cada 2 unidades). Portanto, tomamos a = 3.14 e temos


que a função g(x) = a1(x) + a2 cos(3.14x) é agora uma função linear nos parâ­
metros a1 e a2 . Desta forma, temos o seguinte sistema de equações normais:

( L g1 (xi )g1 (xi ) )a1 + ( L g1 (xi )g2 (xJ)a2 = L f(xJg1 (xJ


11 11 11 .
i=l i=l i=l
( L g2 (xJgi (xi ) )a1 + ( L g2 (xJg2 (xJ)a2 = L f(xJg2 (xJ
11 11 11
i=l i=l i=l
Assim, temos:

+ < I cos(3.14xJxJa2 = L f(xJxi


11 11
i=l i=l i=l
<I cos(3.14xJxJa1 + < I cos2 (3.14xJ)a2 = L f(xJcos(3.14xJ
11 11 11
i=l i=l i=l
Calculando os coeficientes do sistema de equações normais temos:
11
I xf = n .5000
i=l
11
I cos(3.14xJxi = 2.0192
i=l
11
L f(xJxi = 36.7500
i=l
11
I cos2 (3.14xJ = 5.0001
i=l
11
L f(xi )cos(3.14 xi ) =3.5096.
i=l

[ ][ ] [ ]
Assim, podemos escrever:
7 1.5000 2.0192 ª1 36.7500
=
2.0192 5.0001 ª2 3.5096
Usando o método de eliminação de Gauss, temos:
{ ª1 = 0.4999
ª2 = 0.5000
Aproximação de Funções 169

Portanto:
g(x) = 0.4999 x + 0.5000 cos(3.14 x)
e o erro dos mínimos quadrados é dado por:
11
L e(xJ2 = 0.0001.
i=l

4.8.2 Caso contínuo


O método dos mínimos quadrados pode ainda ser usado para aproximar
uma função f(x) contínua num intervalo [a, b], por uma combinação de fun­
ções do tipo g(x) = a1 g1 (x)+a2 g2 (x)+ ... + an gn (x), onde g1 (x),g2 (x), ... , gn (x)
são funções contínuas no intervalo [a, b].
Neste caso, desejamos determinar g(x) que melhor se aproxime da fun­
ção f(x), isto é, que a área entre as curvas de f(x) e g(x) seja a menor possível,
dando a idéia de proximidade de duas funções, o que é representado por:
b
E(a1 t a2 , ... , an ) = J (f(x)-a1 g1 (x)+ ... +gn (x))2 dx
ª

Assim, o problema do método dos mínimos é definido por:


Minimizar E(av a2, ... , an )
isto é, Minimizar r (f(x)-(a1 g1 (x)+a2 g2 (x)+ ... + an gn (x ))2 dx
Portanto, como anteriormente, o ponto de mínimo necessariamente
satisfaz:

ou seja,
Jb
aE m
-
a ai
= -2 (f(x)-
ª
L ªkgdx)gi (x))dx = O 1� i �m
Denotando o produto escalar de funções por ( f,g ) = r f(x)g(x)dx, temos
i=O

o seguinte sistema de equações normais: ª

( g1 , g i ) ( g1 , g z ) ( gi ,gm ) ª1
( g2 ' gi ) ( g2 ' g z ) ( gz ,gm ) ª2 =
170 Cálculo Numérico

Se o determinante da matriz do sistema de equações normais for dife­


rente de zero, então o sistema possui solução única, ou seja, existe uma
única função g(x) que melhor se ajusta à função f(x). Desta forma, a so­
lução (a1, a2, ... , an) obtida na resolução deste sistema fornece a melhor
g(x) = a1 g1 (x) + a2 g2 (x) + ... + an gn (x) que se aproxima da função f(x).
Observação
Se as funções escolhidas gi(x) forem linearmente independentes, então o de­
terminante da matriz A do sistema de equações normais é diferente de zero.
Exemplo 4.16
Usando o método dos mínimos quadrados, aproxime a função f(x)=e-x Ílo
intervalo ( 1, 3] por um polinómio de grau 1 da forma g(x)= a1 + a2 x.
Temos:

[(1, 1) (l,x)l [ª1 ] = [(l,e-x )l


O sistema de equações normais é dado por:

(l,x) (x,x) a2 (x,e-x )


Assim,
(1,1 ) = r l dx = l
( l,x) = r xdx = 4
(x,x ) = r x2dx = 26/ 3 = 8.6667
(1,e-x ) = r e-xdx = 0.3181
(x,e- x ) = r xe- xdx = 0.5366

[ l[ ] [ 1
Portanto, o sistema de equações normais é dado por:
1 4 ª1 0 .3181
-
4 8.6667 ª2 0.5366
Aproximação de Funções 171

Usando o método de eliminação de Gauss, obtemos:


a1 --0.0832 a2 0.1003 e a reta que melhor se ajusta à
= =

f(x) e- x no intervalo [l, 3] é dada por:


g(x) a1 + a2 x - 0.0832x + 0.1003
=

= =

Regressão não linear nos parâmetros - aj uste não-linear


Muitas vezes temos dados experimentais em que o ajuste como combinação
linear nos parâmetros não é adequado e não pode ser considerado. Neste
caso, necessitamos de outras famílias de funções para representar adequada­
mente uma função representada em uma tabela .
a) Ajuste hiperbólico
Considere os dados obtidos experimentalmente, conforme ilustrado na Fi­
gura 4.11:

1 !
.. •
i
f(x)

1!o
---+---+-�-;.-- -+--.--.,--+---··-·-- -
. .
. . . . . ,

i
1----
-t---+- ---+---t--+-- + . -+-

Figura 4.1 1

Observando a Figura 4.11, vemos que a representação dos dados possui


um comportamento do tipo:
172 Cálculo Numérico

Como anteriormente, desejamos determinar os parâmetros ao e a1 de


modo que E(a1 ,a2 ) = l: e(xJ2 seja mínimo, isto é,
m

i=l

Minimizar L (f(xJ -g(xJ)2


m

i=l

Como a função g(x) não é linear nos parâmetros a1 e a2, o sistema


obtido por:

é um sistema de equações não lineares, o qual pode ser resolvido usando


o método de Newton, descrito no Capítulo 3. Entretanto, o método dos
mínimos quadrados, desenvolvido anteriormente, pode ser usado fazen­
do-se uma transformação adequada de modo a obter uma combinação
linear nos parâmetros.
1X + 2
Se a função g(x) a 1 a aproxima a função f(x) dada inicialmente,
=

consideramos a função h(x) -1- a1 x + a2 que também aproxima-se à função


= =
g(x)
-1- e temos agora o caso do ajuste linear já desenvolvido anteriormente.
f(x)
Se g(x) aproxima-se à função f(x), -1- aproxima-se à função -1-.
g(x) f(x)
Esquematicamente:
g(x) f(x)

1 1
g(x) f(x)
Da tabela inicialmente dada, construímos uma nova tabela da se­
guinte forma:
Aproximação de Funções 173

O problema agora consiste em aproximarmos a função -1- por uma


reta h(x) = a1x + a2 e o sistema de equações normais é dado por:
f(x)

i=l

Os parâmetros obtidos na resolução do sistema de equações normais


resolvem o problema

Minimizar I (-1- - h( xd)2


i=t f(xi )
e fornecem uma solução aproximada para o problema inicial proposto.
Exemplo 4.17
Considere a função f(x) tabelada nos pontos como segue:

-3 -2 -1 --0.5 --0.4
--0.13 --0.20 --0.49 -2.01 -4.99

petermine uma função g(x) que melhor se ajuste aos dados da tabela e
6
calcule L e(xi )2 .
i=l
Temos a disposição dos pontos da função f(x) num gráfico, confor-
me Figura 4.12, a qual sugere um comportamento de uma função do tipo
g(x) = a1 1 a
--

x+ 2
174 Cálculo Numérico

f(x)

-3 -2 -1 -0.5 o
1 X
- -:- - --0. 49
1

- - -
2 01
.

- - -4 . 99

Figura 4.1 2

Desta forma, consideremos uma nova tabela da função -1-:


f(x)

xi -3 -2 -1 -0.5 -0.4
l/f(xi) -7.6923 -5.000 -2.0408 -0.4975 -0.2004
Aproximação de Funções 175

Éconveniente fazer o chamado "teste do alinhamento" da função -1-


f(x)
como segue na Figura 4.13:

f(x)

Figura 4.1 3

Observando a Figura 4.13, vemos que os pontos obtidos possuem um


f( x )
1
comportamento linear e, portanto, a aproximação linear para - - é adequada
e podemos escrever o sistema de equações normais como segue:

i=l
176 Cálculo Numérico

Xj xt 1/f(xt)
-3 9 -7. 6923 23.0769
-2 4 -5 10
-1 1 -2 . 0408 2 . 0408
-0 .5 0 . 25 -0.4975 0 . 2488
-0.4 0.16 -0. 2004 0 .0802
-6. 9 14.41 -15.43 1 0 35.4467

Substituindo estes valores obtidos, temos o seguinte sistema de equa­


ções lineares:
[ 14.41 - 6.9 ª1
-6.9 5 ª2
][ ] [
=
35.4467
-15.4310
]
{
Usando o método de eliminação de Gauss, obtemos:
ª2 = 0.9093
ª1 = 2.8952
Portanto, temos g(x) = 2.8952 1
X + 0.9093
------

Erro cometido:
e(xi )2 = (f(x1 )-g(x1 ))2 = 0.0000
e(x2 )2 = (f(x2 )-g(x2 ))2 = 0.0000
e(x3 )2 = (f(x3 )-g(x3 ))2 = 0.0002
e(x4 )2 = (f(x4 )-g(x4 ))2 = 0.0232
e(x5 )2 = (f(x5 )-g(x5))2 = 0.9423
Portanto, temos:
5
:L e(xJ2 = 0.9657
i=l

b) Ajuste exponencial
Podemos obter dados experimentais dispostos conforme ilustrado na Figura
4.14, a qual sugere que devemos aproximar a função observada por uma
função g(x) da forma g(x) = a(b)x com os parâmetros a e b positivos.
Aproximação de Funções 177

!
---� I
1 •
1
1
f(x)
i ' i


'
'
'
. '
: :•

1 A
1
1 .
.
··-· ·---··---
�-+--· ··-·

/
' y i
.
. ·
·

i . .Y.
v.�
. . 1
.


.
--
. .

___,�
.
. . ----
.
.

1 �

!
1 ! i
o X
l Xt Xz Xm
1
1
1 i

Figura 4.1 4

Desejamos determinar a e b de forma que E(a,b) = 'L e(xJ2 seja míni-


m

mo, isto é: i=l

Minimizar L (f(xJ-g(xJ)2
m

i=l

O método dos mínimos quadrados desenvolvido anteriormente pode


ser usado fazendo a seguinte transformação:
h(x) = ln(g(x)) = ln(a( bx )) = ln(a)+x ln(b) = ln(a)+xln(b)
Definindo-se:

temos que h(x) é uma combinação linear das funções g1 (x) = x e g2 (x) = 1,
isto é, h(x) = a1g1 (x)+a2 g2 (x).
Assim, se a função g(x) aproxima a função f(x), então a função h(x)
aproxima ln(f(x)).
178 Cálculo Numérico

Esquematicamente:
g(x) "" f(x)
ln(g(x)) "" ln(f(x))
Desta forma, construímos a seguinte tabela:

X1 X2 ... Xn
ln(f(x1)) ln(f(x2)) ... ln(f(xn))

Assim, temos o seguinte sistema de equações normais:

< l xJa2 L ln(f(xJ)xi


m m m

( L xi2 )a1 + =

i=l i=l i=l


m

ma2 L ln(f(xJ) =

i=l
Os parâmetros a1 e a2 obtidos na resolução do sistema linear de equa­
ções resolvem o problema:
m

Minimizar L ln(f(xJ)-h(xJ)2
i=l
e fornecem uma solução aproximada para o problema original dado.
Observação
Caso o leitor deseje resolver o problema proposto sem usar o fato da lineari­
zação, temos de resolver um sistema de equações não-lineares, descrito neste
livro no Capítulo 3.
Exemplo 4.18
Considere uma função tabelada nos pontos como segue:

Xj -1 -0.9 -0.8 o 1 2
f(xi) 6.01 5.39 4.80 2.01 0.65 0.21

Determine uma função g(x) que melhor se ajuste aos dados da tabela de
6
f(x) e calcule L e(xi )2 .
i=l
Aproximação de Funções 179

Para determinar a função que se ajusta aos dados da tabela, vamos


exibir os pontos dados num gráfico, conforme a Figura 4.15, e vemos que
g(x) possui um comportamento exponencial da forma g(x) a(bx) com =

O < b < l.

7
f(x)

o 2 X
-1 1

Figura 4.1 5

Desta forma, construímos a seguinte tabela para a função linearizada


ln(f(x)):

Xj -1 -0.9 -0.8 o 1 2
ln(f(xi)) 1.79 1.68 1.57 0.70 -0.43 -1.56

Como estamos realizando um ajuste linear, é conveniente fazer p chamado


"teste do alinhamento" e verificar que de fato os pontos (xi, ln(f(xi)) i l, ..., m
=

possuem um comportamento linear, como segue na Figura 4.16.


180 Cálculo Numérico

f(x)
2
- - - - - - -

f i'9
.

- - - -i-_57

o X
-1 -0.8
-0.43

-1

- - - - - - - - - - - - - - - - - - - - - -
-1 . 56

-2

Figura 4.1 6

Portanto, podemos escrever o sistema de equações normais como segue:


+
6 6 6
( L x i 2 ) a1 (L xJa2 L ln(f(xJ)xi
=

i=l i=l i=l


+
6
6a2 L ln(f(xJ)
=

i=l

xi X�l ln(f(xi)) xi ln(f(xi))


-1 1 1 . 79 -1 .790
-0 .9 0.81 1 .68 -1 .512

-0.8 0.64 1 .57 -1 .256

o o 0 . 70 0 .000
1 1 -0.43 -0.430

I
2 4 -1 .56 -3 . 120
0.3 7.45 3 . 75 -8 . 1 08
Aproximação de Funções 181

Substituindo estes valores obtidos no sistema linear, temos o seguinte

[ ][ ] [ ]
sistema de equações normais:
7.45 0.3 ª1 -8.108
=
0.3 6 ª2 3.75
Usando o método de eliminação de Gauss, obtemos:
a2 = 0.6808 � a = eª2 = 1.9755
a1 = -1.1157 � b = eª1 = 0.3277
Portanto, a função que melhor se ajusta aos dados tabelados, no sentido
dos mínimos quadrados, é dada por:
g(x) = (1.9755)(0.3377)X
Erro total cometido:
e(xi )2 = (f(x1 )-g(x1 ))2 = 0.0256
e(x2 )2 = (f(x2 )-g(x2 ))2 = 0.0201
e(x3 )2 = (f(x3 )-g(x3 ))2 = 0.0084
e(x4 )2 = (f(x4 )-g(x4 ))2 = 0.0012
e(x5 )2 = (f(x5)-g(x5 ))2 = 0.0003
e(x6 )2 = (f(x6 )-g(x6 ))2 = 0.0002
6
Portanto, temos: L e(xi )2 = 0.0558
i=l
Observação
Podemos, ainda, fazer outros ajustes, por exemplo, usando a função geométrica
g(x) = a1xª2, e fazer a linearização dos parâmetros a1 e a2 como anteriormente.
Considerações finais sobre aproximação de funções
De uma maneira geral, além das considerações apresentadas sobre como
aproximar uma função conhecida em determinados pontos por uma outra
função, é necessário observar quando podemos utilizar a interpolação poli­
nomial ou o método dos mínimos quadrados.
a) Quando temos um experimento com muitos dados coletados, que
descrevem um fenômeno observado, a aproximação usando o
método dos mínimos quadrados deve ser considerada, uma vez
182 Cálculo Numérico

que temos dados resultantes de medidas, que geralmente são acome­


tidos de erros, sugerindo a necessidade de representá-los por uma
função que nos permita obter aproximações "seguras" em valores
geralmente fora do intervalo de medida.
b) O uso dos polinômios interpoladores para aproximar funções dentro
de intervalos conhecidos seria oportuno quando desejamos fazer uma
análise mais local da função no intervalo considerado, isto é, determi­
nar valores desconhecidos da função em intervalos predefinidos.
Quanto ao grau do polinômio ser considerado no intervalo de observa­
ção, não deve ser "alto", pois pode acontecer que, à medida que o grau
aumenta, para determinadas funções, os polinômios interpoladores
começam a distanciar-se nos demais pontos não interpolados, situação
conhecida na literatura como fenômeno de Runge (lsaacson e Keller).
Além disso, o aumento no grau do polinômio na busca de uma
"melhor" precisão na interpolação também faz com que o número
de operações se eleve, aumentando assim a possibilidade de erros
no processamento dos algoritmos.
observamos ser a de Lagrange aquela que requer um maior esforço
c) Nas fórmulas interpolatórias de Lagrange, Newton e Newton-Gregory,
computacional, considerado a partir de operações elementares, quan­
do comparada com as fórmulas de Newton e Newton-Gregory. Quandc;>
os pontos são eqüidistantes, é aconselhável o uso da fórmula de Newton­
Gregory, pela sua simplicidade e pelo menor esforço computacional.
4.9 Trabalhando com o Software Numérico
No Software Numérico, o usuário deve selecionar o módulo aproximação
de funções e selecionar a opção interpolação de funções seguida de tabela de
pontos ou expressão da função ou, ainda, a opção de aproximação de funções
usando o método dos mínimos quadrados.
Caso a opção seja interpolação, o usuário deve fornecer a tabela de pontos
da função, escolher corretamente o grau do polinômio e o ponto a ser inter­
polado. Além disso, se a expressão da função for declarada, temos a função
tabelada nos pontos declarados, e o usuário pode determinar, além do poli­
nômio interpolador da função, um limitante superior para o erro.
Pode-se, ainda, plotar os pontos tabelados de f(x) para uma boa escolha
do ajuste de funções no método dos mínimos quadrados.
Exemplo 4.19
Considere as seguintes observações do lançamento de um projétil:
a) O ponto de lançamento foi considerado como a origem do sistema
cartesiano.
Aproximação de Funções 183

b) Fotografando o projétil a 8 metros do ponto de lançamento na hori­


zontal, foi determinada uma altitude de 7.86 metros.
c) A 16 metros do lançamento, uma barreira o interceptou e foi deter­
minada uma altitude final de 5.67 metros.
A Figura 4.17 ilustra a trajetória do projétil:

f(x)

7 .89


- - - - - - - - - - - - - - - - - - - - - - - -:..:-�-.--.---



5.67 �
---------------------------------------------�
1

4



·�

4 16 X

Figura 4.1 7

Observando os dados, vemos que estes possuem o comportamento de uma


parábola, podemos obter aproximadamente valores para a altitude do pro­
jétil em diversos momentos usando interpolação e comparar posteriormente
com a equação teórica da trajetória dada por:
x2
2 Vo COSz (a.)
1
y xtg(a.)--g =
z

onde,
a � ângulo com a horizontal

v0 � velocidade inicial
Usando o Software Numérico, vamos determinar o polinômio interpo­
lador e avaliar a altitude do projétil a 12.5 metros do lançamento.
o usuário deve selecionar a opção aproximação de funções, seguida­
mente de interpolação, entrar com os pontos e os correspondentes valores
de f(x) do problema e pode selecionar polinômio interpolador, fórmula de
Newton e avaliar o valor da altitude do projétil a 12.5 metros do lançamento,
conforme resultados da Figura 4.18 a) e b).
184 Cálculo Numérico

OJQI) IU.WAI
8.lml 7.SfOI
16.cm> 5.6llll

a) b)

Figura 4.1 8

Temos, assim, o polinômio interpolador de grau 2:


P (x) -0.0785x2 + l.6106x
=

e a avaliação da altitude do projétil a 12.5 metros do lançamento é dada por:


P( 12.5) 7.8647. =

Exemplo 4.20
Em um experimento de laboratório, observa-se o crescimento de uma po­
pulação de um tipo de larva, em um tanque, de dois em dois dias, durante
um período de tempo de 12 dias (número de larvas por cm3), conforme a
seguinte tabela:

Dias o 2 4 6 8 10 12
Larva (cm3) 17 25 34 43 56 65 78

Usando o Software Numérico, podemos observar a disposição dos pon­


tos e escolher uma função g(x) que melhor se ajuste aos dados da tabela e, a
partir do conhecimento de g(x), podemos avaliar aproximadamente o cresci­
mento da população de larvas num período de tempo posterior desejado.
No Software Numérico, selecione as opções aproximação de funções,
método dos mínimos quadrados. Digite os valores da tabela e analise a dis­
posição dos pontos para a escolha de g(x), conforme Figura 4.19 a) e b).
Observando a Figura 4.19 b), escolhemos um polinômio de grau 2 para
representar os dados.
Aproximação de Funções 185

a) b)

e)

Figura 4.1 9

Portanto, temos que g(x) 0.0982x2 + 3.9107x + 16.8571.


=

Podemos avaliar o crescimento da população de larvas, por exemplo,


16 dias depois do início do experimento, isto é, g(16) 104.5675 larvas por cm3,
=

considerando naturalmente que as condições para o crescimento dessa popu­


lação nos períodos anteriores foram preservadas. O erro total cometido nesta
aproximação é dado na Figura 4.19 c).
Exercícios
1. Considere as funções a seguir, definidas nos pontos x0 = 0.5,x1 = l.0,x2 = 1.5.
a) f(x) = sen(x)
b) f(x) = .j(2+x)
c) f(x ) = ln(4 +x)

de Newton-Gregory, e avalie f(l.34) e um limitante superior para o erro.


Usando o Software Numérico, determine o polinômio interpolador, fórmula
186 Cálculo Numérico

2. Considere a função f(x) e-x definida no intervalo [O, 3]. Usando o polinô­
=

mio interpolador, fórmula de Lagrange de graus l, 2 e 3, calcule o valor


aproximado f(l.45) e um limitante superior para o erro em cada caso.
3. Obtenha o polinômio interpolador, fórmula de Newton, para as funções
cometido para o ponto a ser interpolado x = 0.23 em a) e x = 1.23 em b).
abaixo, nos pontos dados, com o auxílio do Software Numérico, avalie o erro
a) f(x) = cos(x) + 2x, Xo = 0. 1 x1 = 0 .3 x2 = 0.5
b) f(x) = e3 x sen(x), Xo = 1 .2 x1 = 1 . 7 x2 = 2.0
4. Seja f(x) 2ex + 3 definida no intervalo [O, 2].
=

a) Aproxime f(0.35) utilizando interpolação linear com x0 O e x1 0.5.


= =

b) Aproxime f(0.85) utilizando interpolação linear com Xo 0.5 x1 = 1.0.


=

c) Aproxime f(0.35) e f(0.85) utilizando um polinômio, fórmula de La­


grange de grau 2, com os pontos Xo O x1 1 x2 = 2.
= =

d) Em qual dos casos obtemos melhor aproximação no ponto desejado?


Justifique suas afirmações.
5. Considere a equação x - ex = O.
a) Usando o método de Newton, resolva a equação com E = 0.0001.
b) Usando interpolação inversa, determine uma aproximação para a so- ·

lução da equação O.=

c) Compare os resultados obtidos.


6. Usando o Software Numérico e o polinômio interpolador, fórmula de
Newton e Newton-Gregory de grau 2, avalie f(0.45) a partir dos dados
da seguinte tabela:
Xj 0. 1 0.3 0.5 0.7 0.9
f(xi) 1.2500 1 .5678 3.6789 8.8900 1 0.5699
7. Mostre que existe um único polinômio de grau � 2 tal que P(l) 3, =

P((2) 5 e P(3) = 12.


=

Usando o polinômio interpolador, fórmula de Newton-Gregory, avalie


Pz(l.5).
8. De um automóvel percorrendo um trajeto em linha reta foi cronometrada
a distância percorrida em diversos momentos, conforme tabela dada:
Tempo (min) o 10 20 30
Distância (km) o 20.56 30 . 67 67.78
Usando interpolação, determinar a distância percorrida 15.6 minutos de­
pois da partida;
Aproximação de Funções 187

9. Sendo P1(x) o polinômio de interpolação linear de f(x) em a e b, determi­


ne e E (a , b) de modo que:
f(x)-P1 (x) = (x-a)(x -b) f< 2l(c), para as funções f(x) definidas como:
2
a) f(x) = x3, com a = 1 e b 2 e o ponto a ser interpolado x = 1 .5 .
=

b) f(x) = e-x, com a = 0.5 e b 1 e o ponto a ser interpolado x = 0.7.


=

10. Construa uma tabela para determinar o valor de ex para 0 2


xk = k/5 k = l, ... , 5 e determine o valor aproximado de e · 3 usando:
a) Polinômio interpolador, fórmula de Lagrange.
b) Polinômio interpolador, fórmula de Newton.
c) Calcular um limitante superior para o erro.
1 1. Determine um valor aproximado para cos(0.14) usando um polinômio
interpolador de grau 2, e calcule um limitante superior para o erro.
12. Em um experimento foram obtidos os seguintes dados:
1X· o 1 2 3 4
0.01 1.01 1.40 3.81 4.01
a) Determinar a reta que melhor se ajusta aos dados da tabela, usando o
método dos 5
mínimos quadrados, com o auxílio do Software Numérico.
b) Calcule L e(xi )2 .
i=l

13. Considere os dados de um experimento conforme tabela:


-9 -6 -4 -2 o 2 4
30.1 10.1 8.9 5.9 5.0 3.9 4.0 1
Usando o método dos mínimos quadrados e o Software Numérico, ajustar
aos dados da tabela funções:
a) Hiperbólica
b) Exponencial
c) Compare os resultados obtidos.
1 4. Considere a tabela de observações com valores de uma função f(t) (que
representa o consumo de água numa cidade no período t, ou a demanda
por um produto no período t) t O, ..., 4. Desejamos prever o futuro, isto é,
=

determinar o valor de /(5).


t o 1 2 3 4
f(t) 1 1 .0 10.5 10.3 10.2 10.2
188 Cálculo Numérico

Considere duas estratégias para prever o valor de f em t + 1 :


reta) e use o polinômio interpolador para prever f(t + 1).
a) Interpole f nos últimos dois períodos t - 1 e t (obtenha, portanto, uma

mos períodos t - 2, t - 1 e t e use a reta ajustada para prever f(t + 1).


b) Ajuste uma reta, pelo método dos mínimos quadrados, aos três últi-
Para avaliar as estratégias, considere t + 1 4 e use as duas estratégias para
=

prever f(4) e compare com o valor já observado f(4) 10.2. Qual das duas
=

estratégias apresentou resultado melhor?


Escolha a estratégia que apresentou o resultado melhor e utilize-a para
prever /(5).
15. Estime JV, usando a fórmula de interpolação de Lagrange sobre os
pontos Xo 9, x1 16, x2 25.
= = =

a) Avalie a precisão da estimativa, usando um limitante para o erro de


interpolação.
b) Utilize o valor de Jfi dado pela sua calculadora e compare com o
valor estimado pela interpolação. A precisão avaliada está coerente?
Comente.
Capítulo 5

Integração Numérica

5.1 Introdução
Neste capítulo, apresentamos algtms métodos numéricos para calcular aproxi­
madamente a integral de uma função com uma variável real definida num
intervalo [a, b].
De uma maneira geral, temos:

1 J f(x) dx
b

onde f(x) é contínua com derivadas contínuas em [a, b].


Quando for possível determinar a função primitiva F(x) de f(x), tal que
F'(x) f(x), o valor da integral é dado por:
=

1= J f (x) dx F(b) - F(a)


b

Graficamente, considerando a função f(x) � O, para todo xe[a, b],


podemos relacionar 1 J f ( x ) d x com a área A, entre a curva e o eixo das
b

a
abscissas, conforme Figura 5.1 :

189
190 Cálculo Numérico

f(x)

f(b ) - - - - - - - - -
f(x)
f(a ) - - - - - - -
- - - - - - - - - - - - - - - -

a b X

Figura 5.1

Exemplo 5.1

Para calcular J x3 dx, como F(x)= � satisfaz F'(x) = x3, então:


2 4
o
4

o
J 4 4
x3 dx = F(2)-F(O) = (2) - (0) = 4
4 4
Entretanto, nem sempre é possível determinar a função primitiva F(x);
em algumas situações, mesmo conseguindo determinar F(x), seu tratamento
pode tomar-se complexo e trabalhoso. Podemos, ainda, desconhecer explici­
tamente a função f(x) quando, em experimentos, obtemos os valores de f(x)
em pontos xi do intervalo de integração [a, b] sem, no entanto, ter o conhe­
cimento da expressão analítica da função que necessitamos integrar. Nestes
o valor da integral definida 1.
casos, métodos numéricos são desenvolvidos para obter aproximações para
Estas aproximações podem ser obtidas a partir da integração do poli­
nômio interpolador da função f(x), em pontos eqüidistantes do intervalo [a, b].
Este processo é conhecido como fórmulas de quadratura de Newton-Cotes.
Existem também outras fórmulas aproximadas para integração numé­
rica conhecidas como fórmulas de quadratura de Gauss.
Assim, de um modo geral, fórmulas de integração numérica podem ser
obtidas pela integração do polinômio interpolador Pn(x) de uma função f(x)
definida em pontos distintos XQ, x11 , Xn do intervalo [a, b].
•••

Assim, temos:
J f(x) dx = J Pn (x) d x
Xn Xn

Xo
I ntegração Numérica 191

Podemos representar graficamente, conforme Figura 5.2:

Xn=b X

Figura 5.2

5.2 Fórmulas de quadratura de Newton-Cotes


Considere uma função definida em x0, xv ... , xn, (n + 1) pontos distintos e
eqüidistantes no intervalo [a, b ], isto é, (xi+ l - xi) = h i = O, 1, . .. , n 1 sendo
- ,

h > O a distância entre os pontos.


Quando consideramos Xo = a e Xn = b, temos as fórmulas fechadas de
Newton-Cotes.
Seja Pn(x) o polinômio interpolador de uma função f(x) definida nos
pontos XQ, x1, ..., Xn, (n + 1) pontos distintos e eqüidistantes no intervalo [a, b], tal
que Xo = a e Xn = b. Considerando que f(x) é suficientemente diferenciável,
temos da interpolação polinomial que:
f(x) = Pn(X) + En(X)
onde
( n+ l )
(n+ l )!
f (Ç)
En (x) = (X-X0 ) (X-Xn ) --
••• X0 � Ç � Xn

Assim,
J f (x) d x = J Pn (x) d x
Xn Xn

e o erro dado por:

J En (x)dx
xo
192 Cálculo Numérico

Como os pontos escolhidos são eqüidistantes, por simplicidade usamos


a fórmula de interpolação de Newton-Gregory:

+. .. + (x -x0) ... (X - Xn-1 ) --­


An f(x0)
n! hn
a qual pode ser reescrita com a mudança de variável:
u = (x - Xo ) / h ou x = x0 + uh

de modo que na variável u os pontos de interpolação são sempre O, 1, ..., n e


o polinômio interpolador é dado por:
Pn (x) = A f(x0 )+ u A f(x0 )+ u(u - 1 ) A2 f (x0 ) + ... + u(u - 1 ) . . . (u - (n - l )) A f(x0 )
o 1
n

2! n!

e o erro na interpolação na variável u é dado por:

de modo que o erro na integração pode ser escrito como:

5.3 Erro cometido na integração numérica

Como vimos, quando aproximamos a integral J f (x) dx por J Pn (x) dx come-


Xn Xn

Xo

temos um erro, o qual é expresso pelo seguinte teorema:


Teorema 5.1

pontos xi Xo + ih i = O, l, . .. , n subdividem o intervalo de integra­


a) Se f(x) possui (n + 1) derivadas contínuas no intervalo [Xo, xn] e os
=

ção num número ímpar de intervalos, então existe Ç tal que:


f( Ç) n
J (u) (u-1) . . . (u-n) du,
(n+l)

(n+ l ) !
hn+2
En =
0
Xo �� xn
Integração Numérica 193

pontos xi = Xo + ih i = O, l, ... , n subdividem o intervalo de integra­


b) Se f(x) possui (n + 2) derivadas contínuas no intervalo [ Xo, Xn], e os
ção num número par de intervalos, então existe Ç tal que:
(n+2) n
J
h n+3 f(Ç) n (u)(u-1) ... (u-n) du, x0 � Ç � x
En ! (u --) n
(n+2) 0 2
Prova: Jennings, W.
5.4 Regra dos trapézios

polinômio interpolador de Newton-Gregory da função f(x) de grau n = 1


Considere uma função f(x) definida em dois pontos Xo e x1 no intervalo [a, b].
O
é dado por:

º
P1 (x)= Liº f(xo )+(x -xo ) Li f(xl0 )
l!h
e
1
J f(x)dx = J P1 (x)dx = h J P1 (u)du
� �

� � o

onde u -{x-x0 ) , com h = x1 - x0 .


h
Representamos graficamente, conforme Figura 5.3:
=

f(x)

Figura 5.3
194 Cálculo Numérico

Podemos integrar facilmente P1(u) e obter uma fórmula de integração


da seguinte forma:

J f(x) dx = hJ (�0 f(x0 )+u �1 f(x0 ) du = hJ �0 f(x0 ) du + hJ u �1 f(x0 ) du


x, 1 1 1
o

Como �0 f(x0) = f(x0 ) e �1 f(x0) = f(x1 ) - f(x0 ), temos:


Xo o o

Portanto, temos:
J f(x)dx = 2"h [f(x0 )+f(x1 )]
x,

� regra dos trapézios


Xo

Podemos observar que J f(x) dx corresponde à área do trapézio for­


x,

><o

mada entre o polinômio interpolador P1(x) e o eixo das abscissas, conforme Fi-
gura 5.3, justificando, assim: a denominação regra dos trapézios.
5.4. 1 Erro na regra dos trapézios
Neste caso, o intervalo de integração n = 1 é ímpar e, portanto, pela parte (a)
do Teorema 5.1, temos:
E1 = h3 f ( 2 ) (Ç)
1
2!
J (u) (u-l) du x0 $ Ç $ x1
o

Como J u(u-1) du = --,


1 1 temos que o erro é dado por:
o
6
E1 = - �; f <2l (Ç)
Limitante superior para o erro
Podemos observar que o argumento Ç na fórmula do erro E1 não é uma gran­
deza numérica conhecida no intervalo [Xo, xi] e, portanto, não é possível
Integração Numérica 195

calculá-lo exatamente na regra dos trapézios, mas podemos calcular uma


estimativa, que será o limitante superior para o erro. Tomando a igualdade em
módulo, temos que:

1
I E1 1 = - �� f<2l(Ç) 1 = 1 - �� l i f<2> (Ç) I ÇE[x0 ,xi ]
Como i f < 2> (Ç) I � máx {i f< 2>(x) I , xE[x0 ,xi J }, temos que:

Exemplo 5.2

Calcule o valor aproximado de J (In(x) + x) dx usando a regra dos trapézios


1

0,5

e um limitante superior para o erro.


Solução:
Tabelando a função f(x) nos pontos x0 0.5 e x1 = 1, temos:
=

X 0.5 1
f(x) --0.1931 1.0000

Assim, usando a regra dos trapézios, temos:

J0,5 ( ln(x) +x) dx ::: -h2 [f(x0 )+f(x1 )] = -


1 o·5 [-0.1931+1.0000] = 0.2017
2
Limitante superior para o erro:

Como a função f(x) (2) = --1 , então i f< 2 >(0.5) l = máx { l f< 2 >(x) l 1 0.S � x � l } = 4,
X2
pois a função l f< 2 >(x) I = 1z é decrescente no intervalo [0.5, 1].
X
Desta forma, temos:
3
I E1 1 � (0.5)
12 (4) 0.0417 =
196 Cálculo Numérico

Regra dos trapézios generalizada

A regra dos trapézios generalizada consiste na subdivisão do intervalo de


integração em n subintervalos iguais, cada qual de amplitude h = (xn - Xo)/n,
Xo = a Xn = b, e em aplicarmos a regra dos trapézios em cada subintervalo,
isto é, a cada dois pontos consecutivos.
Representamos graficamente conforme Figura 5.4:

f(x)

f(x)

h h h

Figura 5.4

Assim, temos que:


J f(x)dx = 2h [f(x0 ) + f(x1 )] + 2h [f(x1 ) + f(x2 )] + . . . + 2h [f(xn_1 ) + f(xn )] =
Xn
xo

Erro na regra dos trapézios generalizada


Como vimos, em cada aplicação da regra dos trapézios temos a seguinte
expressão para o erro:

O erro total na fórmula generalizada é obtido a partir da soma dos erros


cometidos em cada subintervalo, isto é:
I ntegração Numérica 197

Co�o xi-t � Çi � xi , i l, ... , n e f2)(x) é uma função contínua por hipó­


=

tese, então existe Çe [x0 , x n 1 tal que


n 2)
I/ 2 l <Çi > n f<( Ç >
=

i =l
Assim, a expressão para o erro na regra dos trapézios generalizada
toma-se:

Como o número de subintervalos n é dado por n (xn - Xo)/h, temos:


=

Et - - h2 (x - X ) f((2)Ç) ÇE [X , X ]
12 n o
= o n
Limitante superior para o erro
Como o argumento Ç não é conhecido, não podemos determinar o erro exa­
tamente, mas podemos calcular um limitante superior para o erro.
2
I E1 1 � h12 (xn - x0 ) máx { l f (2>(x) I , x0 � x � xn }
Exemplo 5.3

Calcule o valor aproximado da integral J F dx usando a regra dos trapézios


4

1
generalizada para 2, 4 e 6 subintervalos e um limitante superior para o erro.
a) Solução para 2 subintervalos
Neste caso, h é determinado por:

Tabelando a função f(x), com h 1.5, temos:=

X 1 2.5 4
f( x ) 1.000 1.5811 2.000
Assim,
f "rx
4

A. dx = -h2 [f(xo ) + 2f(x1) + f(x2 ) ] 125 [1 + 2(1.5811) + 2]


= _
.

1
198 Cálculo Numérico

Portanto,
J JX dx
4

= 4.6217
1

Limitante superior para o erro


Usando a expressão do limitante superior para o erro, temos:
2
IE1 1 ::; h12 (xn - x0) máx { i f <2 >(x) l x0 ::; x ::; x2 }
1

Como a função Ú�) = -± x-312 , então i f < 2> (l)I = máx { l f< 2 > (x) l x E [l, 41 } = 0.25,
1

pois i f <2 >(x ) I é decrescente no intervalo [l, 4].


Assim, temos:
E t 1 ::; (1.5)2 (4-1 ) (0.25) = 0. 1406
I 12
b ) Solução para 4 subintervalos
Neste caso, o espaçamento h é determinado por:
h = (xn - Xo ) = 4-1 � h = 0.75
n 4
Tabelando a função f(x) com h = 0.75, temos:

X 1 1.75 2.5 3.25 4


f(x) 1.000 1.3229 1.5811 1.8028 2.000

Assim,

J JX dx = 2h [f(x0) + 2(f(x1 ) + f(x2 ) + f(x3 )) + f(x4 )] =


4

= º · 75 [1 + 2(1.3229 + 1.5811 + 1.8028) + 2] = 4.6551


2
Logo, temos:

J JX dx
4

= 4.6551
1
Integração Numérica 199

Limitante superior para o erro


Usando a expressão do limitante superior para erro, temos:

Como a função f(x) (2) = - 1 x-3/2 , então i f< 2>(1) I = máx i f<2 >(x) I , xe[l, 4] } = 0.25,
4 {
pois l f( 2 )(x) I é decrescente no intervalo [l, 4].
Assim, temos:
I E1 1 � (0.75 ) (4 - 1 ) (0.25) = 0.0352
2
12
e)Solução para 6 subintervalos
Neste caso, o espaçamento h é determinado por:
h = (xn n- Xo ) = 4 6-1 � = h = 0.5
Tabelando a função f(x) com h=0.5, temos:

X 1 1.5 2.0 2.5 3.0 3.5 4


f(x) 1.0000 1.2247 1.4142 1.5811 1.7321 1 .8708 2.0000
Assim,
4
J JX dx = h2 [f(x0)+ 2(f(x1 )+f(x2 )+f(x3 )+ f(x4 )+ f(x5 ))+f(x6 )] =
-

1
= 0.5 [1+2(1.2247+ 1 .41 42 + 1 .5811 + 1.7321 + 1 .8708) + 2] = 4.6615
2
Portanto,
J JX dx = 4.6615
4

Limitante superior para o erro


Usando a expressão do limitante superior para o erro, temos:
200 Cálculo Numérico

{l }
O valor de máx f < 2 l(x) , x0 :5: x :5: xn = 0.25 como nos casos anteriores e,
I
portanto, temos:
2
j E , j :5: (0.5) (4 - 1 ) (0.25) = 0 .0 1 56
12
Apresentamos a seguir a Tabela 5. 1 , com os resultados obtidos pela regra
dos trapézios com 2, 4 e 6 subintervalos e um limitante superior para o erro
em cada caso.

Tabela de resultados da regra dos trapézios com 2, 4 e 6 subintervalos e


limitante superior para o erro

2 subintervalos 4 subintervalos 6 subintervalos


Valor aproximado 4.621 7 4.6551 4.6615
Limitante superior 0.1406 0.0352 0.0156

Tabela 5.1

Observe, na Tabela 5. 1 , que na medida em que diminuímos o espaça­


mento h, isto é, aumentamos o número de subintervalos, os resultados obtidos
são mais próximos do valor exato da integral, isto é, o erro tende a zero.

5.5 Regra 1 /3 de Simpson


Considere uma função f(x) definida em três pontos distintos x0, x1, x2 eqüidis­
tantes no intervalo [a, b], e o polinômio interpolador de Newton-Gregory da
função f(x), de grau n = 2, com Xo = a e x2 = b, escrito como:

Assim,
2
f f(x) dx = f P2 (x) dx = hf P2 (u) du
� �

� � o

(x - x0 ) (x - x0 )
onde u = com h = n ---

h ' n
Integração Numérica 201

Representamos graficamente, conforme Figura 5.5:

f(x)
f(x)

:xo = a X

Figura 5.5

Assim,

Uma vez que,

Assim, temos:

·rJ f(x) dx = h [f(x0 ) + 4f(xi )+ f(x2 )] � regra 1/3 de Simpson


-

Xo
3
202 Cálculo Numérico

5.5. 1 Erro na regra 113 de Simpson


Neste caso, o intervalo de integração foi subdividido em um número n = 2
(par de subintervalos) e, portanto, pela parte (b) do Teorema 5.1, temos:
n+3 f(n(x+2))
E0 = h
(n +2) !
u
J (u -n/2) (u) (u - 1) ... (u - n) du x0 $ Ç $ x0
0

(4)
E2 = 4 ! J (u - l)(u)(u - l)(u - 2) d u
h5 f(Ç) 2
o

J
2 4
o
Como (u - l)(u)(u - 2) du = - -, temos:
15

Como o argumento Ç não é conhecido, não é possível calcular o erro exa­


tamente, portanto, trabalhamos com um limitante superior como segue:

Limitante superior para o erro


Temos que o erro é dado por:

, Xo $ x $ X2
(4 )
h5 f ( Ç )
E2 = -
90
Tomando em módulo a expressão anterior temos que:

l �� l l f(4l(Ç) I Ç e [x0 , x2 ]
J E2 J = -
Desta forma, podemos escrever o limitante superior para o erro como:

J E2 J $ 90 $ x $ x2 }
h5
{ máx 1 f( 4 l(x ) I , x 0

Exemplo 5.4

J cos(x) d x usando a regra 1 /3 de


1 .5

Calcule o valor aproximado da integral


0.5
Simpson e um limitante superior para o erro.
Solução
Neste caso, o valor do espaçamento h é calculado por:
h= (b - a) = 0.5
2
Integração Numérica 203

Tabelando a função f(x) = cos (x) com h = 0.5, temos:

X 0.5 1.0 1.5


f(x) 0.8776 0.5403 0.0707

Desta forma, temos:


h
J f(x) dx o ·5 [0.8776+ 4(0.5403)+0.0707] = 05183
l .5

= -3 [f(x0 )+ 4f(x1 )+f(x2 )] = -3


Portanto,

f cos(x) dx
1 .5

= 0.5183
0.5

Limitante superior para o erro


Da fórmula do limitante superior para erro, temos que:

1 E2 I ::;; 9h50 máx {J f( 4 l (x ) J , x E [0.5, 1.51 }

Como a função f( 4 l (x ) = cos(x), então J f ( 4 l(O.S)j = máx {J f< 4 l (x) J } = 0.8776, pois a
função l f<4 > (x) I é decrescente no intervalo [0.5, 1.5].
Assim,

(0 .8776) = 0.0003
5
1 E2 I ::;; (0.5)
90

Regra 1/3 de Simpson generalizada


Na regra 1/3 de Simpson, foram necessários 3 pontos para a interpolação quadrá­
tica, o que significa a divisão do intervalo de integração em 2 subintervalos.
A regra 1 /3 Simpson generalizada consiste em subdividirmos o intervalo
[a, b] de integração em n subintervalos de amplitude h, onde n é um número
par de subintervalos, de forma que x0 = a, Xn = b e aplicarmos a regra 1 /3 de
Simpson em cada 2 subintervalos consecutivos.
204 Cálculo Numérico

Representamos graficamente conforme Figura 5.6:

f(x)

2
P (x)

j
f(x)
h

Xn-2 Xn-1 Xn = b X
Figura 5.6

Assim, aplicando a regra 1 /3 de Simpson para cada 3 pontos, isto é, a


cada 2 subintervalos, temos:

f f(x)dx = -h3 [f(x0)+4f(x1)+f(x2 )] + -h3 [f(x2 )+4f(x3 }+f(x4 )] + ... +


Xn
X()

Erro na regra 1/3 generalizada de Simpson


\

Para cada dois subintervalos (3 pontos distintos e eqüidistantes } , aplicamos


a regra 1 /3 de Simpson e o erro cometido para cada aplicação é dado por:

(4)
2-
E _ _
h5 f( Çd x2i-2 � Çi � x2i i = 1, 2, ... , n/2
90
Desta forma, o erro total cometido na regra 1 /3 de Simpson generali­
zada é obtido a partir da soma dos erros cometidos a cada aplicação da regra
1 /3 de Simpson a cada dois subintervalos subseqüentes, isto é:

= L --
n/2
hS f((4) ) X2 2 � � X2
E1
90 Ç i- Çi i
i i = 1, 2, ... , n/2
i=l
Integração Numérica 205

Como x0 :5 Çi :5 Xn i 1, 2, ... , n/2 e f<4> (x) é contínua por hipótese, então


=

existe um Ç E [x0 , xn ] tal que:

I f ( çi > /2 (4)
n/2 (4)
=
� f(Ç)
i=l 2

Assim, a expressão para o erro na regra 1 /3 de Simpson generalizada


é dada por:

Como o número de subintervalos n = �


(xn xo )
, temos que:

(4)
4
h
E1 = - - (xn - Xo ) f ( Ç )
180

Limitante superior para o erro


Como Ç E [x0 , xn 1 não é uma grandeza numérica conhecida, trabalhamos
com um limitante para o erro, conforme segue:

Exemplo 5.5

J
3

Calcule o valor aproximado da ( xex + 1 ) d x, usando a regra 1 /3 de Simpson


o
para 2, 4 e 6 subintervalos e um limitante superior para o erro.
a) Solução para 2 subintervalos
Neste caso, o valor do espaçamento h é dado por:

(xn - Xo )
h = = 1.5
n

Tabelando a função f(x) para h = 1 .5, temos:

X o 1 .5 3.0
f(x) 1 .0000 7.7225 61.2566
206 Cálculo Numérico

Assim,
3
f (xex + 1) dx = -h [f(x0 )+ 4f(x1 )+ f(x2 )] = -
1 ·5
(1+ 4(7.7225)+ 61.2566) = 46.5733
o 3 3
Portanto, temos:
3
f (xex + 1) dx = 46.5733
o

Limitante superior para o erro


Usando a expressão do limitante superior para o erro, temos:

4) = ex (4 + x) e l f( 4 ) (3) = máx { l f( 4 ) (x) 1, x E [O, 3J}


Como f ((x) I = 140.5988,
pois a função l f( 4l(x) I é crescente em módulo no intervalo [O, 3].
Temos:
(1 .5) 4
I Et l �
1 80
(3 - 1) (140. 5 988) = 1 1 . 8630

b)Solução para 4 subintervalos


Neste caso, o valor do espaçamento h é dado por:
(xn - Xo )
h= = 0.75
n
Tabelando a função f(x) com h = 0.75, temos:

X o 0.75 1.5 2.25 3 .0


f(x) 1 .0000 2.5878 7.7225 22.3474 61 .2566

Assim,
J (xex + 1) dx = -h3 [f(x0 ) + 4(f(xi )+ f(x3 )) + 2f(x2 ) + f(x4 )]
3

= 0 · 75 (1 + 4 (2.5878 + 22.3474) + 2 (7.7225) + 61 .2566) = 44.3606


3
Integração Numérica 207

Portanto, temos:

J (xex + 1) d x
3
= 44.3606
o

Limitante superior para o erro


Usando a expressão do limitante superior para o erro, temos:

. \

Como f (x) = ex (4 + x) e l f( 4 l (3) I = máx {l f( 4 > (x) , , x E [O, 31 } = 140.5988, pois


(4)
a função i f< 4 > (x) I é crescente em módulo no intervalo [O, 3].
Temos:
4
I E1 1 � (0.75)
1 80
(3 - 1)(140.5988) = 0.74 1 4

e) Solução para 6 subintervalos


Neste caso, o valor do espaçamento h é dado por:

h (xn - xo )
= = 0.5
n

Tabelando a função f(x) com h = 0.5, temos:

X o 0.5 1 .0 1 .5 2.0 2.5 3.0


f(x) 1.0000 1 .8244 3.7183 7.7225 15.7781 31 .4562 61 .2566

Assim,

J (xex + 1) dx -3 [ f (x0 ) + 4 (f (x1 ) + f (x3 ) + f (x5 ))+ 2(f (x2 ) + f (x4 ) ) + f (x6 ) ] =
3 h
=
o
0.5
= [ 1 + 4 (1 .8244 + 7.7225 + 31 .4562) + 2(3.7183 + 15.7781) +
3
+ 61 .2566 ] = 44.2103

Portanto,

J (xex
3
+ 1) dx = 44.2103
o
208 Cálculo Numérico

Limitante superior para o erro


Usando a expressão do limitante superior para o erro, temos:

Como f (4)(x) = ex (4 + x) e i f(4 l(3)l = máx { l f(4 >(x) 1 1 x e [O, 31} = 140.5988, como
nos casos anteriores, temos:
4
I Et 1 � (0.5) (3-0) (140.5988) = 0. 1 465
1 80

Apresentamos, a seguir, a Tabela 5.2 com os resultados obtidos usando


a regra 1/3 de Simpson, com 2, 4 e 6 subintervalos e um limitante superior
para o erro em cada caso.

Tabela de resultados da regra 1/3 de Simpson com 2, 4 e 6 subintervalos e


limitante superior para o erro

2 subintervalos 4 subintervalos 6 subintervalos


Valor aproximado 46.5733 44.3606 44.2103
Limitante superior 11 .8630 0.7414 0.1465

Tabela 5.2

Observação
Pode-se notar que, na medida em que diminuímos o espaçamento h entre
os pontos, o limitante superior para o erro decresce, indicando valores mais
próximos do valor exato da integral.
5.6 Regra 3/8 de Simpson
Considere uma função f(x) definida em XQ, xv x2, x3 quatro pontos distintos e
eqüidistantes de um intervalo [a, b]. Neste intervalo, considere o polinómio
interpolador de Newton-Gregory da função f(x), de grau n = 3, com Xo a e =

x3 = b, isto é,
o
1 0) �2 f(x0 ) +
P3 (x) = �ºf(Y� ) + (x -xo ) � f(x + (x -x )(x -x 1 )
''IJ
l ! hl 2 ! h2
3 o)
+ (x -x0 )(x -xi )(x-x2 ) �3 f(x
! h3
Integração Numérica 209

e, portanto,

3
J f(x) dx :: J P3 (x) dx J P3 (u) du
X3 X3

=h
"o "o o

com h = Xn - Xo .
(x - x0 )
onde u =
h n
Representamos graficamente conforme Figura 5.7:

f(x)

Figura 5.7

Assim,

J f(x) dx :: h J [Aºf(x0 )+uAi f(x0 ) + u (u2.� l) ,:l2 f(x0 ) +


X3 3

-�i(u - 2) ,:l3f(x0 )] du = h J3 Aºf(x0 ) du +


"o o
(u)(u
+
0
u(u � l) 2
3 3
+h J uAi f(x0 ) du + h J ,:l f(x0 ) du +
o o 2.
3 (u)(u - l)(u - 2)
+h J ,:l3 f(xo ) du
o 3!
Uma vez que,

Assim, temos:

J f(x) dx = 83 h [f(x0 ) + 3f(x1 )+ 3f(x2 ) + f(x3 )]


X3

Xo

5.6. 1 Erro na regra 318 de Simpson


Para esta regra de integração, o intervalo [a, b] foi subdividido em um número
n 3, ímpar, de subintervalos e, portanto, pela parte a) do Teorema 5.1, temos:
=

J0 u (u - l )(u - 2) . . . (u - n) du
h n+2 (n+l ) 0
E0 = -
r,- f(Ç) Ç e [x0 , x3 ]
,n + l) !

logo,
h
E3 = -
5 (4 ) 3
f(Ç)
4!
J u(u - l )(u - 2)(u - 3) du Ç e [x0 , x3 ]
o

Resolvendo-se a integral da expressão anterior, temos:


3 (4)
E3 = - - hs f( Ç )
80

Limitante superior para o erro

I E3 1 $ :o h5 máx { l f (4>(x) l , x0 $ x $ x3 }
Exemplo 5.6

J
1 .2

Calcule o valor aproximado da (ex +Sx) dx usando a regra 3/8 de Simpson


0.3
e um limitante superior para o erro.
Integração Numérica 211

Solução:

Temos h =
(xn - xo )
= 0.3
n

Tabelando a função f(x) com h 0.3, temos: =

X 0.3 0.6 0. 9 1.2


f(x) 2.8499 4.8221 6 . 9 596 9.3201

Assim,

J
1 .2
3
)+f(x2 ))+f(x3 )]
0. 3
f(x)dx =
B h[f(x0)+3(f(x1
3
= - (0.3) [2.8499 + 3 (4. 822 1 + 6.9596) + 9 . 320 1 ]
8

Portanto temos:
1 .2

J (ex + 5x) dx = 5 . 3454


0. 3

Limitante superior para o erro

(4)
Neste caso, f ( x ) =eX, é uma função crescente em módulo no intervalo
[x0, x3] logo,

i f <4l (l .2) 1 = máx { l f ! 4 l (x) I , x e [0.3, 1 .21 } = 9 .3201

Portanto,

1 E3 I � � (0.3) 5 (9.320 1) = 0.0085


8

Regra 3/8 de Simpson generalizada


A regra 3/8 de Simpson generalizada consiste em 'subdividirmos o inter­

número múltiplo de 3, de forma que Xo = a Xn = b e aplicarmos a regra 3/8 de


valo [a, b] de integração em n subintervalos, de amplitude h, onde n é um

Simpson a cada 4 pontos consecutivos, ou 3 subintervalos consecutivos.


212 Cálculo Numérico

Representamos graficamente conforme Figura 5.8:

f(x)

h h h h h h

Xn-3 Xn-2 Xn-1 Xn b =


X
Figura 5.8

Assim,

f f(x) dx 3 3

XQ
=-
8 h[f(x0)+3f(x1 )+3f(x2 )+f(x3 )]+-h[f(x
8 3 )+3f(x4 )+3f(x5 )+f(x6 )]+...+
+ S3 h[f(xn-3 )+3f(xn_2 )+3f(xn_1 )+f(xn )] =

=
3
s h[f(x0 )+3(f(x1 )+f(x2 )+f(x4 )+f(x5 )+... +f(xn_2 )+f(xn_1 ))+
+2 (f(x3 )+f(x6 )+...+f(xn-3 ))+f(xn )]

Erro na Regra de 3/8 de Simpson generalizada

Para cada três subintervalos, ou quatro pontos distintos e eqüidistantes, apli­


camos a regra 3 / 8 de Simpson e o erro em cada aplicação é dado por:

Assim, o erro total cometido na Regra 3/8 de Simpson generalizada é


obtido a partir da soma dos erros cometidos em cada aplicação da regra 3/8 de
Simpson, a cada 3 subintervalos subseqüentes, isto é,

L -- h5 f ( ÇJ
i=l
3 (4)
1, 2, ... , n /3
n/3
Et = i =
80
Integração Numérica 213

No entanto, como f4) (x) é contínua por hipótese e Çi E [x3 i_3 , x3 d então
existe Ç E [ x0 , Xn ], tal que:

I f(4) ( ÇJ = n3 f<4) ( Çç )
n/3
-

i=I

Portanto,

= - - hs - f( ..,� )
3 n <4 l
E
t 80 3
(xn Xo )
Como o número de subintervalos é dado por n = � , temos:

- (xn - X0 ) f(Ç)
h4 (4)
E1 = X0 � Ç � x n
80

Limitante superior para o erro

Exemplo 5.7
7
Calcule o valor aproximado da J in (x + 9) dx usando a regra 3/8 de Simpson
1
para 3, 6 e 9 subintervalos e um limitante superior para o erro.
a) Solução para 3 subintervalos
Neste caso, o espaçamento h é dado por:

Tabelando a função com h = 2, temos:

X 1 3 5 7
f(x) 2.3026 2.4849 2.6391 2.7726

Assim,

J ln (x + 9) dx = -38 h [f(x0 ) + 3f(xi ) + 3f(x2 ) + f(x3 )]


7
3
= - 2 [2.3026 + 3 (2.4841 +2.6391)+
1
8
+ 2.7726 ] = 15.3354
214 Cálculo Numérico

Portanto, temos

J ln(x +9) dx
7

= 15.3354
1

Limitante superior para o erro


Temos que a fórmula do limitante superior para o erro é dada por:

(4)
-
Como f ( x )
6 é uma função decrescente em módulo, no
(x+9)4
=

intervalo [1,7], temos:

Portanto,

1 E1 1 � (2)4 (7 - 1 ) (0.0006) 0 . 0007


=
80
b) Solução para 6 subintervalos
Neste caso, o espaçamento h é dado por:

Tabelando a função f(x) com h = l , temos:

X 1 2 3 4 5 6 7
f(x) 2.3026 2.3979 2.4849 2.5649 2.6391 2.7081 2.7726

Assim,

J ln (x + 9)dx
7

= -38 h [f(x0 )+3(f(xi )+f(x2 )+f(x4 )+f(x5 ))+ 2f(x3 )+f(x6 )] =

=
3(l) [2.3026+3(2.3979+2.4849+ 2.6391 + 2.7081) +
8
+ 2 (2.5649) + 2.7726] 15.3356 =
Integração Numérica 215

Portanto, temos:

f ln (x +9) dx
7

= 15.3356
1

Limitante superior para o erro

Da fórmula do limitante superior para o erro, temos:

Como

l f (4l( l) I = máx { l f ( 4l(x) I , x E[l.7] } = 0.0006


então temos:
l )4 ( 7 -1)(0.0006) = 0.0004
j Ei j � (80
e) Solução para 9 subintervalos:
Neste caso, temos que o espaçamento h é dado por:

h = (xn n- Xo ) = 3_
3
X 1 5/3 7/3 3 11/3 13/3 5 17/3 19/3 7
f(x) 2.3026 2.3671 2.4277 2.4849 2.5390 2.5909 2.6391 2.6856 2.7300 2.7726

Assim,

7
J ln (x + 9 ) dx = 38 h [f(x0 )+3(f(x 1 )+f(x 2 )+f(x4 )+ f(x 5 )+ f(x7 )+ f(x 8 ))+
-

1
+2(f(x 3 )+f(x6 ))+f(x9 )] = 3 (2 !3) [2.3026+3( 2.3671 +2.4277 +2.5390+
8
+ 2.5909+2.6856+2.7300) + 2 ( 2.4849+2.6391)+2.7726] = 15.3360
Portanto, temos:

f ln(x+9) dx
7

= 15.3360
1
216 Cálculo Numérico

Limitante superior para o erro


Da fórmula do limitante para o erro, temos que:

Como j f (4l(l ) j = máx { j f < 4l(x ) j , x E [l, 7] } 0.0006 temos:


=

1 E1 1 :5; (2/3)
80 4 ( - ) (0.0006)
7 1 = 0.000089

Concluímos, portanto, que na medida em que diminuímos o valor do


espaçamento h, obtemos um limitante superior para o erro cada vez menor,
o que significa que temos valores aproximados melhores comparados com o
valor exato da integral.
Apresentamos, a seguir, a Tabela 5.3 com os resultados obtidos pela regra
3/8 de Simpson, com 3,6 e 9 subintervalos e um limitante superior para o
erro em cada caso.

Tabela de resultados da regra 3/8 de Simpson com 2, 4 e 6 subintervalos e


limitante superior para o erro

3 subintervalos 6 subintervalos 9 subintervalos


Valor aproximado 15.3354 15.3356 15.3360
Limitante superior 0.0007 0.0004 0.000089

Tabela 5.3

5. 7 Fórmula de quadratura de Gauss


Apresentamos, ainda neste capítulo, uma maneira alternativa para calcular
a integral de uma função, conhecida como fórmula de quadratura de Gauss,
ou simplesmente quadratura gaussiana. As fórmulas de Newton-Cotes estu­
dadas anteriormente são obtidas integrando-se os polinômios interpoladores
e, como as expressões dos erros envolvem a (n + 1 )-ésima ou (n + 2)-ésima
derivadas da função a ser integrada, são exatas para polinômios de grau :5; n
ou grau ::;; n + 1. Veremos que é possível obter fórmulas de integração, as quais
são exatas para polinômios de graus superiores.
Considere a integral de uma função 1 = J f(x )dx.
b

a
Integração Numérica 217

Desejamos desenvolver uma fórmula de integração na forma:


= J f(x) dx = A0f(x0) + A 1 f(x 1 ) + ... + A n f(x n )
b

1
a

onde os coeficientes Ai e os pontos xi i O, . . . , n devem ser determinados de


=

forma a obter a melhor precisão possível. Note que nesta expressão temos
2n + 2 incógnitas, isto é, A0, Ai, ... , An, x0, ... , Xn .
Podemos esperar que seja possível encontrar valores que integrem exa­
tamente polinômios de grau � 2n + 1, uma vez que estes são definidos por
2n + 2 parâmetros.
Fazemos inicialmente o desenvolvimento para dois pontos:

1= J f(x) dx = A0f(x0 ) + A1 f(x1 )


b

Por simplicidade, consideramos o intervalo de integração dado por [-1, 1 ],


sem perda de generalidade. De fato, podemos sempre reduzir um intervalo
de integração [a, b], com a e b finitos, no intervalo [-1, 1] por meio de uma
mudança de variável, como, por exemplo,
x(t) = "21 (b-a)t + 21 (b+a), t e [-1, 1]
Ou seja, qualquer que seja x E [a, b], existe t E [-1, 1] tal que x = x(t).

Assim, considerando dx = x ' ( t)dt ! ( b - a)dt, temos:


=
2
1 = J f(x) dx = J f(x(t))x '(t) dt = J F(t) dt
b 1 1

a -1 -1

Onde
1 - a) f(-(b
F(t) = -(b 1 - a)t + -(b
1 + a))
2 2 2
I>essa forma, construímos uma fórmula de integração da seguinte maneira:
1=
1
f F(t) dt ::: A0 F( t0) + A 1 F( t1 )
-1

em que os parâmetros A0, Av t0 e ti devem ser determinados de modo que


seja exata para polinômios de graus :5: 3 (neste caso, n 1). Para isto, basta =
218 Cálculo Numérico

exigir que seja exata para os polinômios F0( t) = l, F1 (t) = t, F2(t) = t 2 e F3 (t) = t 3 ,
pois qualquer outro polinômio de grau � 3 pode ser escrito como:

Assim, se tivermos
1
J Fk (t) dt = A0 Fk (t0) + A 1 Fk (t 1 ) k = O, 1, 2, 3
-1
isto é, a fórmula é exata para estes polinômios, então:
1 1 1 1 1
J P3 (t) dt = a0 J F0( t)dt + a 1 J F1 (t)dt + a2 J F2(t)dt + a 3 J F3 (t)dt =
� � � � �

= a0(A0 F0( t0 ) + A 1 F0 (t 1 )) + a 1 (A0 F1 (t0) + A 1 F1 (t 1 )) +


+ ª 2 (Ao F2 (t o ) + A 1 F2 (t 1 )) + ª3 (Ao F3 (to ) + A1 F3 (t 1 )) =
= A0 P3 ( t 0 ) + A 1 P3 ( t 1 )

Ou seja, é exata para o cálculo de P3 (t).


Portanto, considerando F0( t) = l, F1 (t) = t, F2 (t) = t 2 e F3 (t) = t 3 , as incóg­
nitas Ao, Av t0 e t1 podem ser determinadas por:
1
J tk dt = A0 t� + A 1 t� , k = O, 1, 2, 3.
-1
Ou seja, temos o sistema:
1
Para k = O � J t 0dt = A0 t� + A 1 t�
-1
1
Para k = 1 � J t 1 dt = A0 t� + A 1 t:
-1
1
Para k = 2 � J t 2dt = A0 t� + A 1 ti
-1
1 3
Para k = 3 � J t dt = A0 t� + A1ti
-1
Integração Numérica 219

Como as integrais que aparecem neste sistema são facilmente calcu­


ladas, temos um sistema de equações não-lineares:
A0 + A 1 = 2
A0 t0 + A 1 t 1 = O
A0 t � + A1 t i = 2 / 3
A0 t� + A 1 t; = O
Para resolver este sistema, considere t0 -t1 e a solução é imediata e
=

dada por:

-t0 = t 1 = J3
- = 0.577350
3
Assim, podemos escrever:

Portanto,
l
f F(t ) dt = !Gauss = F(- -)
J3 + F(-)
J3

3 3

Esta fórmula é chamada quadratura de Gauss, é exata para polinómios


de grau � 3, por construção, e pode ser usada para aproximar integrais de
funções não polinomiais.
Para n 2 (3 pontos), esta fórmula é exata para polinómios de grau � 5,
=

isto é, se F(t) for um polinómio de grau � 5, então,

I = J F(t )dt = AoF(t0 )+A1 F(t1 )+ A2 F(t 2)


1

Analogamente ao caso anterior, n = l, podemos considerar F0(t) = 1,


-1

F1(t) = t, F2(t) = t2, F3 (t) = t3, F4(t) = t4 e F5(t) = t5 e as incógnitas A0, Av


A2, to, ti. e t2 podem ser determinadas por:
f t k dt = A0 t� + A1 t� , k = O, l, ... , 5
1

-1
220 Cálculo Numérico

Ou seja,
1
Para k = O � J t º dt = A0 t� + A 1 t� + A 2 t �
-1
1
Para k = 1 � J t 1 dt = A0 t� + A 1 t� + A 1 t ;
-1
1
Para k = 2 � J t 2 dt = A0 t� + A 1 t; + A 2 t;
-1
1
Para k = 3 � J t 3 dt = A0 t� + A 1 ti + A 2 t�
-1
1
Para k = 4 � J t 4 dt = A0 t� + A 1 t : + A 2 t�
-1
1
Para k = 5 � J t 5 dt = A0 t� + A 1 t i + A 2 t;
-1
Como as integrais que aparecem neste sistema são facilmente calcu­
ladas, temos um sistema de equações não-lineares:
A0 + A 1 + A 2 = 2
A 0 t0 + A 1 t 1 + A 2 t 2 = O
A0 t� + A 1 ti + A1t ; = 2 / 3
A 0 t� + A 1 t ; + A 2 t ; = O
A0 t� + A 1 t � + A 2 t� = 2 / 5
A0 t� + A 1 t ; + A1t; = O

simetria nos pontos to, t1 e t2 (propriedade que pode ser mostrada em geral):
A solução deste sistema não-linear pode ser obtida facilmente por considerar
uma

to = -t2, t 1 e t1 = O

Substituindo no sistema, obtemos:


5
A0 = A 2 = g = 0.555556
8
A I = - = 0.888889
9
- t0 = t 2 = .jt = 0.774597
tl = o
Integração Numérica 221

Assim,para 3 pontos (n 2), a fórmula de quadratura de Gauss para urna


=

função qualquer, exata para polinômios de graus :5: 5, por construção, é dada por:
!Gauss = � F(-./f) + � F(O) + � F(./f)
9 9 9
Portanto,
J F(t) dt = � F(-J-f)+ � F(O)+ � F( J-f)
1

: !Gauss
-1
9 9 9
Para mais detalhes sobre este assunto, veja Conte, S. D.; Boor, C.
Exemplo 5.8
3
Calcule 1 = J 3exdx, usando a quadratura gaussiana para n 2 pontos. =

1
Solução
Fazendo mudança de variável na função f(x) = 3 ex no intervalo [l, 3] para o
intervalo [-1, 1], temos:
x = -1 (b-a)t+ -1 (b+a)= t + 2 e F( t)= 3e( 1+2>
2 2
Assim,
3
f f(x) dx = f F( t)dt = A0 F( t0 ) + A 1 F( t1 )
1

1 -1
com
A0 = A1 = 1
J3 = -0. 5 77 3 5
t0 = - -
3

t.
J3 = 0.57735
=-
3
Logo,
J3 ) = 3e -3
lcauss = Ao F(to )+A1F(t1 ) = F( -J3
( J3 +2 )

3 )-+F(-3 + 3e( J33 +2) = 51.9309


Portanto,
J 3exdx lcauss = 51.9309
3

=:
1
222 Cálculo Numérico

Exemplo 5.9
3
Calcule 1 = J 3ex dx, usando a quadratura gaussiana para n = 3 pontos.
1

Solução:
Fazendo mudança de variável na função f(x) = 3 ex no intervalo [l, 3] para o
intervalo [-1, 1] temos:

x = -1 (b-a)t+-(b+a)=
1 t + 2 e F(t) = 3e(t+Z)
2 2
Assim,
3
f f(x) dx = f F(t)dt = A0 F(t0 ) + A 1 F(t1 ) + A 2 F(t2 ) =
1

1 -1

= � F(-jt ) + � F(O) + � F( jt ) = 52.1004


9 9 9

Logo,
3J 3exdx :: ! auss = 52.1004
1 G

Podemos usar o exemplo anterior para comparar numericamente a fór­


mula de quadratura de Gauss com 3 pontos, regra 1 /3 de Simpson e o valor
"exato" da integral.
3J 3exdx = 3ex 3 = 52.1018
Valor exato �
1 1 1

Apresentamos a seguir a Tabela 5.4 com os resultados obtidos pelas


diversas fórmulas de integração numérica .

Tabela de comparação quadratura de Gauss e regra 1/3 de Simpson

1 / 3 Simpson 1 /3 Simpson 1 / 3 Simpson


Exato Gauss n = 2 Gauss n = 3 3 pontos 5 pontos 7 pontos
Valor 52.1018 51 .9309 52.1004 52.3601 52.1194 52.1053
-
Erro 0.1709 0.0014 0.2583 0.0176 0.0035

Tabela 5.4
Integração Numérica 223

Observações
Analisando os resultados obtidos na Tabela 5.4, podemos concluir que:
1 . As fórmulas de quadratura de Gauss produzem resultados melho­
res com menor esforço computacional do que as regras de Simpson,
no sentido que, com menos avaliações da função é possível obter
resultados melhores. Entretanto, nem sempre a expressão da função
a ser integrada é disponível, podendo ser conhecida em pontos defi­
nidos por experimento. Neste caso, as fórmulas de quadratura de
Gauss não podem ser usadas.
2. Quando aumentamos o número de pontos, ambas as fórmulas me­
lhoram a precisão, como o esperado.

car a fórmula de quadratura de Gauss, com n = 3 pontos, em cada


3. Se o intervalo de integração for grande, podemos subdividi-lo e apli­

subintervalo, do mesmo modo que a regra 1 /3 de Simpson é obtida,


mantendo o polinómio interpolador de grau 2, e o intervalo de inte­
gração é subdividido.

5.8 Integração dupla


Apresentamos, nesta seção, métodos numéricos para a resolução da integral
de funções com duas variáveis, na forma geral:

I= JJ f(x, y ) dy dx,
b d

a�x�b e c�y�d
a e

Ou, ainda, podemos escrever:

I= JrJ f(x, y) dy] dx


b d

a e

J f(x, y)dy , então temos que:


d

Considere F(x) =

1= J F(x) dx
b

Para calcular esta integral, usaremos a regra dos trapézios generalizada,


seguidamente da regra 1 /3 de Simpson Generalizada, desenvolvidas ante­
riormente para integração de uma função com uma variável real.
224 Cálculo Numérico

5.8.1 Regra dos trapézios generalizada


Usando a regra dos trapézios generalizada, temos que:

J F(x)dx := 2h [F(x0 ) + 2(F(x 1 ) + F(x2) + ... + F(x0_1 )) + F(x 0 )]


b

I=
a

onde

F(xJ = f f(x i , y) dy := 2h [f(x i , y0 ) + 2(f(x i ' y 1 ) + ...+ f(x i , y 0_1 )) + f(x i , y 0 )]


d

i = O , ... , n

Os(n + 1) valores F(xi) podem ser calculados por qualquer método de


integração visto anteriormente, e com estes valores podemos calcular o valor

aproximado de I = J J f(x, y)dydx.


b d

a e

5.8.2 Regra 113 de Simpson generalizada


Usando a regra 1 /3 de Simpson, desenvolvida anteriormente nesta se­
ção, temos:

J F(x)dx
b
h
I= = 3 [F(x0 )+4(F(x 1 )+ F(x 3 )+ ...+ F(x 0_1 }}+2(F(x2)+ F(x 4 )+ ... +
a

+ F(x0_2 }}+ F(x 0 )]


onde

F(xJ ::: J f(x i , y) dy


d

i = O, ... , n

Os (n 1) valores de F(xi) podem ser calculados por qualquer método


+

de integração visto anteriormente, e com estes valores podemos calcular

o valor aproximado de I = J J f(x, y) dy dx.


b d

a e
Integração Numérica 225

Exemplo 5.10
1 .0 0 .5
Calcule o valor da integral dupla J J
ln(x + y ) dy dx.
0. 1 0 . 1
Seja F(x) = J ln(x + y ) dy, então 1 = J F(x) dx.
M 1�

0. 1 0. 1
Para calcular 1 = J F(x) dx, usaremos a regra dos trapézios generalizada
1 .0

0. 1
para h = 0.3 com os pontos x0 = 0.1, x1 = 0.4, x2 = 0.7 e x3 = 1 .0.
Temos:
1 .0
o3
I = J F(x)dx :: -'- [F(x 0 ) + 2(F(x 1 ) + F(x 2 )) + F(x 3 )]
0. 1 2

Para calcular F(xi) i = O, ... , 3, usamos a regra dos trapézios generalizada


com h = 0.1 e y0 = 0.1, y1 = 0.2, y2 = 0.3, y3 = 0.4, y4 = 0.5.
Assim temos:
0.5
�(x0 ) = F(O.l) = f ln(O.l + y) dy ::
0. 1
O.l
= [ln(O.l + y 0 ) + 2(ln(0.1 + y 1 ) + ln(0.1 + y 2 ) + ln(O.l + y 3 )) +
2
+ ln(O.l + y 4 )] = - 0.3874
0.5
F(x 1 ) = F(0.4) = f ln(0.4 + y ) dy ::
0. 1
O.l
= [ln(0.4 + y 0 ) + 2(ln(0.4 + y 1 ) + ln(0.4 + y 2 ) + ln(0.4 + y 3 )) +
2
+ ln(0.4 + y 4 ) ] = - 0.1490
0.5
F(x 2 ) = F(0.7) = f ln(0.7 + y) dy ::
0. 1
O.l
= [ln(0.7 + y 0 ) + 2(ln(0.7 + y 1 ) + ln(0.7 + y 2 ) + ln(0.7 + y 3 )) +
2
+ ln(0.7 + y 4 )] = - 0.0030
0.5
F(x 3 ) = F(l .O) = f ln(l .O + y) dy ::
0. 1
O. l
= [ln(l.0 + y 0 ) + 2(ln( l .0 + y 1 ) + ln(l .0 + y 2 ) + ln(l .O + y 3 )) +
+ ln(l.0 + y 4 )] = 0.1032
2
226 Cálculo Numérico

Assim, temos:

0.3
= [-0.3874 + 2(-0.1490 - 0.0030) + 0.1032] -0.0882
=
2
Portanto,
1 .0 0.5
J J ln(x + y) dy dx = -0.0882.
0.1 0. 1

Exemplo 5.11
1
J J cos(x + y) dy dx.
2
Calcule o valor da integral dupla
o o
1 2
Seja F(x) = J cos(x + y)dy, então I = J F(x) dx.
o o

Para calcular 1 = J F(x) dx, usaremos a regra 1 / 3 de Simpson genera-


2

lizada para h = 0.5 com x 0 = O, x 1 = 0.5, x 2 = 1 .0 e x 3 = 1 .5 e x 4 = 2.0.


Temos:

1 = F(x) dx :: -·- [ F(x0 )+ 4(F(x1 )+ F(x 3 )) + 2(F(x 2 )) + F(x 4 )]


J
2
5 o
o 3
1
Para o cálculo de F(xJ = J cos(x i + y) dy i = O, . . , 5, usaremos a regra 1 /3
.

o
de Simpson generalizada com h = 0.2 e os pontos y 3 = 0.6, y 4 = 0.8 e y 5 = 1 .0,
y0 = O, y = 0.2, y 2 = 0.4, conforme segue:
1

o2
F(x 0 ) = F(O) = J cos(O + y) dy = -·-[cos(O) + 4(cos(0.2) + cos(0.6)) +
1

o 3
+ 2(cos(0.4) + cos(0.8)) + cos(l.O)] = 0.7998
1
o2
F(x 1 ) = F(0.5) J cos(0.5 + y) dy = -·- [cos(0.5) + 4(cos(0.7) + cos(l.1)) +
=

o 3
+ 2(cos(0.9) + cos(l.3)) + cos(l .5)] = 0.5067
Integração Numérica 227

f
1
o2
F(x2 ) = F(l .O) = cos(l .O + y) d y = -·- [cos(l .O) + 4(cos(l .2) + cos(l .6)) +
o 3

+ 2(cos(l .4) + cos(l .8)) + cos( 2.0)] = 0.0229

f
1
02
F(x3 ) = F(l .5) = cos(l .5 + y) d y = -·- [cos(l .5) + 4(cos(l .7) + cos(2. l)) +
o 3

+ 2(cos(l .9) + cos(2.3)) + cos(2.5)] = - 0.3496

f
1
02
F(x4 ) = F(2.0) = cos( 2 .0 + y) d y = -·- [co s( 2.0 ) + 4(cos(2. 2 ) + cos(2.6)) +
o 3

+ 2(cos(2.4) + cos(2.8)) + cos(3.0)] = - 0.7031

Assim, ternos:

1 = F(x) dx =
2
J o º 5 [F(x0 ) + 4(F(x ) + F(x
--

3
1 3 )) + 2(F(x 2 )) + F(x 4 )] =
o

05
= · [(0.7998) + 4(0.5067 - 0.3496) + 2(0.0229) + (-0.7031)] = - 0.1285
3
Portanto,
21
J J cos(x + y)dy dx = -0.1285
00

5.9 Trabalhando com o Software Numérico


No Software Numérico, o usuário deve selecionar o Módulo Integração Numé­
rica e selecionar a opção Entrar com Pontos seguido de Tabela de Pontos ou
Entrar com Função especificando o valor do espaçamento h ou ainda com a
opção de fornecer o número de pontos desejado no processo de integração.
Exemplo 5.12
Considere o seguinte problema:
Um automóvel percorre urna distância entre duas cidades em 10 horas.
Com auxílio de um marcador de velocidade, ternos a velocidade do automó­
vel a cada hora, conforme dados a seguir:

Tempo (horas) o 1 2 3 4 5 6 7 8 9 10
Vel. (km/hora) o 50.4 53.7 67.5 74.3 84.6 92. 1 98.3 100 105 110

Qual a distância percorrida pelo automóvel?


228 Cálculo Numérico

Solução:
10
O cálculo da distância percorrida é J f(x) dx.
o

Usamos o Software Numérico, selecionamos a opção Integração Numé-


rica, digitamos os dados fornecidos, seguido da opção Regra 1/3 de Simpson,
conforme Figura 5.9 a, b e c.

10

0.0000 0.0000
1.0000 50.4000
2.0000
3.0000
4.. 0000

a) b)

Regra 1 13 de Sillpson

Regra 318 de Sillpson

e) d)

Assim, temos o valor da distância percorrida pelo automóvel, dada por:


10
J f(x) dx = 791 .1333, conforme ilustrado na Figura 5.9 d).
o

Figura 5.9
Integração Numérica 229

Exercícios
1. Usando a regra dos trapézios generalizada, calcule o valor aproximado
da J (cos (x) + x) dx, usando 6 pontos e um limitante superior para o erro.
6

2. Calcule o valor aproximado da J 3 e-x dx usando:


1

o
a)
Regra dos trapézios generalizada, com h = 1 /5.
b)
Regra 1 /3 de Simpson generalizada, com h = 1 /6.
c)
Regra 3/8 de Simpson generalizada, com h = 1 /6.
d)
Usando o Software Numérico, calcule a integral acima e compare com
os resultados obtidos.
Para cada caso, calcule um limitante superior para o erro.
2
3. Calcule o valor aproximado da J e 2 x dx usando:
1

a) Regra dos trapézios generalizada, com 4 subintervalos.


b) Regra 1 /3 de Simpson generalizada, com 6 subintervalos.
c) Regra 3/8 de Simpson generalizada, com 9 subintervalos.
d)Usando o Software Numérico, calcule a integral acima e compare com
os resultados obtidos.
Para cada caso, calcule um limitante superior para o erro.
4. Considere as margens de um rio e tome como referência de medida uma
linha reta a uma das margens desse rio. Foram medidas distâncias, em me­
tros, entre esta linha reta e as duas margens, de 10 em 10 metros, a partir
do ponto tomado como origem. Tais dados foram registrados na tabela a
seguir. Determine o valor aproximado da área do rio no intervalo [10, 30],
usando seus conhecimentos de cálculo numérico e com o auxílio do
Software Numérico.

X o 10 20 30 50
y(M1) 50.8 86.2 136 72.8 51
y(M2) 113.6 144.5 185 171 .2 95.3

5. Determine o menor número de subintervalos em que podemos dividir o


1
intervalo [O, 1 ] para obter o valor da J 4 e- 2 x dx, pela regra 3/8 de Simpson
o
generalizada, com erro � 0.01.
230 Cálculo Numérico

J (ln (x + 8) - 2x) dx
5.6
6. Calcule o valor aproximado da usando a regra 1 /3
1.6
de Simpson generalizada com 6 subintervalos e um limitante superior
para o erro.
7. Calcule o valor aproximado da integral do exercício 6) usando a regra
3/8 de Simpson generalizada com 10 pontos e um limitante superior
para o erro.
8. Determine o menor número de subintervalos em que podemos dividir
1.8
o intervalo [0.2; 1 .8 ] para calcular J (x2 + sen(x)+ 3) dx com um erro
0.2
0.0001 usando:
a) Regra 1 /3 de Simpson generalizada.
b) Regra 3/8 de Simpson generalizada.
c) Usando o Software Numérico, calcule a integral acima e compare com
os resultados obtidos.
9. Considere a função f(x) dada através da seguinte tabela:

X o 1 2 3 4 5 6
f(x) 0.21 0.32 0.42 0.51 0.82 0.91 1 .12

6
a) Usando a regra dos trapézios generalizada, calcule o valor da J f(x) dx.
o

b) Usando a regra 1/3 de Simpson generalizada, calcule o valor da J f(x) dx.


6

c) Usando a regra 3/8 de Simpson generalizada, calcule o valor da J f(x) dx.


6

d) Usando o Software Numérico, calcule a integral acima, e compare


com os resultados obtidos.

10. Determinar o menor número de subintervalos em que podemos dividir

o intervalo [0.1; 0.7] para calcular I J (e -3x + 7x) dx usando a regra dos
0.7
=

0.1

calcule o valor aproximado de I.


trapézios com um erro menor que ou igual a 0.001 . Para esta divisão,
Integração Numérica 231

2
11. Calcule J cos(x)
--

(1 + x)
.
dx usando 6 submtervalos:
1

a) Regra dos trapézios generalizada.


b) Regra 1 /3 de Simpson generalizada.
c) Regra 3/8 de Simpson generalizada.
12. Determine o menor número de subintervalos em que podemos dividir o
J JX d x com um erro � 0.001 usando:
4

intervalo [1,4] para calcular


1
a) Regra dos trapézios generalizada.
b) Regra 1 /3 de Simpson generalizada.
c) Regra 3/8 de Simpson generalizada.
d) Usando o Software Numérico, calcule a integral acima e compare com
os resultados obtidos.
13. Considere a função f(x) = ln(x) + x2 tabelada nos pontos:

X 0.1 0.2 0.33 0.5


f(x) -2.2926 -1 .5694 -1 .1140 -0.4431

0.5
Usando a regra 1 /3 de Simpson e a regra dos trapézios, calcule J f(x) dx.
0.1

J J e<x+y) dy dx usando:
1 0.5
14. Calcule
o o

a) Regra dos trapézios generalizada com h = 0.2.


b) Regra 1 /3 de Simpson generalizada com h = 0.1 .
15. Usando a fórmula de quadratura de Gauss:

a) Calcular I = J cos 2 (x) dx com 2 pontos e 3 pontos.


1

· o

b) Calcular I = J cos 2 (x) dx pela regra 1 /3 de Simpson com 3 pontos e


1

o
5 pontos.
c) Comparar os resultados obtidos em a) e b). Comente.
Capítulo 6

Solução Numérica de Equações


Diferenciais Ordinárias

6.1 Introdução
A importância do estudo das equações diferenciais ordinárias justifica-se
pelo fato de ocorrerem com muita freqüência na modelagem matemática de
diferentes situações práticas, principalmente nas áreas de engenharia, física,
biologia, economia, biomedicina etc.
Métodos numéricos para resolução dessas equações diferenciais ordiná­
rias são fundamentais, pois com freqüência soluções exatas não são possíveis,
ou muito difícil de serem determinadas.
Tipicamente, problemas que envolvem uma variável e suas derivadas
levam a uma equação diferencial ordinária.
A seguir, apresentamos um problema simplificado para ilustrar uma
equação diferencial ordinária.
Exemplo 6.1
Sabemos que, em condições normais, uma população de uma certa localidade
cresce a uma taxa proporcional ao número de indivíduos. Sabendo-se que após
dois anos a população é o dobro da população inicial e após três anos é de vinte
mil indivíduos, qual é o número de indivíduos da população dessa localidade?

Solução:
Consideremos:
N = N(t) � número de indivíduos no instante (t)
N0 = N(to) � número de indivíduos no instante (to)
Como a taxa de variação da população é proporcional ao número de indiví­
duos, temos a seguinte equação:
dN
= KN
dt
onde K é uma constante de proporcionalidade.
233
234 Cálculo Numérico

Essa equação obtida é uma equação diferencial ordinária, pois rela­


ciona a variável N (número de indivíduos) e sua derivada com relação à
variável t (tempo).
A solução analítica ou exata desta equação é dada por:
N(t) = c eK1
Pois, se derivarmos esta expressão em relação à variável (t), obtemos:
d N(t) d N(t)
= K e eK' � = K N(t)
dt dt
Note que, para todo c E ':R, a função N(t) é uma solução da equação dife­
rencial obtida, isto é, esta equação apresenta infinitas soluções. Entretanto,
com os dados do problema, o parâmetro "c" pode ser unicamente determinado.
Cálculo de (e):
Considere o instante inicial to = O, quando o número de indivíduos é N(O) = N0•
Logo, temos que c = N0 e, portanto,
N(t) = N0e K '

Como a população dobra em 2 anos, segue que, para t = 2, N(2) = 2N0 e, subs­
Cálculo de (K):

tituindo na expressão obtida, segue que:


K = 0.3466
Assim, podemos escrever:
N(t) = N o e o.3466 1

Cálculo da população inicial (N0):


Sabemos que para t = 3 anos, o tamanho da população da cidade é de N =
20.000 indivíduos.
Logo, podemos concluir que a população inicial da referida cidade é
N0 = 7070 indivíduos
Desta maneira, a variável N, a qual depende da variável t, que resolve
o problema para todo t, é dada por:
N(t) = 7070 e°" 3466 1 t ;?: O
Obviamente, esta solução tem sentido somente para valores pequenos
de t, uma vez que, com o crescimento indiscriminado da população, as "condi­
ções normais" devem ser alteradas.
Solução Numérica de Equações Diferenciais Ordinárias 235

Nem sempre podemos ter uma solução analítica para uma equação
diferencial, como no exemplo dado. Entretanto, devemos saber avaliar

tante ti, i = 1, 2, ...


(mesmo que aproximadamente) N(ti), isto é, o tamanho da população no ins­

Definição 6.1
Uma equação diferencial ordinária de ordem n é uma equação da se­
guinte forma:
F (x, y (x), y ' (x), y " (x), ... , y (nl (x) ) = O
onde estão envolvidas a função incógnita y = y(x) e suas derivadas até ordem n,
sendo x a variável independente.
A notação yG> representa a derivada de ordem j da função incógnita y em
dj y .
d xl
relação à variável independente x e pode também ser representada por

Exemplo 6.2

--
As equações a seguir podem ser escritas conforme a Definição 6.1 e são equações
, . onde y ' =
. . dy d2 y
1 erencia1s ord"manas,
d"f , y" = 2 .
dx dx
dy

( )2
a) = 3x - 1 � ordem 1
dx

b) e Y ____I.2 + 2 _r = 1 � ordem 2
d2 d
dx dx

c) y ' + 3 y " + 6y = sen (x) � ordem 2

Quando a função incógnita depende de mais de uma variável e rela­


ciona suas derivadas parciais, temos uma equação diferencial a derivadas
parciais, ou uma equação diferencial parcial.

Exemplo 6.3

-
As equações seguintes são equações diferenciais parciais:

= o � a função incógnita y = y(t, x)


ª2 y 2
4ª y
a x2
a)
a t2

b) Uxx + Uy y = O � a funçao . , . U = U , e Uxx = azu , U = azu


- InCOgnita (X y)
a xz yy a yz -- -­
236 Cálculo Numérico

6.2 Problema de valor inicial (PVI)


Vimos, no Exemplo 6.1, que quando a taxa de variação da função incógnita y
em relação à variável x é proporcional a y, temos a seguinte equação diferencial:
dy
= ky
dx

y = y ( x ) = c e kx
Vimos também que a solução para esta equação diferencial é dada por:

onde c é uma constante arbitrária.


Assim, a equação diferencial dada apresenta infinitas soluções, uma
vez que para cada valor escolhido para a constante c temos uma solução,
conforme ilustrado na Figura 6.1 .

y(x)

-------- -
X

Figu ra 6.1

Se considerarmos que a solução deve passar por um determinado ponto,


isto é, se considerarmos que em x = Xo o valor de y(x0) = y0, temos para o pro­
blema proposto uma única solução.

�o
Tal solução é obtida quando usamos a solução da equação diferencial
no ponto x = Xo e obtemos o valor para constante c, isto é, c = .
e ><o

Assim, a única solução para a equação diferencial é dada por:


y ( x ) = Yo é(x - xo l
Solução Numérica de Equações Diferenciais Ordinárias 237

Definição 6.2
Um Problema de Valor Inicial (PVI) de primeira ordem consiste de uma equa­
ção diferencial y ' = f (x, y), x � x 0 , e uma condição inicial y(Xo) = y0, onde y0 é
um valor dado, chamado de valor inicial.

{
Neste caso, podemos escrever o PVI da seguinte forma:
y ' = f (x, y )
(1)
y (x o ) = Yo
Uma condição que garante a existência e a unicidade da solução do PVI
é dada pelo seguinte teorema:
Teorema 6.1

finitos e - oo < y < + oo Se existe uma constante L tal que para todo x e [ a , b ] e
Considere uma função real f(x, y) contínua no intervalo a $ x $ b, com a e b
.

paratodopar(y,y1 ) tivermos: i f(x , y) - f(x , y1 ) 1 $ L 1 y - y1 l <CondiçãodeLipschitz


então existe uma única função y = y(x) satisfazendo as seguintes condições:
a) y(x) é contínua e diferenciável para todo x e [ a, b ]
b ) y ' = f (x , y (x)) para x e [ a, b ]
c) y(Xo) = yo, onde Yo é um valor conhecido.
Em outras palavras, a solução do PVI é uma função y = y(x) contínua e dife­
renciável que satisfaz a equação diferencial y ' = f (x , y) e passa pelo ponto (Xo, y0).
Prova: Sotomayor, J. D.
Em muitas aplicações, podemos ter também um sistema de m-equações
simultâneas de primeira ordem em m funções incógnitas y1, y2, ... , Yrn em re­
lação a uma variável independente x.

mo ponto Xo, temos um problema de valor inicial para um sistema de equações


Se cada uma dessas funções incógnitas satisfizer a condição inicial no mes­
diferenciais de primeira ordem, o qual pode ser escrito da seguinte maneira:
dy l
- = f1 (x, Yu Y2 1 ... , Ym )
dx
dy 2
-- = f2 (x, Yu Y2 1 ... , Ym )
dx

dy m
= Í,,, ( X , Yu Y2 1 ··· 1 Ym )
dx
com valores iniciais:
Y1 (X o ) = ªu Y2 ( Xo ) = ª2 1 ... , Ym ( X o ) = a m
onde f11 f2, ... , frn são funções dadas e a11 a2, ... , Um são valores dados.
238 Cálculo Numérico

Podemos escrever em notação matricial:

f2 (x, y u Y 2 1 ··· 1 Ym ) CX.2


Y= F(x, Y) = Y0 =

f.n (x,
Y u Y2 1 ... , Ym )

{ !:
Assim, o sistema pode ser escrito da seguinte maneira:
= F (x, Y)
Y(x0 ) = Yo
Exemplo 6.4
Considere o sistema de equações de primeira ordem dado por:
d yl
=
d x Y2
d y2
= 4yi
dx
com valores iniciais:
y 1 (0) = l, y 2 ( 0 ) = 2 , para x e [ a, b ]

[ l [
Podemos escrever o sistema dado na forma matricial conforme segue:

Y =
y 1 (x)
Y2 (x)
F (x, Y) = j [1 ]
f1 (x, y 1 1 Y2 )
f2 (x, Y1 1 Y2 )
e Y0 =
2
onde f1 (x, y 1 , y 2 ) = Y2 e f2 (x, Y1 1 Y2 ) = 4yi .
Podemos, ainda, na modelagem matemática de um problema, obter
uma equação diferencial de ordem m, isto é,

com valores iniciais:

sendo a função f e os valores au a 2 , ... , a m conhecidos.


Solução Numérica de Equações Diferenciais Ordinárias 239

Ou, ainda, na notação alternativa:


y <rnl = f(x, y, y ', y " , . .. , y <rn-l l ) (2)
com valores iniciais:
y(x o ) = CX.1 1 y '(x o ) = CX.z , y " (x o ) = CX. 3 , ... , y < rn-l l (x o ) = cx. rn
Podemos escrever a Equação 2 como um sistema de equaçf>es diferenciais de
primeira ordem com valores iniciais, pela definição das seguintes novas variáveis:
y1 (x) = y (x)
Yz ( X ) = Y 11 (x) = y '(x)
y3 (x) = y '2 (x) = y " (x)

Yrn (x) = y 'rn-1 (x) = y< rn-l l( x)


Com estas mudanças de variáveis, podemos escrever o seguinte sistema
de equações diferenciais ordinárias de primeira ordem, o qual é equivalente
à equação diferencial de ordem m dada em (2):
Y 'i = Yz
Y 12 = Y3

Y 1 rn-1 = Yrn

e as condições iniciais:
Y1 ( X o ) = CX.1 , Yz (X o ) = CX.z , y 3 ( Xo ) = CX. 3 , ..., yrn (Xo ) = CX. m
Usando a notação matricial, temos:
{ !� = F(x, Y)
Y (x0 ) = Y0
em que,
y2 CX.1
y3 CX.2
F (x, Y) = e Y0 =

f {x, Y1 1 Y2 1 ... , Yrn ) CX.rn


240 Cálculo Numérico

Exemplo 6.5
Considere a seguinte equação diferencial de quarta ordem dada por:
y( 4 l = y( 3 > - 2 y + 3x
com valores iniciais:
y (x0 ) = 1, y'(x0 ) = 2, y " (x0) = 3, y "'(x0) = 4
Considere as seguintes variáveis:

Y1 = Y
Y2 = Y 'i = y '
y3 = y '2 = y "
Y4 = y '3 = y "'
Podemos escrever a equação diferencial de 4i ordem equivalente ao se-
guinte sistema de primeira ordem:
y '1 = Y2
Y '2 = Y3
y '3 = Y 4
y '4 = y4 - 2 y1 + 3x

com as seguintes condições iniciais:

f ::
ou, ainda, em notação matricial:

= F (x, Y)

Y (x0 ) = Y0
em que

Y2 Y1 1
Y3 Y2 2
F (x, Y) = Y= Yo =
Y4 Y3 3
y4 - 2y 1 + 3 x Y4 4
Solução Numérica de Equações Diferenciais Ordinárias 241

Os métodos numéricos apresentados neste capítulo para problemas de valo­


res iniciais definidos em (1) podem também ser estendidos para o cálculo da solu­
ção aproximada de problemas de valores iniciais com m equações simultâneas
de primeira ordem e, portanto, para equações diferenciais de ordem superior.
6.3 Discretização
Resolver numericamente um PVI consiste em calcular aproximações para
y y(x) em pontos discretos x0, x1 1 x2, , xN de um intervalo [a, b] .
= •.•

Para discretizar o intervalo [ a, b ], tomamos N subintervalos (N � 1 ) e


fazemos Xn Xo + nh n O 1, 2, ... , N com x0 = a e xN b, sendo h (xN - x0 )
= = , = = .
N
A este conjunto de pontos Xo, x1, x21 , xN denominamos rede ou malha de
•••

pontos discretos e calculamos aproximações para y(x) nestes pontos, isto é,


determinamos Yn tal que Yn = y(x n ) n O l, ... , N.
= ,

A partir de um ponto inicial dado y(Xo) y0 (valor inicial), calculamos passo


=

a passo, nos pontos x 1 x0 + h, x 2 x0 + 2 h, x3 x0 + 3 h, , x n x0 + nh,


= = = ... =

soluções aproximadas Yn para a solução exata y(xn) n O l, 2, ... , N, conforme


= ,

ilustrado na Figura 6.2.

y (x)
Solução exata

YN

Yn-1

Y1
Yo

X
o

Figura 6.2

O erro local, cometido nas aproximações em cada ponto, é a diferença


entre o valor exato da equação diferencial e o valor numérico aproximado em
cada um dos pontos do intervalo [a, b ], isto é:
e(x n ) y(x n ) - Y n , n 1, ... , N
= =
242 Cálculo Numérico

6.4 Métodos baseados em série de Taylor


Revisamos brevemente o desenvolvimento de uma função em série de Taylor
nas vizinhanças de um ponto x"' como segue:
Considere f(x) uma função contínua, e supomos que todas as suas
derivadas existam no ponto x Xn . A sêrie de Taylor nas vizinhanças do
=

ponto Xn é escrita como:

f(x) :: f(x n ) + (x -x n ) f ( l l (x n ) + (x -x n ) f< 2 >(x n ) + . . . + . . . (x - x n )P f( P > (x n ) + . . .


2
1! 2! p!
(l
onde f( Pl (xn ) = d P f(xn ) é a p-ésima derivada de f em xn­
dxP
Se truncarmos o desenvolvimento da série de Ta ylor, no p-ésimo
termo, teremos:

Considere o ponto x = x n+i = x n + h.


Assim, temos que:
f ( Xn+1 ) =- f( xn ) + h f(l) (xn ) + h2 f( 2 ) (xn ) + ... + hP f(p) ( xn )
l! 2! P!
O erro de truncamento na série de Taylor é dado por:

Estimativa para o erro de truncamento


Considerando que a função f(x) possui a (p + 1)-ésima derivada contínua no
intervalo de discretização [a, b] e seja M = máx { J f<p+1 > (x) J, x E [a, b] }.
Assim, uma estimativa para o erro de truncamento é dada por:
1
E = M hp+ ---

(p + 1)!

{
Retomemos ao PVI:
y ' = f(x, y)
y (x o ) = Yo
Solução Numérica de Equações Diferenciais Ordinárias 243

Supondo que a solução y(x) do PVI possui suas derivadas contínuas


para todo x E [ a, b] , então podemos desenvolvê-la em série de Taylor em
tomo do ponto Xw isto é:
h2 hP (p)
Y ( Xn + h) - Y ( X n ) + h Y '( Xn ) + 2! Y " (Xn ) + .. + p! Y ( Xn ) + ...

Se truncarmos a série no termo de ordem p, ternos:


2
y (x n + h) = y (x n ) + hy '(x n ) + h y " (x n ) + ... + hP y < P l (x n )
2! p!
Neste caso o erro de truncamento é da ordem de hP+1 e denota-se ü(h<P+1 l).
y� y�
Usando a notação y n = y(x n ), y� = f(x n y n ), y� = � f(x n ' y n ) etc., e,
I
dx
considerando que x n+i x n + h, podemos calcular aproximações para y(x)
=

a partir de:

= + h ' + h 2 " + ... + hP y ( � ) � Método de Taylor de ordem p


Yn + Yn Y 2! Y n
1 n - -
p!
As expressões das derivadas de y no método de Taylor podem ser desen­
volvidas, usando a seguinte notação:
y' = f(x, y)
y " = � y' = � f(x, y) = fx (x, y)+ fy (x, y)y '
dx dx
onde fx é a derivada de f com relação à variável x e fy é a derivada de f com
relação à y.
Assim, podemos escrever no ponto (xw Yn):
Y� = f(x n , Yn )
Y � = fx ( Xn , Yn ) + fy ( Xn , Yn ) Y� = fx (Xn , Yn ) + fy (x n , Yn )f( X n , Yn )
Ou, ainda, numa notação mais simplificada:

De maneira análoga, usando regras de derivação, podemos obter:


244 Cálculo Numérico

Observe que o cálculo das derivadas de ordem superior de y toma-se


cada vez mais complicado, com exceção dos casos em que a função f tenha
uma expressão bem simples, o que toma o método de Taylor de ordens su­
periores inaceitável computacionalmente.

6.4. 1 Método de Euler


O método de Euler é um método de Taylor de ordem 1
Considere o PVI:
{y' = f(x,y)
y ( xo ) = Yo
A maneira mais simples para calcular a solução aproximada do PVI foi
introduzida por Euler por volta de 1768.
Considere, no desenvolvimento da série de Taylor para p = 1 :
Yn + l = Yn +h y 'n
e como y 'n = f(x n , Y n ), podemos escrever:
Yn+I = Yn + hf(x n , Yn ) n = O, l, 2, ... � Método de Euler

O Método de Euler consiste em, no primeiro passo, calcular y1 = y0 +


hf(Xo, y0), que é a aproximação Y1 da solução exata y(x1) no ponto X1 .
No segundo passo, y 2 = y 1 + hf(x1 , y 1 ), que é a aproximação Y2 da
solução exata y(x2) no ponto x2 . E, assim, sucessivamente, para cada um dos
pontos Xn n = O, 1, 2, , N de um intervalo [a, b].
...

Podemos interpretar graficamente o método de Euler aproximando a


função y(x) pela reta tangente no ponto dado (Xo, y(Xo)) da seguinte forma:
(y - yo ) = m(x - x0 )
onde m = y '(x0 ) = f(x0 , y0 ) é o coeficiente angular dessa reta.
Assim, podemos escrever:

Tomando y = y 1 e x = x 1, temos que:

Ou, ainda,
Solução Numérica de Equações Diferenciais Ordinárias 245

Assim, o ponto (x11 y1) pertence a esta reta tangente, e o mesmo raciocí­
nio para os demais pontos discretizados, conforme ilustramos na Figura 6.3.

y(x) y(x)

y(x 1 ) = Yt ------------------------

Yo

X
o

Figura 6.3

O erro local cometido é a diferença entre o valor exato e o valor aproxi­


mado em cada ponto (xw Yn) n O l, ... , N.
= ,

Erro de truncamento
Estimativa para o erro
No método de Euler, truncamos a série de Taylor em p = 1, uma estimativa
para o erro é dada por:
M h2
E= --

2!
onde
M máx { I y "(x) j , x E [a, b] }
=

Método de passo simples


O método de Euler, Y n +i Y n + hf (x n , Y n ), é chamado de método de passo
=

simples, pois, para calcular Yn +t usamos apenas o valor de Yn ·


Métodos que são descritos por fórmulas do tipo
Yn+l = <l>( Xn , Yn )
são chamados de métodos de passo simples.
246 Cálculo Numérico

Outros métodos podem ser desenvolvidos de forma que:


Yn+l = cl> (x n , Yn 1 Yn-1 ' Yn-2 1 )
. •.

São chamados de métodos de passo múltiplo.


Algoritmo 6.1
Considere o PVI:
{ y' = f(x, y)
y(x o ) = Yo

1. Declare:
a) Função f(x, y).
b) Condições iniciais: y(Xo) = yo).

(b - ª) .
c) Intervalo [a, b], onde a = Xo·
d) Número de subintervalos N e calcule: h =

N
2. Para n = O, ... , (N - 1), faça:
Calcule:
início
= Xn +h
Yn+l = Yn + hf(x n ' Y n )
Xn+l

fim

Exemplo 6.6
Usando o método de Euler, calcule a solução aproximada do seguinte PVI e

{
uma estimativa para o erro:
y' = f(x, y) = y -x
y (x0 ) = y(O) = 2

para x e [a, b] = [O, 1] e N = 4 subintervalos.


Temos:
Solução Numérica de Equações Diferenciais Ordinárias 247

Logo, o intervalo [O, 1] é discretizado por:

a = Xo

Do método de Euler:
Yn+l = Yn + h f ( Xn , Yn )
Cálculo de Y1
Para n·= O, temos a condição inicial y(x0 ) = y(O) = 2, então:
Y1 = Yo + h f ( x o , Yo ) = Yo + i [ Yo - Xo ] = 2.5000
Cálculo de Y2
Para n = l, temos:

Cálculo de y3
Para n = 2, temos:
YJ = Y2 + hf (x2 , Y2 ) = Y 2 + H Y2 - X2 ] = 3.7031
Cálculo de y4
Para n = 3, temos:

Estimativa para o erro

h2
E= T máx { J y " (x) J , x E [0, 11 }

Como a solução analítica y(x) do PVI é dada por y(x) = ex + x+ l, temos


que máx { J y " (x) J , x E [0, 1] } = 2.7182, uma vez que y " (x) = ex é uma função
crescente em módulo.
Portanto, temos:

E = (l / 4 )2 (2.7182) = 0.0849
2
Na Tabela 6.1 são apresentados os valores exatos, a partir de y(x) = ex + x + 1
(exata), a solução numérica encontrada pelo método de Euler e com os res­
pectivos erros locais, nos pontos x0 = O, x 1 = t, x 2 = i, X 3 = t, x0 = 1 .
248 Cálculo Numérico

Tabela dos valores exatos e aproximados do PVI


Método de Euler

n Xt Sol. �_ i(x,J Sol. aprox. (y.) Erro = y(x.,) - y.


o o 2.0 2.0 O.O

1 1 /4 2 .5340 2.5000 0 .0340

2 2/4 3 . 1487 1
1
3 .0625 0 .0862

3 3 /4 3 . 8670
1 3 . 7031 0 . 1 639

4 1 4.7183 4.-±414 0 .2769

Tabela 6.1

Observe que a estimativa para o erro é "boa" no início do processo (é um


limitante superior no ponto x 1 ), mas piora quando os pontos afastam-se do
ponto inicial.

6.4.2 Método de Taylor de ordem p = 2


Usando o desenvolvimento da função solução y(x) do PVI, em série de Taylor,
é possível construir métodos de ordem maior do que p = 1. Neste caso, o único
inconveniente é o cálculo de derivadas, que para p 2 ainda é viável.=

Truncando o desenvolvimento da série de Taylor em p = 2, temos:

Yn+l = Yn + h Yn' + 2! Y n
h2 li

onde

Exemplo 6.4
Usando o método de Série de Taylor, de ordem p = 2, calcule a solução do

{
PVI definido por:
y ' = f( X , y) = X - y + 2
y (x0 ) = y(O) = 2
Para x E [a, b] = [O, 1] e usando uma discretização em 5 subinter­
valos, temos:

h = (b - a) = 0 2 .

N
Solução Numérica de Equações Diferenciais Ordinárias 249

Logo,
Método de Taylor de ordem 2:
h2
Yn+1 = Yn + hy� + 2! y� n = O, l, 2, ... , 5
onde
y� = f(x n , Yn ) = X n -y n + 2
y�1 = fx (X n , Yn )+fy ( X n , Yn ) Y� = 1 +(-l)(X n -y n + 2) = -X n +y n - l
Cálculo de Y1
Para n = O, temos a condição inicial y(Xo) = y(O) 2, então:=

h21 li

Y1 = Yo + h Yo + -2! Y
o

Assim,
h2 (-x
Y1 = yo + h(xo - Yo + 2) + -
2 0 + y0 - 1) = 2.0200
Cálculo de Y2
Para n = 1, temos:
h2
Y2 = y1 + h (x1 - Y1 + 2) + - (-x1 + y1 - 1 ) = 2.0724
2
Cálculo de y3
Para n = 2, temos:
h2 (-x
y3 = y2 + h(x2 - Y2 + 2) + -
2 2 + y2 - 1 ) = 2.1514
Cálculo de Y4
Para n = 3, temos:

Cálculo de y5
Para n = 4, temos:
h2
Ys = y4 + h(x4 - y4 + 2) + -( -x4 + y4 - 1 ) = 2.3707
2
250 Cálculo Numérico

Exemplo 6.5
Usando o método de Euler de ordem p = 1, calcule a solução do PVI do
exemplo anterior.
Método de Euler: y n+i = y n + hf(x n , y n )
Assim, temos:

Cálculo de Y1
Para n = O, temos a condição inicial y(Xo) y(O) 2, então:
= =

logo,
Y1 = yo + h(xo -y0 +2) = 2.0000
Cálculo de y2
Para n 1, temos:
=

Cálculo de y3
Para n 2, temos:
=

Cálculo de y4
Para n 3, temos:
=

Cálculo de Ys
Para n 4, temos:
=

Na Tabela 6.2 são apresentados os valores exatos a partir de y(x) e-x + x + 1,


=

a solução numérica encontrada com o método de Euler (método de Taylor


de ordem 1), o método de Taylor de ordem 2 e com os respectivos erros, nos
pontos de discretização.
Solução Numérica d e Equações Diferenciais Ordinárias 251

Tabela dos valores exatos e aproximados do PVI


Métodos de Taylor de ordens p = 1ep = 2

Sol. ap rox. Sol. aprox. Erro Erro


N X1 Sol. exata (p = 1) (p = 2) :?; (p = t) (p = 2)
o o 2.0 2.0 2.0 o.o o.o

1 0.2 2.0187 2.0 2 .0200 0.0187 0.0013

2 0.4 2 . 0703 2 . 0400 2.0724 0 . 0303 0 . 0021

3 0.6 2 . 1 488 2 . 1120 2.1514 0 . 0368 0. 0026

4 0.8 2.2493 2 . 2096 2.2521 0 . 0397 0.0028

5 1.0 2 .3679 2 . 3277 2 .3707 0 . 0402 0 .0028

Tabela 6.2

Observações
a) Os dados da Tabela 6.2 foram calculados usando quatro casas deci­
mais e arredondamento.
aproximada usando os método de Taylor de ordem p = 1 e p 2.
b) O erro absoluto calculado se refere à diferença entre a solução exata e a
=

c) Conforme a expectativa, o método de Taylor de ordem 2 apresentou


resultados melhores.

6.5 Métodos de Runge-Kutta


Dentre os métodos numéricos para calcular a solução aproximada de proble­
mas de valor inicial (PVI) mais utilizados, pela sua simplicidade e precisão,
estão os chamados métodos de Runge-Kutta, ou melhor, métodos de Carl
David Tolmé Runge (1856-1927) e Wilhelm Kutta (1867-1944).
Esses métodos apresentam precisão equivalente aos métodos de Taylor,
porém, com a vantagem de evitar o cálculo de derivadas de ordem elevada
que além, da complexidade analítica, exigem um significativo esforço compu­
tacional. Ao contrário disto, os métodos de Runge-Kutta são baseados na
avaliação da função f(x, y) em alguns pontos.

{
Considere o PVI:
y '(x) f (x, y)
y(x o ) Y o
=

Definição 6.3
Para o PVI dado, o método geral de Runge-Kutta de R-estágios é definido por:
Y n+l Y n + h cl>R (x n , Y n 1 h)
=
252 Cálculo Numérico

onde
<l>R (x n , Y n 1 h) = c1k1 + c2 k 2 + ... +c Rk R
C1 + c2 + ...+ CR = l
com
k 1 = f(x n , Yn )
k 2 = f(x n + ha 2 , y n + h(b21k1 )) ª2 = h21
k 3 = f(x n + ha 3 , y n + h (b31k1 + b32 k 2 )) a 3 = b 31 + b 32
k 4 = f(x n + ha 4 , y n + h(b 41k1 + b42 k 2 + b 43 k 3 )) a 4 = b4 1 + b 42 + b43

Note que a aproximação Yn+ t é calculada a partir de Yn e uma "média"


nição de um método de Runge-Kutta podem ser escolhidos de modo que o
de valores da função f(x, y) em vários pontos. Os parâmetros c,, a,, brs na defi­
método tenha a mesma ordem de um método de Taylor, o que define a ordem
dos métodos de Runge-Kutta.

6.5.1 Método de Runge-Kutta de ordem 1


O método de Runge-Kutta mais simples é 1-estágio, isto é, R = 1. Neste caso,
não há parâmetros a determinar e o método é dado por:
y n+l = y n + hku com ki = f(x n y n )
o que coincide com o método de Euler, isto é, o método de Taylor de ordem 1,
visto anteriormente neste capítulo.

6.5.2 Método de Runge-Kutta de ordem 2


O método de Runge-Kutta 2-estágios é dado por:
Yn+l = Yn + h(c 1 k 1 + c 2 k 2 )
com
C1 + c 2 = 1
k1 = f(x n , Y n )
k2 = f(x n + ha 2 1 Y n + h(b 21 k 1 )) a 2 = h 21
Solução Numérica de Equações Diferenciais Ordinárias 253

volver k2 por Taylor, em torno do ponto (X.V y0) até ordem 2, de modo a expressar
Para determinar os parâmetros c11 c21 a2 {b21 é igual a a2), podemos desen­
o método na seguinte forma:
Y n+l = Y n + ( ... ) h + ( ... )h +O(h )
2 3

e, então, igualar os coeficientes de h e h2 com o método de Taylor de ordem 2,


o qual foi dado na Seção 6.4.2.

Assim, substituindo:
C 1 = f(x 0 , y0 ) k l = f(x 0 , 2y 0 ), k2 = f(x 0 , y 0 )+fx (X 0 , y0 )(ha 2 )+
+fy (x 0 , y0 )(ha 2k 1 )+ O(h ) na fórmula de Runge-Kutta 2-está­
gios, segue:

e igualando-se os coeficientes de h e h2, do método de Taylor de or­


dem 2, temos:
c 1 +c 2 = 1
1
C2 a 2 = 2

O sistema não-linear obtido possui infinitas soluções, as quais forne­


cem métodos de Runge-Kutta de ordem 2. Um método bastante conhecido

o seguinte método:
2 2
.!.
decorre da solução particular do sistema: c 1 = , c 2 = .!. e a 2 = 1, o que fornece

onde
k 1 = f(x 0 , y 0 )
k2 = f(X0 + h, Y n + h k1 )
o qual é conhecido como método de Euler aperfeiçoado.
254 Cálculo Numérico

Na Figura 6.4 podemos interpretar graficamente o método de Euler


aperfeiçoado conforme segue:

y(x)

Y�+1 = Yn+ h y�
Yn+l

Yn

Figura 6.4

Na Figura 6.4 temos:

y� = f(xn , yn ). Usando o método de Euler, calcula-se Y�+t yn + h y�.


a) A reta r1 passa pelo ponto B (x"' Yn) e possui coeficiente angular
=

b) A reta r2 passa oelo ponto A ( x n +t , y �+t ) e possui coeficiente angular


=

f(xn + h, Yn + h Y� ) = f(xn+1 1 Y�+1 ) ·


=

c) A reta r0 passa pelo ponto A e sua inclinação é a média das inclina­


ções das retas r1 e rz .
d) A reta r passa pelo ponto B e é paralela a reta r0•
e) O valor Yn+ t obtido pelo método de Euler aperfeiçoado, é uma apro­
ximação para a solução y(x) no ponto Xn+t ·
Solução Numérica de Equações Diferenciais Ordinárias 255

Algoritmo 6.2
Considere o PVI:
{ y '(x) = f (x, y)
y (x o ) = Yo
1. Declare:
a) Função f(x,y).
b) Condições iniciais: y(xo) = Yo·
c) Intervalo [ a, b ], onde a = Xo ·
d) Número de subintervalos N e
- a)
Calcule h = (b .
N
2. Para n = O, l, 2, 3, .. . , (N - 1)
Calcule:
início
Xn + l = Xn + h
k l = f (x n , Y n )
k2 = f (x n+l l Y n + hk1 )
h
Y n + l = Yn + (k1 + k 2 )
Z
fim
Exemplo 6.9

{
Usando o método de Euler aperfeiçoado, calcule a solução do PVI definido por:
y ' = f (x, y ) = X - y + 2
x e [a, b] = [ O , 1 ] eN=5
y (x0 ) = y (O) = 2
Temos:
(b - a) = 0.2
h=
N
Logo,
Cálculo de Y1
Para n = O, temos a condição inicial y(Xo) = y(O) = 2, então:
k1 = f (x0 , y0 ) � k 1 = (x 0 - Yo + 2) = O
k2 = f (x 0 + h, Yo + hk 1 ) � k2 = X0 + h - y0 + 2 = 0.2
256 Cálculo Numérico

Do método de Euler aperfeiçoado temos:


h
Yn + l = Yn + 2 ( k l + k 2 )
Portanto,

Y1 = Yo + 2 ( k1 + kz )= 2.0200
h
-

Para n = l,
Cálculo de Y2

k 1 = f(x 1 1 y 1 ) � k 1 = (x 1 - y 1 + 2) = 0.18
k2 = f(x 1 + h, y 1 + h k 1 ) � k2 = x 1 + h - (y 1 + h k1 ) + 2 = 0.344
h
Y 2 = Y1 + 2 (k1 + k2 ) = 2.0724
-

Cálculo de y3
Para n = 2,
k 1 = f (x 2 , Y 2 ) � k1 = (x 2 - y 2 + 2) = 0.3276
k2 = f (x 2 + h, y 2 + h k1 ) � k 2 = x 2 + h - (y 2 + h k 1 ) + 2 = 0.4621
y3 = Y 2 + - (k 1 + k2 ) = 2.1514
h
2
Cálculo de y4
Para n 3,
=

k1 = f( X3 , y 3 ) � k 1 = (X 3 - y 3 + 2) = 0.4486
kz = f(X3 + h, y 3 + h k1 ) � k2 = X 3 + h - (y 3 + h k 1 ) + 2 = 0.5589
Y 4 = Y 3 + 2 (k1 + k2 ) = 2.2521
h

Cálculo de ys
Para n 4,
=

k 1 = f(X4 , y4 ) � k 1 = (X4 - Y 4 + 2) = 0.5479


kz = f (X4 + h, y 4 + hk1 ) � k 2 = X4 + h - (y 4 + h k 1 ) + 2 = 0.6383
Ys = Y 4 + -2 (k1 + k2 ) = 2.3707
h
Solução Numérica de Equações Diferenciais Ordinárias 257

Podemos, ainda, considerar outra solução do sistema não-linear, tam­


bém bastante conhecida, dada por:

.!.
c 1 = 0, c 2 = 1 e a 2 = , que nos fornece o método:
2
h h
Yn+1 = Yn + hf(x n + - , Yn + -k ), com k1 = f(xw Yn)
2 2 i
o qual é conhecido por método de Euler modificado.
Algoritmo 6.3

{
Considere o PVI:
y ' (x) = f (x, y)
y (x o ) = Y o
1. Declare:
a) Função f(x, y).
b) Condições iniciais: y(x 0) = y0 •
c) Intervalo [a, b], onde a= Xo·
d) Número de subintervalos N e

Calcule h =
(b - a)
.
N
2. Para n = O, l, 2, 3, .. . , (N - 1),
Calcule:
início

h h
Yn + l = Yn + hf(X n + 2 ' Yn + 2 k1 )
fim

Exemplo 6.10

{
Usando o método de Euler modificado, calcule a solução do PVI definido por:
y' = f ( X , y) = X - y + 2
x e [a,b] = [0,1] e h = 0.2
y (x0 ) = y (O) = 2
258 Cálculo Numérico

Temos:

N
(b-a ) =
5
h
Logo:
Cálculo de y1
Para n = O, temos a condição inicial y(Xo) = y(O) = 2, então:

h h
Y1 = Yo + hf(xo + -2 , Yo + -2 k 1 )

h h
Y1 = Y o + hf(x o + -2 , Yo + -2 ( Xo - Yo + 2)

Cálculo de y2
Para n = 1, temos:

[
Y2 = Y1 + h <x 1 + � y 1 + 2) = 2.0760
- ]
Cálculo de y3
Para n = 2, temos:

h h
Y 3 = Y 2 + hf (X 2 + -2 Y 2 + -2 k 1 )
/

[
Y 3 = y 2 + h X 2 + � - (y 2 + � k1 ) + 2 = 2.1543]
Solução Numérica de Equações Diferenciais Ordinárias 259

Cálculo de y4
Para n 3, temos:
=

Y4 [
= y 3 + h X3 + � - (y3 + � ki ) + 2] = 2.2545

Cálculo de Ys
Para n = 4, temos:

Ys [
= Y 4 + h X4 + � - (y + � ki ) + 2] = 2.3727
4

Na Tabela 6.3, são apresentados os valores exatos, a partir de


y(x) e-x + x + 1, com a solução numérica encontrada pelos métodos de Euler,
=

Euler aperfeiçoado, modificado e método de Taylor de ordem 2, nos pontos


de discretização.

Tabela dos valores exatos e aproximados do PVI


Métodos de Taylor p = 1ep = 2, Euler modificado e Euler aperfeiçoado

Euler Euler Taylor


n x, Sol. exata El,der modificado a p erfeiçoado ordem 2

o o 2.0 2.0 2.0 o.o 2.0

1 0.2 2.0187 2.0 2 . 0200 2 . 0200 2 . 0200

2 0.4 2.0703 2.0400 2 .0760 2 .0724 2 .0724

3 0.6 2 . 1 488 2. 1 1 20 2 . 1 543 2.1514 2.1514

4 0.8 2 . 2493 2.2096 2 . 2545 2.2521 2.2521

5 1.0 2.3679 2.3277 2 . 3 72 7 2 . 3 707 2 . 3707

Tabela 6.3
260 Cálculo Numérico

Observações
a) Os dados da tabela foram calculados usando quatro casas decimais
e arredondamento.
b) Os valores aproximados obtidos pelos métodos de Euler modificado,
aperfeiçoado e pelo método de Taylor de ordem 2 são de mesma

Euler (Taylor de ordem 1 ) como esperado.


ordem de grandeza e superiores às aproximações pelo método de

6.5.3 Método de Runge-Kutta de ordem 3


O método de Runge-Kutta 3-estágios é dado por:
Y n +t = Yn + h( c, k , + c 2 k 2 + c3k3 )
onde,

k i = f(x n , Y n )
k 2 = f(x n + ha 2 , Yn + h (b 21 k 1 )) ª2 = b21
k 3 = f(x n + ha 3 , Y n + h (b 3 1 k 1 + b32 k 2 )) a 3 = b31 + b 32
Para determinar os parâmetros: Cv C2, C3, a2 (b2 1 é igual a a2), a3, b3 1 e b321
podemos desenvolver k2 e k3 em série de Taylor, em tomo do ponto (xrv Yn)
até ordem 3, de modo a expressar o método na seguinte forma:
+ ( ... ) h + ( ... ) h 2 + ( . . . ) h + O ( h 4 )
3
Y n +l = Yn ·

e, então, igualar os coeficientes de h, h2 e h3 com o método de Taylor de


ordem 3. Este procedimento nos fornece o sistema não-linear:
C 1 + C2 + C3 = 1

1
=
6

O sistema anterior tem infinitas soluções, as quais definem o método


de Runge-Kutta de ordem 3. Diante disto, o leitor poderia se perguntar se
seria possível um método de Runge-Kutta 3-estágios de ordem 4, isto é, se o
desenvolvimento de Taylor do método de Runge-Kutta 3-estágios pudesse
Solução Numérica de Equações Diferenciais Ordinárias 261

coincidir com os coeficientes do método de Taylor de 4ll ordem. Infelizmente,


a menos de funções f(x, y) particulares, em geral, isto não é possível.
Uma solução para o sistema não-linear anterior que define o método de
Runge-Kutta de ordem 3 é dada por:

C1 = - C2 = - C3 =
2 3 4
-

9 9 9

ª 2 = - b21 = -
1 1
2 2
a3 =
3 b = a b = O b = -3
3 3 - 32 32
4 1
-

4
o que nos fornece o seguinte método:
h
Y n+I
=
Yn + - (2k 1 + 3k 2 + 4k 3 )
9
com
k 1 = f(x 0 , y 0 }
1 1
k 2 = f(x 0 + - h, Yn + -hk 1 }
2 2
3 3
k 3 = f(x 0 + - h, Yn + - hk 2 }
4 4
o qual é um método de Runge-Kutta de ordem 3.
Outras fórmulas de Runge-Kutta de ordem 3 podem ser obtidas por
soluções alternativas do sistema não-linear anterior.
Algoritmo 6.4
Considere o PVI:
{ y '(x) = f (x , y)
y (xo ) = Yo
1 . Declare:
a) Função f(x,y).
b) Condições iniciais: y(Xo) = Yo ·
c) Intervalo [a, b], onde a = Xo ·

a) .
d) Número de subintervalos N e
(b -

Calcule h =

N
262 Cálculo Numérico

2. Para n = O, 1, 2, 3, ... , (N - 1)
Calcule:
início
Xn +l = Xn + h
k 1 = f (x n , Y n }
1 1
k 2 = f (x n + - h, Yn + - hk 1 }
2 2
3 3
k 3 = f (x n + - h, Yn + - hk 2 }
4 4

fim
Exemplo 6.11
Usando o método de Runge-Kutta de ordem 3, calcule a solução do PVI

{
definido por:

X E [ a , b] = [ O , 1 ] e h = 0.2
y' = f(x, y) = X - y + 2
y ( x0 ) = y ( O ) = 2

Temos:
(b - a)
N= =5
h
Logo,
Cálculo de Y1
Para n = O, temos a condição inicial y(x0} = y(O) = 2, então:
k 1 = f (x 0 , y 0 ) � k 1 = (x 0 - y 0 + 2) = O
1 1
k 2 = f(x 0 + - h, Y o + -hk 1 ) = 0.1
2 2
3 3
k 3 = f(x 0 + - h, Yo + - hk 2 ) = 0.1350
4 4
Portanto, temos:
h
Y1 = Y o + ( 2k1 + 3k 2 + 4k 3 ) = 2.0187
-

9
Solução Numérica de Equações Diferenciais Ordinárias 263

Cálculo de Y2
Para n = 1, temos:

k 2 = f(x1 + 2 h , y1 + "2 h k 1 )
1 1 = 0.2632

k 3 = f(x1 + 4 h , y1 + 4" h k 2)
3 3 = 0.2918

Portanto, temos que:

Cálculo de y3
Para n 2, temos:
=

k i = f (x 2 , Y2 ) � k 1 = (x 2 - y 2 + 2) = 0.3298
k 2 = f (x 2 + 2 h , y1 + "2 h k 1 ) = 0.3968
1 1

k 3 = f (x 2 + - h , y1 + - h k 2 ) = 0.4203
3 3
4 4
Portanto, temos que:

Cálculo de y4
Para n 3, temos:
=

k1 = f (x 3 , y3 ) � k1 = (x 3 - y 3 + 2) = 0.4513

k 2 = f (x 3 + - h , y1 + - h k 1 ) = 0.4836
1 1
2 2
k 3 f (X3 + 43 h, Y1 + 43 h k 2) 0.5288
= =

Portanto, temos que:

y3 +
h ( 2k1 + 3k + 4k )
Y4 = -

9 2 3 2.2480
=
264 Cálculo Numérico

Cálculo de ys
Para n 4, temos:
=

k 1 = f (x 4 + 21 h , y 1 + "21 hk 1 ) = 0.5692

k 3 = f (x4 + -3 h, y1 + -3 h k2) = 0.6166


4 4

Portanto, temos que:

Na Tabela 6.4, são apresentados os valores exatos, a partir de


y(x) e-x + x + 1, a solução numérica encontrada pelos métodos de Euler
=

(ordem 1), Euler modificado (ordem 2), Taylor de ordem 2 e Runge-Kutta


de ordem 3, nos pontos de discretização.

Tabela dos valores exatos e aproximados do PVI

Taylor
Métodos de Taylor p = 2, Euler, Euler modificado e Runge-Kutta p = 3

�ificado
Euler Runge-Kutta
º : ; · X1 Sol. exa� Euler ordem 2 de ordem 3
o o 2.0 2.0 2.0 2.0 2.0

1 0.2 2.0187 2.0 2 . 0200 2 . 0200 2 . 0 1 88

2 0.4 2 .0703 2 . 0400 2 . 0 760 2 . 0 724 2 .0702

3 0.6 2 . 1488 2 . 1 1 20 2 . 1 543 2.1514 2 . 1487

4 0.8 2 . 2493 2 . 2096 2 . 2545 2.2521 2.2480

5 1.0 2 .3679 2 . 3277 2 .3727 2 . 3 70 7 2.3653

Tabela 6.4

Observações
a) Os dados da tabela foram calculados usando quatro casas decimais
e arredondamentos.
b) A melhor precisão dos resultados obtida foi com o método de Runge­
Kutta de ordem 3, como esperado, pois o erro é da ordem de h4, en­
quanto para os demais possuem erros de ordem h2 e h3 •
Solução Numérica de Equações Diferenciais Ordinárias 265

6.5.4 Método de Runge-Kutta de ordem 4


O método de Runge-Kutta 4-estágios é dado por:
Y n +I = Y n + h( c 1 k 1 + c 2 k 2 + c3k3 + c 4 k 4 )
onde
C 1 + C2 + C 3 + C4 = 1
k 1 = f (x n , y n )
k 2 = f (x n + ha 2 1 Yn + h (b 21 k 1 )) a 2 = b 21
k 3 = f (x n + ha 3 , Yn + h (b 31 k 1 + b32 k 2 )) a 3 = b31 + b32
k4 = f (x n + ha 4 , Yn + h (b 41 k 1 + b 42 k 2 + b43 k 3 )) a 4 = b 41 + b 42 + b43
Para determinar os parâmetros cv C21 C3, C4, a21 a3, a4, b21 , b31 1 b32, b41 1 b421
b43, podemos desenvolver k2, k3 e � por Taylor, em tomo do ponto (xnr Yn) até
ordem 4, de modo a expressar o método na seguinte forma:
) h + (···) h
= Yn + ( 2 + ( .. . ) h 3 ... ) h 4 + O h 5 )
Y n +l • • • +( (
e, então, igualar os coeficientes de h, h2, h3 e h4 com o método de Taylor de
ordem 4, o que nos leva a um sistema não-linear com 13 incógnitas (os parâme­
tros anteriores). Uma solução particular para o sistema não linear é dada por:
1 2 2
C1 = - C2 = - C3 = - C4 = -
1
6 6 6 6
1 1
ª 2 = - b21 = -
2 2
a 3 = - b 31 = o b32 = -
1 1
2 2
a 4 = 1 b 41 = o b 42 = o b43 = 1
o que nos fornece o seguinte método:

= Yn
h
Y n +l + - (k 1 + 2k 2 + 2k3 + k 4 )
6
k 1 = f(x n , Yn )
1 1
k 2 = f(x n + -h, Yn + -k i )
2 2
1 1
k 3 = f(x n + -h, Yn + -k 2 )
2 2
k 4 = f(x n + h, y n + k 3 )
conhecido como método de Runge-Kutta de ordem 4.
266 Cálculo Numérico

Analogamente aos métodos anteriores de Runge-Kutta, também podemos


construir novas fórmulas por soluções alternativas para o sistema não-linear.
Algoritmo 6.5

{
Considere o PVI:
y ' (x) = f (x, y)
y (x o ) = Y o
1. Declare:
a) Função f(x, y).
b) Condições iniciais: y(xo) = Yo ·
c) Intervalo [a, b], onde a = Xo ·
d) Número de subintervalos N e

Calcule h (b - a)
=
.
N

2. Para n = O, 1, 2, 3, . .. , (N - 1)
Calcule:

início
X n+l = X n + h
ki = f (x n , Y n )
k2 = f (x n + -, y n + - k1 )
h h
2 2
k3 = f (x n + -2 , Y n + -2 k i )
1 h

k4 = f (x n + h, Y n + hk3 )
h
Y n+l = Y n + - ( k1 + 2k2 + 2 k3 + k 4 )
6
fim

Exemplo 6.12
Usando o método de Runge-Kutta de ordem 4, calcule a solução do PVI

{
dado por:
y ' = f(x, y) = x - y + 2
para x e [ a , b ] = [ O , 1] e h =
O .2
y (x 0 ) = y (O) = 2
Solução Numérica de Equações Diferenciais Ordinárias 267

Temos:

Logo,
Cálculo de y1
Para n O temos a condição inicial y(Xo) y(O)
= , = = 2, então:
k 1 f (x 0 , y0 ) � k 1 (x 0 - Y o + 2) O
= = =

k2 X0 +
= � - ( y0 + � k1 ) + 2 = 0.1
h h
k3 X0 + - - (y 0 + - k2 ) + 2 0.0900
= =
2 2
k 4 X o + h - (y + hk3 ) + 2 0.1820
= o =

Portanto, temos que:

Cálculo de Y2
Para n = 1, temos:
k 1 f (x 1 , y1 ) � k 1
= = (x 1 - y 1 + 2) = 0.1812

k2 X 1 +
= � - ( y1 + � kl ) + 2 = 0.2631
h h
k3 X 1 + - - ( Y1 - - k2 ) + 2 0.2549
= =
2 2
k 4 X 1 + h - (yl + h k3 ) + 2 0.3302
= =

Assim,

Cálculo de y3
Para n 2, temos:
=
268 Cálculo Numérico

Para n 3, calculamos respectivamente k11 k2, k3 e kt e temos:


Cálculo de y4
=

Para n 4, calculando k1, k21 k3 e kt temos:


Cálculo de y5
=

Na Tabela 6.5, são apresentados os valores exatos, a partir de y(x) e-x + =

x + 1, a solução numérica encontrada pelos métodos de Euler modificado


(ordem 2), Taylor de ordem 2, Runge-Kutta de ordem 3 e Runge-Kutta de
ordem 4, nos pontos de discretização.

Tabela dos valores exatos e aproximados do PVI


Métodos de Euler modificado, Taylor p = 2, Runge-Kutta p = 3 e Runge-Kutta p = 4

Euler Taylor Runge-Kutta Runge-Kutta


n Xi Sol. exata modificado p=2 p=3 p=4
o o 2.0 2.0 2.0 2.0 2.0

1 0.2 2.0187 2 . 0200 2 . 0200 2.0187 2.0187

2 0.4 2 .0703 2 . 0724 2 . 0724 2 .0702 2 . 0703

3 0.6 2 . 1 488 2.1514 2.1514 2 . 1 487 2 . 1488

4 0.8 2 .2493 2 . 2521 2 .2521 2 . 2480 2 . 2493

5 1 .0 2. 3679 2 .3707 2 .3707 2 . 3653 2 .3679

Observações
a) Os dados da tabela foram calculados usando quatro casas decimais
com arredondamento.
b) A melhor precisão dos resultados obtida foi com o método de Runge­
Kutta de ordem 4 como esperado, pois o erro é da ordem de h5•

Comentários finais
Como pudemos observar, as fórmulas de Runge-Kutta têm a vantagem de
não necessitarem das derivadas de ordem superior da função f(x, y),
como nos métodos de Taylor, porém, obtendo as mesmas ordens dos erros
de truncamento.
Solução Numérica de Equações Diferenciais Ordinárias 269

6.6 Métodos previsor-corretor


É possível desenvolver outros métodos para resolver equações diferen­
ciais ordinárias baseados no teorema fundamental do cálculo, que pode ser
escrito por:

J
Xn+l

y '(x)dx = y(x n+1 ) - y(xn )

Como y '(x) = f(x, y(x)), temos que:

y(xn+1 ) = y(xn ) + J f(x, y(x))dx


Xn+l

(3)

A integral definida na equação anterior pode ser aproximada por dife­


rentes métodos numéricos e, portanto, podemos ter diferentes métodos de
resolver a equação diferencial y ' = f(x, y). Por exemplo, se usarmos a regra
dos retângulos (isto é, a função é considerada constante no intervalo de
integração), COm h = Xn+1-Xn :

J
Xn+l

f(x, y(x))dx = h f(x n , y(x n ))

e, como antes, com a notação para a aproximação de y(xn) dada por y n = y(x n ),
segue de (3):

que consiste exatamente no método de Euler, o qual foi deduzido anterior­


mente usando o teorema de Taylor truncado na derivada de primeira ordem.
Outros métodos de integração numérica podem ser utilizados para resol­
ver a integral contida em (3).
A seguir, apresentamos o método dos trapézios, estudado no Capítulo 5,
Seção 5.4, o qual apresenta uma aproximação melhor do que o método de
Euler, porém, introduz uma dificuldade, em que uma equação não-linear
deve ser resolvida.

6.6.1 Método dos trapézios


Para resolver a integral em (3), podemos usar a regra dos trapézios dada por:

J
Xn+l
h
f(x, y(x))dx = [f(x n , y(x n )) + f(x n+l l y(x n+I ))]
Xn
Z
270 Cálculo Numérico

Desta forma, usando a aproximação y n = y(xn ), segue de (3):

(4)

O procedimento para calcular Yn+ i dado por (4) é chamado método dos
trapézios. Note, entretanto, que em (4), diferentemente dos métodos ante­
riores (veja método de Euler, por exemplo), tem a incógnita y de forma
n+l '

implícita (em ambos os lados da equação em (4)). Por isto, tal método é cha­
mado método implícito.
Os métodos anteriores, nos quais Yn+I é calculado explicitamente, são
chamados métodos explícitos. Um método explícito pode ser usado para obter
uma aproximação inicial de Yn+v como vemos a seguir, e é chamado previsor.

{
Para deixar mais claro ao leitor, consideramos o PVI:
y ' (x) = f (x, y)
y (x o ) = Y o
e queremos determinar a solução da equação diferencial y(x) numericamen­
te, isto é, aproximações para y(x1), y(x2), , y(xN), as quais são denotadas por
•••

Y v Yi- . . , yN, respectivamente, e xv x2, , xN são os pontos de discretização.


. •••

Cálculo de Y1
Para determinar a aproximação para y(x1) pelo método dos trapézios, faze­
mos n 1 em (4) e temos,
=

(5)

Assim, o valor de y1 não é fornecido explicitamente e temos uma equa­


ção, em geral, não-linear, para ser resolvida, na qual y1 é a incógnita.
Sabemos, do Capítulo 3, Seção 3.3.2, que uma equação na forma: x <j>(x)
=

pode ser resolvida pelo método das aproximações sucessivas xk+I <j>(xk), o qual
=

produz uma seqüência xv Xi, . . convergente para uma solução X: da equação,


.

se Xo, dado inicialmente, for uma boa aproximação para x e 1 <j> '(x) l < l, para
todo X = X (uma vizinhança de x).
A Equação (5) pode ser escrita por (aqui y1 é a incógnita):

com
Solução Numérica de Equações Diferenciais Ordinárias 271

Podemos obter uma aproximação inicial para y11 a qual denotamos por
y� º l , usando um método explícito (previsor), por exemplo, o método de Euler.
Previsor:

y�ºl = y 0 + hf(x0 , y0 ) � primeira aproximação para Y1


e, então, usar o método das aproximações sucessivas, y �k+l l = <l> (y �k> ) .
Corretor:

para determmar y11 caso a sequencia y 1(O) , y (1 l ) , y (1 2 ) . convergir.


..
A •
.
. .

Um critério de parada deve ser definido, por exemplo:

ent-ao, y1 = y1(k+l) , sendo E > o, uma to1 erancia fixa,


1 (k + l ) y (k) 1
Se Y 1 k- ) l
I I
A •
< ê
y� + t
definida previamente.
Em geral, poucas iterações são necessárias para o corretor (que consiste
no método das aproximações sucessivas) e, se a convergência não for obtida,
o valor de h deve ser diminuído.
Esta última observação decorre do fato de que, para que haja conver­
gência, devemos ter 1 <l> '(y) 1 < 1 1 numa vizinhança da raiz da equação, ou seja:

l <1>'<Y > I =
h af(x, Y > < 1
2 ay
e, portanto,

Assim, se a derivada da função f com relação a y for contínua, podemos


escolher h suficientemente pequeno para que o método das aproximações
sucessivas (isto é, o corretor) convirja.
Cálculo de Y2
Depois de calcular o valor de y11 repetimos o procedimento anterior para
determinar Y2·
Previsor:

y �ºl = y1 + hf(x 1 1 yi ) � primeira aproximação para Y2


272 Cálculo Numérico

Corretor:

(k+l) - h
Y2 - Y1 + - [f(X o , Yo ) + f(X u Y (k)
2 )]
2
, 1 y �k+l) - y �k) 1
ate que: 1 Y (2k+I l 1 < e .
Assim, sucessivamente, calculamos y3, y.., . , YN· . .

Algoritmo 6.6

{
Considere o PVI:
y ' (x) = f (x, y)
y (x o ) = Y o
1. Declare:
a) Função f(x,y).
b) Condições iniciais: y(Xo) = Yo·

d) E > O, uma tolerância fixa.


c) Intervalo [a, b], onde a = Xo ·

e) Número de subintervalos N e
(b - a)
Calcule h = .
N

2. Para n = O, ... , N-1, faça:


previsão: y �l1 = y n + hf(x n ' y n )
correção: Para k = O, l, ... faça
(k+l) h (k) .
Yn+l - Yn + [f(X n , Yn ) + f(X n+1 1 Yn+l )] ate, que.
- -

2
1 Y<k+1i
n+l y<kn > I < E
_

1 y�_:i1 > 1
+
F aça: y = y k l
n+l n +l .

Exemplo 6.13
Usando o método dos trapézios, com o método de Euler como previsor, cal­

{
cule a solução do PVI definido por:
y ' = - 2y + l
x E [ a, b ] = [O, l] e N = S
y(O) = 1
Solução Numérica de Equações Diferenciais Ordinárias 273

Use no critério de parada do método das aproximações sucessivas E = 0.01.


A solução exata para este problema é dada por: y(x) = ..! e-2x + ..! .
2 2
O valor de é dado por h
h _ ( b - a ) = 0.2
N
af(x,y) 2 e, portanto, a escolha de satis az a proprie a e:
Note que - h f d d
ay
h < 2 / = 1. 1 �; 1
Método dos trapézios

Observação
Neste caso, a equação anterior é bem simples, pois f(x, y) é uma função linear
na variável y, de modo que o método dos trapézios se reduz a:
1
2
Yn+ l = Yn + - h [ (-2yn +l} + (-2Yn+l + l}]
Portanto, é fácil determinar exatamente Yn+ l · Para ilustrar o método pre­
ditor-corretor, fazemos a previsão e as correções.
Para Xo O, é dado o valor inicial: y(O) Yo 1.
= = =

Cálculo d e y1 � aproximação para y(0.2)


Previsão (Euler):
y �º > = y0 + hf(x0 , y0 ) = 1 + 0.2(-2 + 1) = 0.8000 (aproximação inicial para y1 }
Correção (Trapézios):

y �1 > = y 0 + h [f(x0 , Y o ) + f(x 1 1 y �º»1 = 1 + 0.2 [ (-2(1)+ l }+ (-2(0.8)+ l}] = 0.8400


2 2
()
1 I
(O)
1
Erro: 1 y -( l y 1 - 0.0476 > 0.01
l I Y1 1
2
y �2> = y0 + h [f(x0 , y0 )+ f(x 1 1 y �1 » ] = 1 + 0 · [(-2(1)+ l}+ (-2.(0.8400)+ l}] = 0.8320
2 2
Y(i2 ) � "'((1 1 ) 1
I Y12 1
Erro: 1 = 0 . 0096 < 0.01
274 Cálculo Numérico

Portanto,
y1 = 0.8320

Solução exata: y(0.2) = 0.8352


1
O valor exato de y 1 =- = 0.8333, obtido na equação linear que define
1 .2
Yn+1 e tomando Yo = 1.
Cálculo de y2 � aproximação para y(0.4)
Previsão (Euler):

y�º> = y 1 +hf(x 1 , y 1 ) = 0.8320 + 0.2(-2(0.8320) + 1) = 0.6992 (aproximação ini­


cial para y2 )
Correção (Trapézios):

y �1 > = y 1 + h [f(x 1 1 y 1 )+ f(x 2 , y�º> )]= 0.8320+ · [(-2(0.8320) +1)+ (-2(0.6992)+


02
2 2
+ 1)] = 0.7258

Erro: 1 y 2 -O y 2 1 0.0366 > 0.01


(l) <º>
l
1 Y2 1

y �2> = y 1 + h [f(x 1 1 y 1 )+ f(x 2 , y�1 > )]= 0.8320+ · [(-2(0.8320)+1)+ (-2(0.7258)+


02
2 2
+ 1)] = 0.7264

(2 ) ��(2! ) 1 = 0.0008 < 0.01


Erro: 1 y 2
1 Y2 1
Portanto,
y2 = 0.7264

Solução exata: y(0.4) = 0.7247)


Cálculo de y3 � aproximação para y(0.6)
Previsão (Euler):
y �º > = y 2 + hf(x 2 1 y 2 ) = 0.7264 + 0.2(-2(0.7264) + 1) = 0.6358 (aproximação
inicial para y3 )
Solução Numérica de Equações Diferenciais Ordinárias 275

Correção (Trapézios):
h 02
y �1 ) = y 2 + [f(x 2 1 y 2 )+ f(x 3 , y�º) )] = 0.7264 + · [(-2(0.7264)+ 1) + (-2(0.6358) +
2 2
+ 1)] = 0.6540
(1 ) - y3
Erro ·. 1 Y3 1 ) (0) 1 = O . 0278 > O . 01
IY� I

h 02
y�2) = y 2 + [f(x 2 1 y 2 )+ f(x3 , y�1 ) )] = 0.7264 + · [(-2(0.7264) + 1) + (-2(0.6540) +
2 2
+ 1)] = 0.6503
2
I Y � ) - y�l ) 1 -
Erro.. - 0.0057 < 0.01
I Y3< 2 l 1
Portanto,
y3 = 0.6 503

Solução exata: y(0.6) 0.6506. =

--t
Cálculo de y4 aproximação para y(0.8)
Previsão (Euler):
y�º l = y 3 + hf(x 3 , y 3 ) = 0.6503 + 0.2(-2(0.6503) + 1) = 0.5902 --t
aproximação
inicial para y4
Correção (Trapézios):
h 02
y � l = y 3 + [f(x 3 , y3 )+ f(x 4 , y�l )] = 0.6503 + · [(-2(0.6503) + 1) + (-2(0.5902) +
2 2
+ 1)] = 0.6022

(l) (O)
Erro: 1 Y 4 -( t )Y 4 1 0.0 1 98 > 0.01
1 Y4 1
h º2
y �l = y 3 + [f(x3 , y 3 )+ f(x4 , y � )] = 0.6503 + · [(-2(0.6503)+ 1) + (-2(0.6022) +
2 2
+ 1)] = 0.5998
2
y( ) - y( ) l
Erro: 1 4 2 4 1 = 0.0040 < 0.01
1 Y <4 l 1
276 Cálculo Numérico

Portanto,
y4 = 0.5998

Solução exata: y(0.8) = 0.6009


Cálculo de y5 � aproximação para y(l.O)
Previsão (Euler):
y�º ) = y 4 + hf(x 4 , y 4 ) = 0.5998 +0.2(-2(0.5998) + 1) = 0.5575 � aproximação
inicial para y5
Correção (Trapézios):
h º2
y �l ) = y 4 + (f(X4 , y 4 )+ f(X5 , y�ºl )]= 0.5998+ · ( (-2(0.5998)+ 1)+ (-2(0.5575)+
2 2
+ 1)] = 0.5683
1 ( 1 ) - y s(O) 1
Ys
Erro .
· l ) = O 0190 > O . 01
I Y� 1 .
02
y�2> = y4 + h [f(x4 , y 4 )+ f(x5 , y�1 ) )] = 0.5998+ · [(-2(0.5998)+1)+ (-2(0.5683)+
2 2
+ 1)] = 0.5662
2
( ) - y( ) 1
Erro .· 1 Ys 2 ) s 1 = O 0037 < O . 01
I Y� 1 .
Portanto,
y5 = 0.5662

Solução exata: y(l) = 0.5677


Método de Simpson
O intervalo de integração usado na obtenção de (3) foi [x n , X n+1 ], que en­
volve apenas os pontos de discretização Xn e Xn+ v para os quais desejamos
o valor de y. Porém, podemos usar outros intervalos com mais pontos onde
desejamos o valor de y, como, por exemplo, o intervalo [x n , X n+2 ], com Xn+l
em seu interior. Pelo teorema fundamental do cálculo, temos que:
y(x n+2 ) = y(x n ) + J f(x, y(x))dx
Xn+2

(6)

e podemos usar a fórmula _.!:_ de Simpson para aproximar a integral anterior:


3
J
Xn+2
h
f(x, y(x))dx = 3 [f(x n , y(x n )) + 4f(x n+1 ' y(x n+1 )) + f(x n+2 , y(x n+2 ))]
Xn
Solução Numérica de Equações Diferenciais Ordinárias 277

Analogamente ao método dos trapézios, usando a aproximação y n = y ( x n ),


segue, de (6):
h
Y n+2 = Y n + [f(x n Y n ) + 4f(xn+ t Y n+l ) + f( X n+2 ' Y n+2 )] (7)
3 / /

O procedimento para calcular yn+2 dado por (7) é chamado método de


Simpson. Note, de (7), que o método de Simpson é implícito, uma vez que
Yn+2 a ser calculado no lado esquerdo de (7) aparece também implicitamente
no lado direito da equação.
Além disso, para o cálculo de Yn+2 são necessários o conhecimento de Yn

O método dos trapézios é um método implícito de 1-passo, pois depende


e Yn+ t· Por isto, este método é chamado método implícito de 2-passos .

apenas de Yn · Agora, para aplicar o método de Simpson, é necessário que se

valor y1 pode ser calculado por um método explícito de boa precisão.


tenha calculado dois valores iniciais: y0 e y1 . O valor y0 é dado do problema, e o

Com estes valores, usamos (7) para calcular y2 :


h
Y2 = Y o + - [f(x o , Yo ) + 4f(xu Y1 ) + f(x2 1 Y2 )]
3
em que apenas y2 é incógnita e, portanto, uma equação não-linear, em geral,
a ser resolvida.
Assim, como no método dos trapézios, usamos o método das aproxima­
ções sucessivas para a obtenção de y2, com um método explícito (Previsor)
para obter uma primeira aproximação, por exemplo, o método de Euler:
Previsão (Euler): y�ºl = Y1 + hf(xu y i )
h
(Simpson): y�t J = Y o +
3 [f(x o , Y o )
Correção + 4f(x1 , Y1 ) + f(x2 1 y�ºl )]
2 h 1
y� > = y 0 + [f(x0 , y0 ) + 4f(x1 , y1 ) + f(x2 1 y� > )] etc.
3
A seqüência y� , y� , y; , ... deve convergir para a solução da equação (7),
se h for suficientemente pequeno.
Um critério de parada deve ser definido, por exemplo:
(k) 1
1 y (k + l)
Se 21 �k�1 ;12 então y = y�k+tl, sendo E > O é uma tolerância fixa,
y
< E 2

previamente definida. Caso duas ou três iterações não sejam suficientes, deve-se
diminuir o valor de h.
Depois de calculado o valor de y21 calcula-se analogamente y3, , YN· •••
278 Cálculo Numérico

{
Algoritmo 6.7
Considere o PVI:
y ' (x) = f (x, y)
y (xo ) = Yo
1. Declare:
a) Função f(x, y).
b) Condições iniciais: y(Xo) = Yo·

E > O, uma tolerância fixa.


c) Intervalo [a, b], onde a = Xo·
d)
e) Número de subintervalos N e
Calcule h = ( b - ª ) .
N
2. Para n = O, ... , N-2, faça:
previsão: y �l2 = y n+l + hf(x n+l y n+l ) f

correção: Para k = O, 1, ... , faça:

y �:J > = y n + � [f(x n ' yn ) + 4f(xn+1 ' yn+l ) + f(xn+2 ' y�l2 )] até que:
<E
1 Y(k+l) (k)
n+2 - Yn+l 1
l y�:P 1
(k+l) ·
Faça.. Yn+2 -- Yn+2

Simpson, com o método de Euler para previsão, e tolerância E = 0.01 .


Sugerimos ao leitor resolver o PVI do exemplo anterior pelo método de

6.7 Trabalhando com o Software Numérico


No Software Numérico, o usuário seleciona as opções Equações Diferen­
ciais e Entre com os dados da equação, seguido da escolha dos métodos de
resolução de Runge-Kutta.
O usuário digita a expressão da equação diferencial, fornece o valor inicial
Xo, o tamanho do passo "h" e o valor Xn desejado, conforme exemplo que segue:

{
Exemplo 6.14
Considere o PVI dado por:
y ' = - xy
y(O) = 1
Usando o método de Euler, a partir de Xo = O e h = 0.1, calcule x5 e um
limitante superior para o erro.
O usuário digita a expressão da equação, os dados iniciais, o valor do
espaçamento "h" e o valor desejado y(0.5), conforme Figura 6.5 a) e b ):
Solução Numérica de Equações Diferenciais Ordinárias 279

E Difetenciai1

a) b)
Figura 6.5

Neste momento, o usuário seleciona o método de Euler e temos os re­


sultados desejados conforme ilustrações da Figura 6.6:

Escolha o lllt!todo

RW1119 li:utta de 1.a otdeta · Euler


O.cml lcml
0.1(11) llml
o.mi 0.9!DI
r - Runge Kutta 3.a ,,...,_ o.m 0.9llll
D.41111 119411

a) b)
N"° h PIU &!

Ul.

e)
Figura 6.6
280 Cálculo Numérico

Desta forma, temos calculados os valores da função y(x) nos pontos


x 0 = 0, x 1 = 0.1, x 2 = 0.2, X 3 = 0.3, X 4 = 0.4 e x 5 = 0.5, conforme Figura 6.6 b).
Portanto, temos que y(0.5) = 0.9035, conforme Figura 6.6 c).
O usuário pode, ainda, plotar os pontos obtidos aproximadamente
e comparar com a solução exata, caso esta seja conhecida. Neste exemplo,
e- xy,
fornecendo a solução analítica dada por y(x) = --, e digitando esta
2
expressão, podemos comparar os valores exatos, com traço contínuo, com os
valores aproximados, conforme Figura 6.7:

\
)(

1
: .. . .

• YCX> portos

: . . ... .. ... .. .. � --···· ·: : :


1 . _ ,,,, .. .. .. .. .. .. .. .. .. .. .. · - - - · "' · = .. - - - - - - :
.. .. ..... .., .. .. ... .. .. : .. .. .. .. .. .. : .. .. .. .. .. .. :
: :

:- - - - - - - t - - - - - - -:- - - -- - - � - - - - - - - r - - - - - : - - - - - :- - � -� :
0..99: 1"' .. ... ... .. .. .. t .. .. .. .. .. . ..: . .. .. .. .. . . . . . • . . ... . .. .. :.. .. .. .. .. .. .. ! - - � . ... .. .. .. .. . .,, .. . - � .. . .. . . .. ... � .._ .. _ . .. .... .. :
• • " • • 1 ' • •

: - - - - - - -:- - - - - - , - - - !- - - - - - - - ; - - - - - - : - - - - - �- - - - - ;
! · - ! - - . - - - -� · 4· �
..

0..9:8 .. ... . .. . . .. .. ... .. .. .. .. .. . .. - · · · · · ..


· .. .. . .. . . .. .. .. .. .. .. .. .. ... ... .. .. ·

: · · ·:· - - · .. : : :; :
.

o.m - - - --! - - - - - - - - - - - - - - -------

: - - - .. .. ... � " .. .. .. .. ·:· :


0.90 - -- - --- 1 _ _ _ - - - - - - :- - - - - - - - - - - - -:

• • 1 • 1 1 i • i
0..95 :· .. .. . . .. : . .. .. ·:- -
- - - ,,� .. - - � - - .. .. .. .. .. .. .. .. .. - .. .. · - .. - - - - - - - - .. .. .. · - · .. .. .. . .. .. ·:

o.92 > - - - - - - : - - - ·:- - - - - � - - - - - r - - - - - - : - - · - - - : - - · - -� - · - - -: - - : - - - -:


0..94 - � -� �
... .. .. .. ..·:· . .. .. .. ... : .. .,. - - - - " . .. .. .. .. �- - - .. .. ... �
- .. .. - . . • . . .. . ... .. - - .. ,,. � - .. .. ..

0.91 : - - ; - - - : - - . - - - � - - - - - -� - - - - :- - ; - - . - - - � - - - - - - �- - - • - - :
0 ..93 · · . - ..:- · - - · - - r - - - - - - ..: - , -- .. . �
f ,• • ,. � ... - - · . .... " ,
. .. .. .. . ..
. .. . . . .. . . .. .. ...
' . .

- ; - - - - - - -� - - - - - - � - - - - - - - : - - - -:
- - - - - - - - - - - · - - - - - - - •

: - - - · - : .. · - -� - .. .. - - � - - - - : - - - · - - :
- - - - - - - - - - - - - - - - - - - - - : - - . - -

0 .9 : - . - - - - - ! - - - - - - : - - - - - . � - - - - - - � - - - - - - -: -
- - - - - - - - -

o.89 : - - - - - - � -
- : - - · �- · - - · · - r -
- - . - - - - - - - - · - - - - - - - - - - - - -

. . . . . ' . . .

o 0.05 0.1 0.1 5 0.2 0.21> 0.:1 0..:15 OA OA5 0.5

Figura 6.7

Exemplo 6.15

{
Considere o PVI dado por:
y ' = x y2 - y
y(O) = 1
Usando o método de Runge-Kutta de 4ª ordem, a partir de Xo = O e h = 0.1,
calcule o valor aproximado de y(0.7).
Solução:
O usuário digita a expressão da equação, os dados iniciais, o valor do espa­
çamento "h" e o valor desejado y(0.7), seleciona o método de Runge-Kutta
de 4ª ordem, conforme Figura 6.8 a) e b):
Solução Numérica de Equações Diferenciais Ordinárias 281

a) b)

Neste momento, temos calculados os valores aproximados de y(x) nos


pontos desejados, conforme Figura 6.8 c):

0.!5000

--tcl71iii1 -- il--
6 0.6000 0.5980
7- -

e)

Portanto, temos que y(0.7) = 0.5596, conforme Figura 6.8 d):

d)
Figura 6.8
282 Cálculo Numérico

O usuário pode, ainda, plotar os valores aproximados de y(x), conforme


ilustrado na Figura 6.9:


t":: c.,r cif h o dl fercnc l9I�

1 - y(!:g
cquc1c oes _ __ 1

-.
- - - - -

· eante•
- -- - - - - - -- - -
. -- - . . . -- - . . . .

-:- - - - - - - �- - - - - - � - - - - - -i
- - - - - - - - - - - - - -- ------ - - - - - - - - - - - - - - -- -- - - - - - - -

:: :: · · · · · · -:-·
• • • •
:
· · · · · �t · · · · · · · :; · · • ·:: · · · · · · !: · . . :: · . . :; . . :i-:

: - - -:- - - - : -
0.515 .
· · ·:
--

0.9 : - i . .�_ ... � -- "" · - - - i -


.. _ - - · - - -- - � -- i -- - - - - - - .

i ; ·; r �- -r
' • • • • • • 1 • • •
... ... .. .. .. ... .. .. - - ... - -

• 1 • .. f • • • •

- - - - - - �1 - .. - --r-
t · · -· - - - i - - - - -�
: · - - - - - - f - - ·.- · · -:- - · - - - - 1 - - - - - - - : - - .. - - - � :
- - - .. - - - - - - -; -
' '
o.as

i - - - - - - � - - - - - -r - - - - - �- t
... - - - - - - - - - - .. .. .. -

0.e �;
1
·
• • • •
· · -

· · · ·i· •
· · · ·

· · · ·

· · · ·

· ·

· · � .

r
- - -

· · · · · · · · ·
· · - -· - - - - - - - · · - - - - - -
-

0-75

t -7--- i- - � - - - - � - - - - - - -rç - - - - �- r -;
- - - - - - - - -

0.1 : - - - - - - - :- - - - --+ - - - - --1-·- - --- � - - - - - - ·:- - - . : - - - - - - - :


- - - - - - - - - -: - - - - - - - : - - - - - - -f
OM ;
1
- - - - - - -

- - - - -

- - ·

- - - - -
r
- - - - - - - 1-
1
- -
• •
-
'"

- - - -- -

- - - - - -
o

0.6 :· .. . .. �· .. . . �. . . .. .. . . . · r- • • .o. • • . . .. .. ... . . . ..


- · -� · . . .. . ; . .. .. .. ,. .,. . .. . . . . .
. . . .

Figura 6.9

Exercícios
1. Usando o método de Euler de ordem p = 1 e o método de Taylor de ordem

l
p = 2, determine a solução aproximada do PVI dado por:
y
y' = f (x, y) = 2_2 - - y 2
x X X E [ a, b ] = [ l, 2 ]
y (x 0 ) = y (l) = - 1
a) Considerando h1 = 1 /5 e h2 = 1 / 10.
b) Sabendo-se que a solução analítica é dada por y ( x ) = .!_ , construa _

X
para cada caso uma tabela com os valores exatos e aproximados e
também o erro absoluto. Observe e faça comentários.

{
2. Usando o método de Euler, calcule a solução aproximada do seguinte PVI:
y' = f (x, y) = y - x
X E [ a, b] = (0, 1]
y (x0 ) = y (O) = 2
a) Considerando h1 = 1 /5 e h1 = 1 / 10.
b) Construa para cada caso uma tabela com os valores exatos e aproxi­
mados e também um limitante superior para o erro. Observe e faça
comentários.
Solução Numérica de Equações Diferenciais Ordinárias 283

{
. Usando método de Euler modificado e o método de Euler aperfeiçoado,
calcule a solução aproximada do PVI definido por:
y' f (x, y) xy 1 1 3
= =

X E [a, b) [O, 2) =

y (x 0 ) y (O) 1
= =

a) Considerando N 1 5. =

b) Considerando N2 10. =

c) Sabendo-se que a solução analítica é dada por y (x) =


( x2 2 )3 / 2
-3-
+
,

construa para cada caso uma tabela com os valores exatos e aproximados e
também o erro absoluto. Observe os resultados obtidos e faça comentários.

{
4. Usando o método de Euler, método de Euler aperfeiçoado e o método de
Euler modificado, calcule a solução aproximada do PVI definido por:
y ' f (x, y) y cos(x)
= =

X E [a, b) [0, 1) =
y (x 0 ) y (O) 1 = =

a) Considerando h1 = 1 /5.
b) Considerando h2 = 1 / 10.
3

{
5. Usando os métodos de Runge-Kutta de ordem , calcule a solução apro-
ximada do seguinte problema de valor inicial:
y' f (x, y) xy 1 1 3
= =

X E [a, b) [0, 2) =

y (x 0 ) y (O) 1 = =

a) Considerando N 1 5. =

b) Considerando N2 10. =

c) Sabendo-se que a solução exata é dada por y (x) =


( x2 ; 2 )3 1 2 , construa
para cada caso uma tabela com os valores exatos e aproximados e
também o erro absoluto. Observe e faça comentários.
3
6. Usando o método de Runge-Kutta de ordem e o método de Runge­

{
Kutta de ordem 4, calcule a solução aproximada do seguinte problema
de valor inicial:
y' f (x, y)
= xy 2 = -

X E [a, b) [l, 2) =

y (x 0 ) y (l) 2
= =

a) Considerando h1 1 /5. =

-3z,
b) Considerando h2 1 / 10. =

c) Sabendo-se que a solução analítica é dada por y (x) construa =


X
para cada caso uma tabela com os valores exatos e aproximados e
também o erro absoluto. Observe e faça comentários.
284 Cálculo Numérico

f
7. Usando os dois métodos de Runge-Kutta de ordem 4, calcule a solução
aproximada do seguinte problema de valor inicial:
1
y' = f (x, y) = + 0.4y 22
1 + 4x X E [0, 4]
y (x 0 ) = y (O) = 1
a) Considerando n 1 = 5.
b) Considerando n 2 = 10.

f
8. Usando todos os métodos de Runge-Kutta vistos neste capítulo, calcule
a solução aproximada com h = 0,01 do seguinte PVI:
y ' = f(x, y) = �
2
Y X E [a, b] = [0, 1]
·

y (x 0 ) = y (O) = 1
9. Usando o método dos trapézios, com o método de Euler como previsor,

{
calcule a solução do PVI definido por:
y' = 1 +
� x e [a, b] = [l, 2] e N = 5
y(l) = 2
Use no critério de parada do método das aproximações sucessivas E = 0.01.
10. Usando o método dos trapézios, com o método de Euler como previsor,
calcule a solução do PVI definido por:
a) y' = f (x, y) = - 2y + l
y(Xo) = y(O) = 1
Usando h = 0,1 calcule aproximadamente y(O, 3).
b) y' = f (x, y) = y
y(Xo) = y(O) = 1
Usando h = 0,1 calcule aproximadamente y(O, 3).
Capítulo 7

Manual do Software Numérico

285
286 Cálculo Numérico

7.1 I ntrodução
Com a popularidade dos microcomputadores a partir de 1980, surge uma
nova ferramenta como apoio ao ensino e aprendizagem, tomando-se im­
prescindível o desenvolvimento de "softwares" que ligassem a sala de aula
e o laboratório de informática .
E m 1991, no Departamento d e Matemática d a UFSCar, foram iniciados dois
projetos de monitoria da disciplina de Cálculo Numérico com objetivo de desen­
volver programas computacionais que facilitassem a resolução de exercícios
propostos, porém reforçando os conceitos estudados em sala de aula .
A partir de 1996, com o envolvimento do Departamento de Matemática
no Projeto REENGE, foi possível retomar aquelas idéias.
O projeto Desenvolvimento de Software para o Ensino de Matemática
teve como objetivo a informatização de disciplinas dos cursos básicos das
áreas de ciências e tecnologia da UFSCar com conteúdos de matemática,
para que os alunos pudessem reforçar conceitos dados em sala de aula nos
laboratórios de informática.
O Software Numérico foi desenvolvido inicialmente neste projeto e poste­
riormente finalizado depois de vários testes, feitos nas aulas de laboratório
da disciplina de Cálculo Numérico no Departamento de Matemática-Univer­
sidade Federal de São Carlos (UFSCar) .

7 .2 Objetivos
O Software Numérico é um software interativo, de apoio ao ensino e apren­
dizagem de tópicos de matemática, para ser usado em laboratório de com­
putação, onde conceitos e resultados apresentados em sala de aula são refor­
çados através de exercícios propostos.

7.3 Software Numérico - Módulos desenvolvidos


O Software Numérico é constituído dos módulos: sistemas lineares, inversas
de matriz, raízes de funções, aproximação de funções, integração numérica
eequações diferenciais.
· Utiliza-se, nesta versão, uma ferramenta de programação visual deno­

É
minada Delphi, orientada a eventos e destinada ao ambiente Windows.
implementado usando o Delphi / Pascal 5.0, baseado na interface gráfica
do Windows, sendo compatível com os sistemas operacionais Windows 98
e Windows XP.
Estão disponíveis duas versões: professor e estudante. Na versão pro­
fessor, um Arquivo de Correção contém o registro do nome e o número do
aluno (Registro Acadêmico-RA). Esse arquivo grava todos os trabalhos feitos
e deve ser usado apenas pelo professor, possibilitando que ele acompanhe
todos os passos realizados pelos alunos durante a execução do software,
Manual do Software Numérico 287

permitindo, assim, que seja avaliado o conhecimento do conteúdo minis­


trado em sala de aula. Encontra-se à disposição no site da Editora Thomson.
A versão estudante encontra-se no CD que acompanha este livro e difere da
versão professor apenas no Arquivo de Correção, que grava o trabalho de
apenas um usuário.
Nestas versões, o usuário terá disponível um Menu Principal, tanto
para os métodos numéricos quanto para as condições de aplicação destes,
além de um Help On Line.
Para execução desse software, o usuário deverá ter o conhecimento teó­
rico dos métodos usados nos tópicos de Cálculo Numérico, bem como das
condições de aplicabilidade de cada um deles na resolução de um problema.
Além disso, o usuário deve configurar o computador para representação de
um número decimal, usando ponto ao invés de vírgula, como por exemplo
3.42 e não 3,42.

7.4 Abertura do Software N umérico


Ao abrir o Software Numérico, temos a seguinte janela:

Em seguida, o aluno deverá fazer sua identificação, depois clicar em


Confirma e fazer sua escolha de opções no Menu Principal, conforme
demonstram as janelas a seguir:
288 Cálculo Numérico

• '1

7.5 Descrição dos módulos do Software Numérico


Faremos uma descrição de cada módulo disponível no Software Numérico, suas
características e a forma simples para o usuário. Estão disponíveis os seguin­
tes módulos: sistemas lineares, inversa de matriz, raízes de funções, apro­
ximação de funções, integração numérica e equações diferenciais.

7 .5.1 Módulo sistemas lineares


Neste módulo, o usuário resolve sistemas de equações lineares através do
uso de métodos diretos e iterativos. Aqui, terá a sua disposição a opção Novo
Sistema, caso deseje registrar um novo sistema e calcular a solução.
Caso deseje apenas resolver um sistema e este já esteja armazenado em
um arquivo, o usuário posiciona em Abrir Sistema. Nesse caso, o usuário
deve fornecer o caminho corretamente para que este possa ser acessado e
então será aberta a janela com o sistema armazenado.
Manual do Software Numérico 289

A seguir, o usuário seleciona um dos métodos numéricos da opção


Métodos de Resolução, que apresenta os seguintes métodos:

Métodos diretos

Método de decomposição LU
Método de decomposição de Cholesky
Método de eliminação de Gauss com pivotamento (diagonal, parcial
e total)
Método de eliminação de Gauss-Jordan

Métodos iterativos

Método iterativo de Jacobi-Richardson


Método iterativo de Gauss-Seidel

Uma vez escolhido um método direto ou um método iterativo, uma


janela se abrirá solicitando ao usuário as condições corretas para a execu­
ção do método em questão. Neste momento, temos a janela Verifique as
Condições e a opção Continuar, que deverá ser acionada pelo usuário para
que o menu Condições possa ser utilizado para verificar as condições de
execução do método escolhido.
Uma vez clicadas corretamente todas as condições teóricas dos méto­
dos, clicando em Resolver, temos a solução do sistema fornecido. Caso as
condições não estejam corretas, temos uma janela com a informação Veri­
fique se todas as condições estão corretas e o usuário pode recomeçar
novamente o exercício.

Exemplo 7.1
Resolva o sistema de equações lineares usando o método de eliminação de
Gauss com pivotamento diagonal.

No Software Numérico, o usuário seleciona a opção Método de Elimi­


nação de Gauss - Pivotamento Diagonal, digita o sistema dado no espaço
reservado e seleciona as condições corretas de aplicabilidade.
290 Cálculo Numérico

Neste caso, a condição é det A -:t:. O (det (A)<>O), conforme Figura 7.1 a).

XI X2 b

z 3 5

4 5 9(
... ... _.... -:li
- -·-
.
....li'
.. 'i.I - ·-

( Conlinum )

a)

Depois de clicar as condições necessárias para executar o método de


Eliminação de Gauss - pivotamento diagonal, temos a seguinte janela com a
solução do sistema dado, conforme Figura 7.1 b):

)(1 )(2
1.D D l JIDOU

b)

Figura 7.1
Manual do Software Numérico 291

Exemplo 7.2
Resolva o sistema de equações lineares usando o método de decomposição LU.

1 1 3 [ =
[� : �i ::1 [!.s1
X3 2.5

posição LU,
No Software Numérico, o usuário seleciona a opção Método de Decom­
digita o sistema dado no espaço reservado e seleciona as condi­
ções corretas de aplicabilidade. Neste caso, os menores principais diferentes
de zero (<>0) e det A :;t: O (det(A)<>O), conforme Figura 7.2 a) e b).

1C' ia b

la
..
• 5 4j;
1
1 r:.st

a) b)

Clicando no botão Resolver, temos a solução x


janela da Figura 7.2 c):
= (1, O, 0.5), conforme
292 Cálculo Numérico

--�1

1 .011110 11 .ll U D D D.S:D


.___....

b)

Figura 7.2

Para resolver sistemas de equações lineares usando um método ite­


rativo, o usuário deverá escolher a opção Método Iterativo de Jacobi­
Richardson ou Método Iterativo de Gauss-Seidel no menu Métodos
de Resolução.
Uma vez escolhido o método iterativo, uma janela se abrirá solici­
tando ao usuário as condições corretas para a execução do método em
questão; Neste momento, aparecerão na janela Verifique as Condições e a
opção Continuar, que deverá ser acionada pelo usuário para que o menu
Condições possa ser utilizado para verificar as condições de execução do
método escolhido.
Uma vez examinadas as condições necessárias, o usuário deverá
clicá-las corretamente e o resultado aparecerá numa janela. Com as con­
dições clicadas, o usuário deverá clicar em Resolver e, neste momento, se
as condições foram devidamente escolhidas, aparecerá uma janela onde
o usuário deverá fornecer a Solução Inicial, a Precisão desejada e clicar
em Continuar.
Uma vez clicado em Continuar, será aberta uma janela com as iterações
executadas e o critério de parada (Erro). A seqüência de soluções será exibida em,
no máximo, cinqüenta iterações.
Uma vez examinadas as condições necessárias, o usuário deverá cli­
cá-las corretamente e o resultado aparecerá numa janela. Com as condições
clicadas, o usuário deverá clicar em Resolver e, neste momento, se as con­
dições não foram devidamente escolhidas, aparecerá uma janela com a
mensagem Verifique se todas as condições estão corretas. A solução do
sistema será apresentada se as condições foram escolhidas corretamente,
conforme Figura 7.3 a):
Manual do Software Numérico 293

a)

Uma vez escolhidas as condições necessárias para a aplicabilidade do


método iterativo de Jacobi-Richardson, será exibida nesta janela a seguir a
seqüência de soluções aproximadas, usando o método iterativo de Jacobi­
Richardson, convergindo para a solução do sistema.
Exibimos a seqüência de soluções aproximadas, convergindo para a so­
lução x (1, 1) e o erro relativo correspondente em cada iteração, conforme
=

Figura 7.3 b).

""1'eçilo Xl
30 Jl .OotO
:n 1 .CIDOI
»- 1i :lteoã
i
» 1
..0 1

b)

Figura 7.3
294 Cálculo Numérico

Para resolver um sistema usando o método iterativo de Gauss-Seidel, o usuário


Observação

deve proceder da mesma maneira como no método de Jacobi-Richardson, digi­


tando as condições de aplicabilidade do método, que são det(A) * O, diagonal
principal diferente de zero, estritamente diagonalmente dominante ou ainda

Ainda com relação a sistemas, existe um procedimento para calcular o


critério de Sassenfeld menor que 1.

Número de Condição da matriz do sistema. Por exemplo, o número de condição


da matriz A do sistema dado anteriormente seria K(A) = 9, conforme Figura 7.4.

X1 b
3 2 !i
.. !i 9

Figura 7.4

Descrição breve dos métodos numéricos usados no módulo


sistemas lineares
O objetivo é fazer uma descrição rápida dos métodos de resolução de siste­
mas de equações lineares, os quais devem ser estudados cuidadosamente
antes de usar o Software Numérico, que é uma ferramenta computacional
complementar de estudo para o aluno.
Métodos de resolução para sistemas de equações lineares
Seja Ax = b um sistema de equações lineares, onde A = (a;;) i, j = 1, ... , n
x = (x 1 , X2, ... , xS b = (b 1 , b2, ... , bnY e det(A) * O (solução única).

nar-se um vetor x = (x1 , x2 1 . . . , xn Y , de forma que todas as equações sejam


A resolução desse sistema de equações lineares consiste em determi­

satisfeitas simultaneamente.
Manual do Software Numérico 295

Métodos diretos

Os métodos diretos são aqueles em que (a menos de erros) no processamento


é fornecida a solução exata para o sistema dado.

Método de decomposição LU

Condições a serem verificadas


Menores principais � �i = det(Ai ) -:t:- 0 i = l, ... , n - 1 edet(A) -:t:- 0.
O método de decomposição LU consiste em decompor a matriz A no

com lii 1 i = 1, ... , n e U = (uii) i, j = 1, ... , n é uma matriz triangular


produto de LU, onde L (lii) i, j = l, . . . , n é uma matriz triangular inferior,
=

superior tal que A = LU.


A resolução do sistema dado agora consiste na resolução de dois siste­
mas triangulares (inferior e superior) respectivamente, isto é:

Ax b sendo A = LU, temos:


=

L(Ux) = b

Portanto, temos dois sistemas triangulares (inferior e superior) para


serem resolvidos:

{Ly = b
Ux = y

Exemplo 7.2
Considere o sistema de equações lineares:

� 1 = 2 :t: O � 2 = 4 :t: O det(A) = 8 :t: O


Condições

L= [ � � �j
1/2 1/2 1 U
=

r� � � l
o o 2
296 Cálculo Numérico

Temos os seguintes sistemas triangulares:


Ly = b
Solução: y = (3, 3, 2Y

= (1, 1, Ir
Ux = y
Solução: X:

Método de decomposição de Cholesky


Condições a serem verificadas
Simetria da matriz A
Menores principais � L\i = det (Ai) > O i = l, ... , n
O método de Cholesky consiste em decompor a matriz A no produto
de uma matriz R (ri;) i, j = 1, ... , n triangular superior com a diagonal posi­
=

tiva, por uma matriz R1 = (ri;) i, j = 1, ... , n triangular inferior, tal que A=R1 R.
A resolução do sistema dado agora consiste na resolução de dois siste­
mas triangulares (inferior e superior), respectivamente, isto é:
Ax = b A = R1 R
R1(Rx) = b
Portanto, deve-se resolver os dois sistemas triangulares (inferior e supe­
rior) a seguir:

Exemplo 7.3

l j [XX21 j [ ]
Considere o seguinte sistema de equações lineares:

X3
1 1 Ü -2
1 5 Ü - -6
-

Ü Ü 1 -2

L\ 1 = 1 > O L\ 2 = 4 > O L\ 3 = det(A) = 4 > O


f l l
Condições

1 o
O O
f� � �
1
R' =
o o 1
R= 2
Manual do Software Numérico 297

Temos os seguintes sistemas triangulares:

Solução: y = ( 2, 2, 2Y
Ry = b
- - -

Rx = y
Solução: x = (-1, -l, -2)1

Método de eliminação de Gauss com pivotamento diagonal


Condição
det(A } -:t:- 0
O método de eliminação de Gauss com pivotamento na diagonal consiste
em transformar o sistema dado Ax = b, num sistema triangular superior equi­
valente, através da aplicação de operações elementares sobre as linhas da
matriz A e do vetor b.
Estratégia na escolha dos pivôs
No k-ésimo passo do método, a escolha do pivô é feita através da seleção do
primeiro elemento diferente de zero (nos elementos da matriz A, abaixo
da diagonal), isto é, a seleção é feita entre os coeficientes aii<k-t > da matriz A, i
= k, k + l, ... , n.
Caso não seja encontrado nenhum elemento diferente de zero para ser
o pivô, conclui-se que o det(A) = O.
Exemplo 7.4
Considere o sistema de equações lineares:

Condição
r � � � 1 r:: 1 r � 1
-3 1 3 X3
=
3

det(A) = 24 -:t:- O
Sistema triangular equivalente:

Solução do sistema:
x = (O, O, lY
298 Cálculo Numérico

Método de eliminação de Gauss com pivotamento parcial

Condição
det (A) :t:- O
O método de eliminação de Gauss com pivotamento parcial é uma modifi­
cação da versão anterior do método de eliminação de Gauss, sendo que a cada
passo muda-se a estratégia de escolha dos elementos pivôs.
Estratégia na escolha dos pivôs
No k-ésimo passo do método, a escolha do pivô é feita através da seleção do
maior elemento em módulo (nos elementos da matriz A, abaixo da diagonal),

isto é, a seleção é feita entre os coeficientes� em módulo, j ai / k-t > j da matriz A,


i = k, k + 1, ... , n.
Caso não seja encontrado nenhum elemento diferente de zero para ser
o pivô, conclui-se que o det(A) = O.
O procedimento de pivotamento na matriz A será como no método de
eliminação de Gauss com pivotamento na diagonal.

Exemplo 7.5
Considere o sistema de equações lineares:

Condição
det (A) = 30 :t:- O
Sistema triangular equivalente:

Solução do sistema:
x = (1, O, 0)1•
Manual do Software Numérico 299

Método de eliminação de Gauss com pivotamento total

Condição

det (A) :t:- O


O método de eliminação de Gauss com pivotamento total é uma modificação
da versão anterior do método de eliminação de Gauss, onde a cada passo
mudamos a estratégia na escolha dos pivôs.
Estratégia na escolha dos pivôs
No k-ésimo passo do método, a escolha do pivô é feita através da seleção
do maior elemento em módulo (em todos os elementos da matriz A), isto é,
a seleção é feita entre os coeficientes 1 a i ?-1> 1 da matriz A, i k, ... , n j k, ..., n.
= =

Caso não seja encontrado nenhum elemento diferente de zero para ser
o pivô, concluímos que o det(A) = O.
O procedimento de pivotamento na matriz A será como no método de
eliminação de Gauss com pivotamento na diagonal.

Exemplo 7.6
Considere o sistema de equações lineares:

Condição

det(A) 44 :t:- O
=

Sistema triangular equivalente:

Solução do sistema:
l� � �1 [::1 r � 1
o -l
/
11 6
/
X2
=

/
11 6
-l
/

x (O
= , l, Ot
300 Cálculo Numérico

Método de eliminação de Gauss-Jordan


Condição
det (A) -:!- O

dado num sistema equivalente Ix b, (1 é a matriz identidade), através da


O método de eliminação de Gauss-Jordan consiste em transformar o sistema
=

aplicação de operações elementares sobre as linhas da matriz A e do vetor b.


Estratégia na escolha dos pivôs
No k-ésimo passo do método, a escolha do pivô é feita através da seleção do
primeiro elemento diferente de zero (nos elementos da matriz A, abaixo
da diagonal), isto é, a seleção é feita entre os coeficientes aii<k-l) da matriz A, i
= k, k + l, ... , n.
Neste método, o pivô, a cada passo, deverá tornar-se igual a " l ", multi­
plicando toda a linha escolhida pelo inverso do pivô.
Caso não seja encontrado nenhum elemento diferente de zero para ser
o pivô, conclui-se que o det(A) O. =

O procedimento de pivotamento na matriz A será como no método de


eliminação de Gauss anterior.
Exemplo 7.7
Considere o sistema de equações lineares:

Condição
det (A) -2 -:!- O
=

Sistema equivalente:

Solução do sistema:
x (2, O, 0)1•
=
Manual do Software Numérico 301

Métodos iterativos
Os métodos iterativos são aqueles que fornecem, a partir de uma solução ini­
cial, uma seqüência de soluções aproximadas que deverá, sob determinadas
condições específicas, convergir para a solução do sistema.

Método iterativo de Jacobi-Richardson


O método iterativo de Jacobi-Richardson consiste na transformação do siste­
ma Ax = b na forma equivalente:
x=Hx+g
O processo iterativo é dado por:

{
x<k+I l = H x<kl + g k = 0,1, ...
onde
- aii
se i =t: j

H= a � matriz iterativa

b{ .
se i=j

ai
g= _1

Convergência
A matriz A = (aii )i, j = 1, ... , n deverá ser estritamente diagonalmente domi­
nante, isto é:
l aii 1 > I l ai i 1
j=l i;tj
i = l, ... , n
ou

j = 1, ... , n � norma coluna

ou

li H IL < 1 , onde l H t = máx i�i 1 �:ii 1 i = l, ... , n � norma linha

li x<k+xl<k) -+Ixl l(k) li < E, qualquer que se1a. a norma do R .


Critério de parada

l i i
n

(E suficientemente pequeno)
302 Cálculo Numérico

Exemplo 7.8
Considere o seguinte sistema de equações lineares:

Análise de convergência

[ ]�
A matriz A do sistema não é estritamente diagonalmente dominante.
Construção da matriz iterativa:
o o -1 / 3
H= O O - 1 2 � matriz iterativa
-2 / 3 -1 / 3
Cálculo das normas:

ii H ii� = 1
l i H 111 = 5 / 6 < 1 � convergência garantida
Assim, para a precisão E 0.01:=

x< 0 > = (O , O, O) � solução inicial dada.


x< 1 > = (4 / 3, 2, 5 / 3) � solução obtida após uma iteração.

x< 1 0 > = (1 .2613, 1.8921, 0.1803)


x< 11 > = (1 .2732, l.9099, 0.1951)
Critério de parada:

Solução aproximada X: = (1.2732, 1.9099, 0.1951t

Método iterativo de Gauss-Seidel


O método iterativo de Gauss-Seidel consiste em transformar o sistema dado
Ax = b na forma equivalente:
x = Px + Qx + g
Manual do Software Numérico 303

x(k+1 > = Px(k+1 ) + Qx<k > + g


O processo iterativo é dado por:

se i>j
� matriz estritamente triangular inferior
se i ::;; j
se i 2'. j
� matriz estritamente triangular sup erior
se i<j

x(k+1 ) = H x<k> + g
Na forma equivalente, podemos escrever:

onde H = [ (I P) ]-1 Q -
g = [ (I P) ]-1 g -
Convergência
A matriz A do sistema deverá ser estritamente diagonalmente dominante.
ou

I 1 -aaii i 1 �i + Í. 1 -aai i 1
Critério de Sassenfeld satisfeito:

máx �i < 1 com � =


i i = l, . . . ,n
i=I i=i+1 i

Exemplo 7.9
Considere o seguinte sistema de equações lineares:

Análise de convergência
A matriz A do sistema não é estritamente diagonalmente dominante.

Cálculo dos �i i = 1, , 3
Critério de Sassenfeld:
...

�l �2 1 1 2 � 3 1 1 2
Como máx �i = 1 / 2 < 1 � convergência garantida
= 1/2 = =
304 Cálculo Numérico

Assim, tem-se para E = 0.001 :


x< 0> (-1, O, 1) � solução inicial dada
=

x0 > = ( 1, l, 2 / 3) � solução obtida após uma iteração

X(S ) = (1 .3307, 1 .3307, 0.3360)


x<9 > (1 .3320, 1 .3320, 0.3347)
=

Critério de parada:

li x< 9 l _x (B ) I L
li x <9 l I L
= 0.0009 < E

Solução aproximada X: = (1 .3320, 1.3320, 0.3347)1

Condicionamento de sistemas
Diz-se que um sistema de equações lineares Ax = b é mal condicionado
quando pequenas perturbações em alguns de seus coeficientes produzem
bruscas alterações em sua solução. Para verificar o mal condicionamento de
um sistema linear, deve-se calcular o Número de Condição da matriz dos
coeficientes do sistema, definido por:

Se K(A) for "próximo de 1" diz-se que o sistema é bem condicionado,


caso contrário, diz-se que o sistema é mal condicionado.

Exemplo 7.10

[1 ] [XI] [ ]
Considere o sistema de equações lineares:

0.99 l .99
0.99 0.98 X2 - 1.97

Temos que,

Concluímos que temos um sistema mal condicionado, pois K(A) possui


um valor "muito grande", e que pequenas modificações nos coeficientes da

matriz A ou no vetor b provocam grandes alterações na sua solução.


Manual do Software Numérico 305

7 .5.2 Módulo inversa de matriz


Para calcular inversa de matriz, foram usados os seguintes métodos numé­
ricos: método de decomposição LU, decomposição de Cholesky, eliminação
de Gauss e eliminação de Gauss-Jordan.
Para a utilização do software, será necessário o conhecimento dos méto­
dos, bem como as condições de aplicação de cada um deles, para que o usuário
tenha a facilidade em escolher os procedimentos adequados para a resolução de
sistema e para o cálculo da inversa de matriz. O usuário deverá declarar a ma­
triz e escolher o método desejado de resolução conforme exemplo a seguir:

Exemplo 7.11

Calcule a inversa da matriz usando o método de eliminação

de Gauss:
O usuário digita a matriz A dada, seleciona o método de eliminação
de Gauss, seleciona as condições de aplicabilidade do método, conforme
Figura 7.5 a) e b ).

a) b)
306 Cálculo Numérico

O usuário, clicando no botão Calcular, terá a matriz inversa, conforme


Figura 7.5 c):

e)

Figura 7.5

Caso o usuário deseje calcular a inversa da matriz usando outro


método numérico disponível, o procedimento será análogo ao exposto
anteriormente.

Descrição breve do cálculo de inversa de matriz


Seja A = (aii) i, j = 1, ... , n uma matriz não singular, então existe uma única
matriz A-1 chamada de inversa de A, de tal forma que A A-1 = I. Neste caso,
temos n sistemas de equações lineares para serem resolvidos, usando qual­
quer um dos métodos diretos vistos anteriormente.

Exemplo 7.12

r r 1
Calcule a inversa da seguinte matriz usando o método de eliminação de Gauss:

� � �i
Xn X12 X13
A= 1
A- = x21 x22 x23 � inversa de A
o 1 1 X31 X32 X33
=[ l
Manual do Software Numérico 307

1, temos os seguintes sistemas triangulares:

[ ll = [ l l
Como A A-1

1 Ü Xu
Ü 1 2 X21 Ü
Ü Ü -1 X31 Ü

[� =
(x11 x 21 x31 j = (1, O, O) � primeira coluna da matriz inversa

� �1 r:�1 r � l
Ü Ü -1 X 32 -1


(x12 x22 x32 j ( -1, - 1, 1) � segunda coluna da matriz inversa
=

[ � � l [ ::1 [ � l
Ü Ü -1

(x13
X33 =
1

x23 x33 j (1, 2, -1) � terceira coluna da matriz inversa


=

Portanto, temos:

A-1 = r� =� �1
o 1 -1
� inversa da matriz A

7 5 3 Módulo raízes de funções


. .

O módulo raízes de funções tem por objetivo auxiliar o aluno na resolução


de equações, isto é, na determinação de raízes reais de uma função f(x), atra­
vés do uso dos seguintes métodos iterativos de resolução:
Método da bisseção
Método das aproximações sucessivas
Método de Newton
Método das secantes
Esses métodos são abordados em sala de aula e o uso do software per­
mite ao aluno reforçar conceitos e resultados vistos para a resolução de uma
equação, além de o professor ter condições de verificar a aprendizagem por
parte dos alunos na resolução de exercícios.
308 Cálculo Numérico

Para ilustrar o módulo Raízes de Funções, exibimos exemplos com pas­


sos a serem seguidos pelo usuário em cada um dos métodos.
Inicialmente, ao abrir o módulo Raízes de Funções, a seguinte janela
será exibida ao usuário, conforme Figura 7.6:

Figura 7.6

Neste momento, o aluno deverá clicar em Nova Função, digitando no


espaço adequado a expressão analítica da função f(x) que deseja trabalhar ou
abrir arquivo com a função já armazenada, conforme janela na Figura 7.7 a):

a)
Manual do Software Numérico 309

Neste momento, o usuário poderá plotar o gráfico da função escolhida


ou plotar a intersecção de dois gráficos, obtendo, assim, uma vizinhança para as
raízes de f(x), como exibido na janela, mostrada pela Figura 7.7 b):

-
c:: ( ,r� l • l • U - _ _
� -
V

1 .6

1 .2

/
· 1 .B 5

·1 .6

b)

Figura 7.7

Nestas janelas, temos a opção de intersecção de dois gráficos e uma


vizinhança para as raízes da função, conforme Figura 7.8 a) e b):

!::: 1 1 1t1 1 1 �

a) b)
310 Cálculo Numérico

Clicando em Continuar, o usuário terá a sua disposição os cálculos do:


valores da função f(x) nos pontos escolhidos, conforme janela da Figura 7.8 c):

1 2

l l(b)- -0.61 61

Nlo existe r aiz r eal par a f(x)

e)

Figura 7.8

Neste momento, o usuário deverá confirmar o intervalo onde se encon­


tra a raiz desejada e escolher o método de resolução, conforme janelas da
Figura 7.9 a) e b ):

OK
Sil
a) b)

Figura 7.9

Essa janela é informativa, avisa o usuário de que o próximo passo é a


escolha do método a ser usado na resolução da equação f(x) = O.
Todos os métodos apresentam um roteiro semelhante, assim, nos próxi­
mos métodos, o exemplo dado iniciará a partir deste ponto.
Manual do Software Numérico 311

Métodos iterativos de resolução


Método da bisseção
Para resolver a equação f(x) = O usando o método da bisseção, o usuário
deverá clicar em Bisseção, fornecendo o intervalo inicial [r0, s0], a partir da
localização gráfica da vizinhança da raiz, conforme janelas da Figura 7.10
a) e b):

Nove FW>Ç&>

a) b)

Figura 7. 1 0

Clicando em Continuar, neste momento, o usuário verifica, usando resul


tados teóricos, se existe uma raiz no intervalo [a,b]. Fazendo a avaliação dé

ainda, fornecer a precisão desejada E = 0.0001 .


função nos extremos do intervalo e clicando em Sim, caso f(a) . f(b) < O deve
312 Cálculo Numérico

Clicando em Resolver, o método executa as iterações, conforme janelas


da Figura 7.11 a) e b):

Pergunta

Mio

a) b)

Ternos, neste momento, urna das raízes de f(x), conforme Figura 7.11 c),
dada por x = 1.4276.
Observação
Ao rolar a janela é possível visualizar todos os resultados aproximados obtidos.

e)

Figura 7. 1 1

Método das aproximações sucessivas


Caso o usuário deseje resolver a equação cos(x)--0.1 x=O usando o método
das aproximações sucessivas, deverá posicionar em métodos de resolução e,
clicar em Método das Aproximações Sucessivas, fornecer a função iterativa
<l>(x)=cos(x)--0.1 x+x, a solução inicial x0 = 0.5 e a precisão E = 0.0001. Clicando
em Resolver, ternos as janelas conforme Figura 7.12 a) e b):
Manual do Software Numérico 313

a) b)

Temos, agora, a seqüência de soluções aproximadas (rolar a janela


para visualizar todas as iterações) e a raiz x 1 .4275, conforme janela da
=

Figura 7.12 c):

e)

Figura 7. 1 2

Caso o usuano deseje, pode plotar o gráfico da função iterativa


<)> (x)=cos(x)-0.1 x+x e o gráfico y = x e observar as raízes da equação
cos(x) - 0.1 x = O na interseção dos gráficos. Para isso, basta clicar em Gráfico
e aparece a seguinte janela exibindo a convergência da seqüência de soluções
aproximadas, conforme janela da Figura 7.13 a):
314 Cálculo Numérico

�--1t----1t--�b"--,.1"-�t--�t--�r--�-t--t:X
2.7 3.6 4.S 5.

-4,8

a)

Figura 7.1 3

Observação
Caso haja mais de 30 iterações sem passar pelo critério de parada, abrirá
uma janela com a mensagem perguntando se deseja visualizar mais itera­
ções, dessa forma, o usuário poderá optar por visualizar até 70 iterações.

Método de Newton
Caso o usuário deseje resolver a equação anterior cos(x)-0.1 x=O usando o
método de Newton, deverá posicionar em métodos de resolução, e cli­
cando em Newton, fornecer a derivada da função f(x), a solução inicial Xo = 0.5,
a precisão E 0.0001 .
=
Manual do Software Numérico 315

Clicando em Resolver, temos as janelas conforme Figura 7.14 a) e b):

a) b)

Temos, neste momento, a seqüência de soluções aproximadas exibidas


e a raiz procurada x = 1 .4276, conforme Figura 7.14 b) e c).

e)

Figura 7.1 4
316 Cálculo Numérico

Método das secantes


Caso o usuário deseje resolver a equação cos(x)-0.1 x=O usando o método

tes, fornecer duas soluções iniciais Xo = 0.5 x1 = 1, e a precisão E = 0.0001.


das secantes, deverá posicionar em métodos de resolução e, clicar em Secan­

Clicando em Resolver, temos a seqüência de soluções aproximadas e a


raiz x = 1.4275, conforme janela da Figura 7.15 b) e c):

2 15685
3 1.m
U275

a) b)

DIC

e)

Figura 7.1 5
Manual do Software Numérico 317

Descrição breve dos métodos numéricos usados no


módulo raízes de funções
Seja f: 9t � 9t, contínua e diferenciável, deseja-se determinar as raízes da
equação f(x) = O, isto é, determinar X: tal que f(x) = O.
Métodos iterativos

Método da Bisseção
Seja f: 9t � 9t, contínua.
O método da bisseção consiste em determinar uma seqüência de inter­
valos [rn, sn], em que a amplitude deste intervalo é a metade da amplitude
do intervalo anterior [rn-1 , Sn-i1 e que sempre contenha a raiz, a partir de um
intervalo inicial dado [ ro, s0].
Passos
1 . Dados E > O e um intervalo inicial [ a , b] que contenha uma raiz
para f(x).
Considerando r0=a e s0=b, determinar a seqüência de soluções
aproximadas:
xi = (Ii + sJ / 2 i = O, 1, ...
Se f(rJf(x J < O, então li+i = li e si+l = xi
Se f(rJf(x J > O, então li+i = xi e si+l = si

de para d a: � +l"-. i l < E.


. , . i -x
2 . C nteno
l"-i+l I

Sempre garantida, uma vez que partimos de um intervalo que contém a raiz.
Convergência

Exemplo 7.13
Resolva a equação x2 + ln(x) = O, usando o método da bisseção com E = 0.01 .
Considerando 1(i = 0.1 s0 = 1, para o qual verifica-se f(l(i )f(s 0 ) < 0, gera-se a
seqüência de soluções aproximadas:
X0 = (r0+ s0) / 2 0.5500
=

Como f(r0) = -2.2926 e f(x0) = -0.2953, o novo intervalo será tomado


como:
r1 = 0. 5 5 00 e s1 = 1
Assim, temos:
318 Cálculo Numérico

Continuando o procedimento de cálculo de soluções aproximadas, temos


as seguintes soluções aproximadas:
X2 = 0.6625 X3 = 0.6063 X4 = 0.6344 X5 = 0.6485 X6 = 0.6555 X7 = 0.6445
Xs = 0.6425
Neste momento, temos o critério de parada satisfeito:
l x1 - xl 1
7 0.0031 < E.
xs
Portanto, temos a solução aproximada dada por:
x := xs = 0.6425

Método das aproximações sucessivas


O método das aproximações sucessivas consiste em transformar a equação
f(x) = O na forma equivalente x <1> (x), de maneira a determinar a raiz de f(x)
=

através da resolução da equação x <1> (x). =

Observa-se que existem infinitas maneiras de escrever x <J>(x). Por =

exemplo, multiplicando a equação f(x) O por uma função 8 (x): 9t � 9t, com
=

0(x) -:;:. O, e somando x, teremos:


<l>(x) = x + 0 (x)f(x) = x
Assim,
f(x) = O <=> <l> (x ) = x
Desta forma, gera-se o processo iterativo:
X ;+i = <l> (x; ) i = l, 2, ... � método das aproximações sucessivas
Convergência
Se l <l> '(x) l < l, para todo x nas vizinhanças da raiz X: então a seqüência de solu­
ções aproximadas gerada pelo processo iterativo X;+i = <l> (x; ) i = l, 2, ... é
convergente para a raiz desejada X:.
Passos
1. Transformar a equação f(x) = O, na forma equivalente x = <1> (x).
2. Análise de convergência:
l <l> '(x) l < l, para todo x nas vizinhanças da raiz X:.
3. Dados E > O e x 0 uma solução inicial para a raiz, gerar a seqüência
de soluções aproximadas usando o processo iterativo:
X;+1 = <!> (x; ) i = l, 2, ...

l x;+1 - x; I < E.
I X i+ I I
4. Critério de parada:
Manual do Software Numérico 319

Exemplo 7.14
Usando o método das aproximações sucessivas, determine uma raiz de
f(x) = cos(x)-x, com E = 0.01.
Depois de localizar uma vizinhança para a raiz de f(x), considera-se o
processo iterativo:

Analisando a convergência, temos l <l>'(x) I = 1 -sen(x) l < l, para todo x


nas vizinhanças da raiz x.
Desta forma, temos a seguinte seqüência de soluções aproximadas:
Xo = 0.7 X 1 = 0.7648 X2 = 0.7215 X 3 = 0.7500 X4 = 0.7311 X5 = 0.7444
X6 = Ü .7355 X7 = 0.7415 Xg = 0.7375

Neste momento, temos o critério de parada satisfeito:

Portanto, temos a solução aproximada, dada por:


X = x8 = 0.7375

Método de Newton
No método das aproximações sucessivas transformamos a equação f(x) = O
na forma equivalente x = <l> (x), onde <l>(x) = x + 0 (x)f(x) .
Para que a convergência seja garantida, deve-se ter 1 <l> '(x) 1 < 1 para x

O método de Newton consiste em tomar uma função <I> (x), de forma


nas vizinhanças da raiz.

que <l>'(x) = O. Considerando <I> e <!>' contínuas, temos l <l> '(x) l < l para todo x
nas vizinhanças da raiz x.
Assim, temos:
<l>(x) = x + 0 (x)f(x)
<l> '(x) = 1 + 0'(x )f(x)+ f '( x )0 (x) = o
Dessa forma,
e (x) = - 1 1 f '(x)
Adotando-se então a escolha 0(x) = - 1 / f '(x), temos:
320 Cálculo Numérico

Assim,
f(x; )
x i +l = x i - i = O, 1 , . . . -7 método de Newton
f '(xi )
Passos
1. Seja f(x) uma função contínua e diferenciável e dados E > O e Xo uma
solução inicial.
2. Gerar uma seqüência de soluções aproximadas, através do processo
iterativo:
f(x; )
x i+ 1 = xi - i = O, 1, ...
f '(x; )

3. Critério de parada: 1 '


x 1
j Xi-,d
<E
l +
Convergência
Baseado no método das aproximações sucessivas, o método de Newton foi
construído de modo que a convergência esteja garantida.

Determine uma raiz de f(x) = ln(x) + x - 4 com E = 0.000 1 .


Exemplo 7.15

Do método de Newton, temos:

X i+ l = X i - :.��i» i = O, l, ...

1
Como f '(x) = -- , temos a seqüência de soluções aproximadas:
(x + l)
Xo = 1 .5 X1 = 2.7567 X2 = 2.9250 X3 = 2.9263 X 4 = 2.9263

Neste momento, o critério de parada é satisfeito: jx 4 l


l x - X3 1
= 0.0000 < E.
Portanto, temos a solução aproximada, dada por:
x ::: x4 = 2.9263

Método das secantes


Ométodo das secantes consiste na modificação do método de Newton, de
modo a não exigir o cálculo da derivada da função f(x):
Considera-se,
Manual do Software Numérico 321

Do método de Newton,

i = O, l, . . .
Assim,
(xi-l f(xi ) - xi f(xi-l ))
xi.+1 = i = O, l, ... � métodos das secantes
(f(xJ - f(xi_1 )
Passos
1. Seja f(x) contínua e dados € > O Xo e x1 soluções iniciais.
2 Gerar a seqüência de soluções aproximadas, através do processo
iterativo:
(xi_1 f(xJ - xJ(xi_1 ))
x1+. 1 = i = O ' 1 ' ..
(f(xJ - f(xi-1 )) .

3. Critério de parada: 1 xi"-1


Xi+l
I < E.
Convergência
Garantida desde que as soluções iniciais sejam tomadas próximas da raiz de f(x).
Exemplo 7.16
Resolver a equação x + ln(x) = O, usando o método das secantes com € = 0.01.
Processo iterativo:
(xi-l f(xi ) - xJ(xi-t ))
Xi+l = i = O, l, ...
(f(xJ - f(xi-l )
Soluções iniciais: Xo = 0.1 x1 = 0.5.
Dessa forma, gera-se a seqüência de soluções aproximadas:
X2 = 0.5384 "4 = 0.5675
X3 0.5658
=

Neste momento, o critério de parada é satisfeito:


l x -X 3 1
X4 I
j = 0.0030 < € e
toma-se como solução aproximada
X =: X4 = 0.5675.

7 .5.4 Módulo aproximação de funções


Neste módulo, o usuário tem a sua disposição Interpolação de Funções,
Aproximação com tabela de pontos ou Expressão de f(x). Nesta opção, temos
disponíveis as Fórmulas Interpolatórias de Lagrange, Newton e Newton­
Gregory. O usuário tem ainda disponível Ajustes de Funções usando o Mé­
todo dos Mínimos Quadrados.
322 Cálculo Numérico

Interpolação de funções
Caso o usuário escolha Interpolação de Funções com a opção Aproximação - Ta­
bela de pontos, deverá fornecer a tabela de pontos a ser interpolada, especificando
os valores de xi e os correspondentes f(xi), clicando sempre em Confirme. Poderá,
ainda, Limpar pontos ou Limpar 1 ponto, conforme janelas da Figura 7.16 a) e b):

a) b)

Figura 7.1 6

Neste momento, o usuário deve escolher a fórmula interpolatória dese­


jada, conforme janelas da Figura 7.17 a):

a)
Manual do Software Numérico 323

Clicando em Lagrange, o usuário deverá fornecer o grau do polinômio


corretamente e o ponto a ser interpolado. Neste momento, deverá clicar em
Polinômio Interpolador, seguidamente de Calcular polinômio no ponto,
conforme janela da Figura 7.17 b ) :

b)

Figura 7.1 7

Caso o usuário deseje plotar polinômio, basta clicar neste botão e temos
uma janela com o gráfico do polinômio, pontos fornecidos e o ponto interpo­
lado, conforme janela da Figura 7.18:

� t • , • l l r ) • l>l 1 1 1 • • ( 1 < '" 1 , ._< Jr • ll H' J< '


r- ��- �- --

r r
- P61iít.t..., ln1•'111'6._.,r
. ,._..._. r�•
• Po.... ....... .wlA
· · r - · · · · - - · - - - - � - - - - - - - - - · - · - - - -- - - - · · - - - - - -

94 - - - - · - - · · - - · - - - - - - � - - · - - - - - - - - ;. - - - - - - - - - - · -r: - - - - - - - - - - - 1: - - - - - - -

� 2 ---- · - - · ·-------· r! :
···---··--·
.i: "
· - - - - - - - -
i ;
!
-�-----------·r··--· !

º - - - - - - - - - - ----- - - r - - · - - - - - · - r ·· · · - - - - · - r · - - · · -- · · r ···-·

· il :iil ---··· - - - - - - - - - - · · t · - - - - - - - - - - - r - - - - - - - - - - - 1- - - - - - - - - - - - 1 - - - - -
. ... 2 .... 2.8

Figura 7.1 8
324 Cálculo Numérico

Caso o usuário deseje trabalhar usando a expressão de f(x), deverá sele­


cionar Aproximação - Expressão de f(x) e fornecer função f(x), conforme
janelas da Figura 7.19 a) e b):

E.nlre C011 a

a) b)

Neste momento, o usuário t�rá à sua disposição a função tabelada nos


pontos fornecidos, podendo ainda Limpar pontos ou Limpar 1 ponto, cli­
cando sempre em Confirme, conforme janela na Figura 7.19 c):

e)

Figura 7.1 9
Manual do Software Numérico 325

Clicando em Continuar, deverá fornecer corretamente o grau do polinó­


mio, o ponto a ser interpolado e, clicando em Polinômio Interpolador e Calcular
polinômio no ponto, tem-se disponível a janela conforme Figura 7.20 a):

a)

O usuário poderá, ainda, Plotar polinômio, e terá o gráfico do polinô­


mio interpolador, pontos fornecidos, ponto interpolado e a função fornecida,
conforme janela da Figura 7.20 b ) :

ª • • • t• • • • • !•• • • • ·�·-· ·-• • 1 • • • • • 1• •}


:: - . - -- - :� ---�- �: � �: +-�
2llO � • -
: - � � � � � � �����
- •
: - - - - - ::
-=· · - -�- . - - - - -- - � - -- - - -- ·

- -
-

- - - -
. - - - - · �- - -

-- ------:--- : --
-

230 - · - - - -� - - - - - - - - -� - - - - - - - - - - - � - - - - - - - - - - � - - - - - - · · · - - 1 - - ---

-----� -
aoo - - - - - ·e · · - - · · . .:. . . . . . . . .. · c ···· ·-···· i ---· · · · · -·i· -·

, 90 - - - - - ·r - - - - - - - - -- : - - -------- r - - - ----- - - 1 ---- - - ---- � - ----

ttlD - - -• •
-r - - . . . . . . - - ..z. • • • _ . • . _ _ _ -:- - - - - - • • • --�- • . _ _ _ . • . . - � ••--

, .º - - - - - - - - - - -� - - - - - - - - - - -� . - - - - - . - - - � - - - - - - - - - - - � - -- - ­

·� - -- - -� -- - - - - - . - - - - - - ;.. - - - - - - - - - �- - - - -- - - - - - -----­

't iQO - - ---- � ------- �


· · ""?" · · - - - - - - - - - - - - - - - - - - - - - - - - - - - - - � �-----·

�� F E L ·:2.4 o ••

b)

Figura 7.20

Para calcular o limitante superior para o erro, clicando no botão apro­


priado, o usuário fornece a expressão do limitante corretamente e a n-ésima
derivada da função f(x).
326 Cálculo Numérico

Com o auxílio de gráficos disponíveis, o usuário deverá calcular o maior


valor em módulo que esta derivada assume dentro do intervalo. Dessa forma,
tem-se as seguintes janelas, conforme janelas da Figura 7.21 a) e b):

"""
�l 1•11 1 : lntP Supenor p�a o crro
--------- - -
_

J.!18 ... . r- ��:·- ·-·:··- ·:······r·


... .. H
ia: ··:···· ·:··-···: ····- ·: · · ..
... ..,,. .
. ' . . ' . ' .

· -r· · -r· -·1 - --r· ·-r--


. . . . . '
. . . . . . '
. . .
. . . '
. . . .
'
'
. ' . '
. ' , . '
� � . . .. . .
'

.
.
.
'
.
. . .
. . .

'

1.M 1.12 12 1.19 1 .a 1.IM UJ 1.2 1.l! 1 .Jli

a) b)

Neste momento, tem-se o limitante superior para o erro calculado, con­


forme janela da Figura 7.21 c):

e)

Figura 7.21

Todas as demais fórmulas interpolatórias seguem o mesmo roteiro,


conforme detalhado na fórmula de Lagrange.

Ajuste de funções - método dos mínimos quadrados


Caso o usuário escolha a opção Ajuste de Funções usando o Método dos
Mínimos Quadrados, deverá clicar no botão disponível e fornecer a tabela
de pontos para ser ajustada, podendo, ainda, Limpar pontos ou Limpar 1
ponto, conforme janelas da Figura 7.22 a) e b):
Manual do Software Numérico 327

de curvas: Método dos M fninlos Q uadrados

Neste momento, o usuário deverá clicar no botão Plotar Pontos e terá


uma janela com os pontos dispostos no plano, para a seguir escolher a fun­
ção que deverá ser usada no ajuste, conforme janela da Figura 7.23 a):

><

1• Ponloa 1ornecldoa 1

l ---------t- -----------1-- : -----1----- -


-

18 - ------ -- - - - - - ---- --------- ---- · - - - - - . -

-r···· ·r-·· ·:- ---r :


-
12 _ _ • •• • ---· . . . . . . . . . . . . . . . . . . . . . . . __ . ·----- - - · . ·--· ·· . . . . . .

6 --- - - ..:.. . .. .. ., _ _ _ ., _ _ _ _ _ _ ;. _ _ _ - - - - . - - - - - - �- - - - - - - - - - - - - - -:- - - - - - - - - - .. - - - - � - - - - .. - - ·


: . : : : :

- - -
' . ' '

· - - - - - :- - - - - · : .. · - - - �- · · - -- - · - - -r · · · - - --- · - -1- · · ·· ·
' . . ' '

o ... - .. - .. .. - - - - - - - - -- - - - - - - - - - -

' . .
' . .
' . .

- .. .. .. - - - .. - - - - • �- -- - - • - - .. .. • i- .. .. .. - - - - - :. - - - - . . - - - .. - - - - � - - - - - - - - .
' . . '

.-6; - - - - - .. -:·- .. .. - - .. - -

1 .118 1 .218 t ..44 1 Al2 t .8

a)
328 Cálculo Numérico

Observando os pontos na janela anterior, pode-se concluir que o ajuste


polinomial seria uma boa escolha, clicando em Ajuste Polinomial, Função
g(x) e Plotar g(x) tem-se uma janela com a função g(x) de grau 2 ajustada e o grá­
fico de g(x), conforme Figura 7.23 b ):

� r, i.�trirln ''' "' ' l 1 n 1 1l 10<; Q• •·'><1rado"


-- -- - - ----�
'

t ----·t --· - - -r······· --···r · ····-·· ··· ---·· ·-·


: ·· r f.
18 ------ ------ --- · - · ·

12 · · · · · · · · · · · · ·· · · · • • • • • • . ...... . . . . . . . ········· .

.
.. .. .. . .. . .:,. . . . .. .. • � . .. .. .. .. . . . - . .. .. ... .. -' · · .. ... . .. .. .. .. .. .. . _ .. ..;.. � �

! � l ! i
• . . .. . .. . .. .. ... .. .. .. . .. .. ... .. ... 4 .. .. ... .. ... .. ..

· ·

...... :::.: :r::::: . ·· 1· : ::: :·::::·r·--:-::::::::: r :::::::


- . . . . . . . .

º --- ---
. .

1 .oe 1 .44 1 .e

� -100.6410 X� +30&9103 X!"(l) .::J. 1 7.:Ja17


Eno Plat- 111'."1 •., """"° """''"''°

b)

O usuário pode, ainda, avaliar a qualidade do ajuste escolhido, clicando


em Erro Cometido, conforme janela da Figura 7.23 c):

e)

Figura 7.23

Todos os demais ajustes seguem o mesmo roteiro exibido anteriormente.


Manual do Software Numérico 329

Descrição breve dos métodos numéricos usados no


módulo aproxi mação de funções

Seja f(x) definida em :xo, x11 , Xn (n + 1) pontos distintos de um intervalo [a, b].
Interpolação de funções
•••

Deseja-se aproximar essa função por um polinómio P(x) de grau menor ou


igual n, tal que o polinómio coincida com a função nestes pontos, isto é,
Pn (x; ) = f(x; ) i = O, l, ... , n.

Existência e Unicidade
Seja f(x) definida em Xo, x1, ... , Xn (n + 1) pontos distintos de um intervalo [a, b],
então existe um único polinómio Pn(x) de grau menor ou igual a n, tal que
P n (x; ) = f(x; ) i = O, l, ... , n.
Utiliza-se neste trabalho três fórmulas interpolatórias: Lagrange, Newton
e Newton-Gregory.

Seja f(x) definida em Xo, x1, . .., Xn (n + 1) pontos distintos de um intervalo [a, b].
Fórmula de Lagrange

Por notação considera-se f(xi) = Yi i = O, l, 2, .. . � n.


n n (x - x )
Neste caso, tem-se: Pn (x) = L Yk fdx), onde R k (x) = n i .
r;t k. I
k=O (x - x
i=O k i )
Fórmula de Newton
Baseado nas diferenças divididas:

� [xi ] = f(x J � diferença dividida de ordem zero

Assim, temos o polinómio interpolador de Newton:


pn (x) = � [Xo ]+( X-Xo )f1 [Xo , X1 ] + ( X -Xo )( X - X1 )f2 [Xo , X1 , Xz ] + ... +
+(X -Xo ( X -X1 ) ... ( X -Xn_1 )� [Xo , X1 1 ··· 1Xn ]
Fórmula de Newton-Gregory
Baseado nas diferenças finitas:

�n f(x) = �n-1 f(x + h) - �n-1 f(x) � diferença finita de ordem n


�º f(x) = f(x) � diferença finita de ordem zero
330 Cálculo Numérico

Assim, temos o polinómio interpolador de Newton-Gregory :


Pn (x) = do f(x0 )+(x -x0 ) �«�1 > +(x -x0 )(x -x1 ) �«�2 > + ... +
l!h 2!h
dnf(x0 )
+(x -x0 )(x -x1 ) ... (x -xn_1 )---'­
n!hn
Limitante superior para o erro
l (x -xº )(x -x1 ) ... (x -xn ) I máx { i f< n+l l (x) l , x e [a, b]
E(x) �
(n+ l)! }
Exemplo 7.17
Seja f(x) tabelada como segue:
X o 1.0 2.0
f(x) o 3.0 10.0
Determine o polinómio interpolador de f(x), usando a fórmula de
Lagrange, Newton-Gregory e Newton, avalie f(l.6).
a) Lagrange � P2 (x) = y0f0 (x)+ y1f 1 (x)+ y2 f 2 (x)
(x) = x2 - 3x + 2
fo
2
x 2 - 2x
f 1 (x) =
-1
2
x x
f 2 (X ) = ---
2
Portanto, temos P2 (x) = 2x2 + x e P(l.6) = 6.72 = f(l .6)
b) Newton � P2 (x) = t [x0]+(x -x0 )f1 [x0 ,x1 ]+(x - x0 )(x -x1 )f2 [x0, x1 ,x2 ]
Tabela das diferenças divididas:
fo f1 f2
o o 3.0
1 3.0 7.0 2
2 10.0

Portanto, P2 (x) = 2x2 +x e f(l.6) ::: P(l.6) = 6.72.


e) Newton-Gregory
Como h = l, temos:
d1 d2
P2 (x) = dº f(x0 )+(x -x0 ) f(x/ ) + (x -x0 )(x -x1 ) f(x2° )
l! h 2! h
Manual do Software Numérico 331

Tabela das diferenças finitas:

ll.º ll.1 ll.2

o o 3
1 3.0 7 4
2 10.0

Portanto, P2 (x) = 2x2 + x f(l .6) :: P(l.6) = 6.72.


Observação
Caso o usuário forneça a forma analítica da função f(x), é possível calcular
limitante superior para o erro.
Aproximação de funções - método dos mínimos quadrados
O método dos mínimos quadrados consiste em, conhecidos os valores de f(x)
em m pontos, determinar uma função g(x) que melhor se aproxime de f(x). Para
esta aproximação usamos uma função g(x), a qual pode ser uma combinação de
funções polinomiais, exponenciais, logarítmicas, trigonométricas etc.
Assim, desejamos determinar uma função g(x) = a1 g1 (x) + a2 g2 (x) +
+ ... + an g n (x) de forma que o erro E = :L/ e(xJ )2 seja mínimo, isto é
m

E = L ) f(xJ - g(xJ)2 seja mínimo:


i=l

i=l
Portanto, para determinar os parâmetros ai i l, ... , n, temos de resol-
=

ver o seguinte sistema de equações lineares:

<=> L 1 (xi )g1 (xi ))a1 + ( L g2 (xi )g1 (xi ))a2 + . .. +


-aE = Ü ( g m m

ªª1 i=l i=l


+ ( L gn (xJg1 (xJ )an = L f(xJg1 (xJ
m m

i=l i=l

+ ( L gn (xJg2 (xi ))an = L f(xi )g2 (xJ


m m

i=l i=l

+ ( L gn (xJgn (xJ )an = L f(xJgn (xJ


m m

i=l
332 Cálculo Numérico

Assim, temos:
m m m m

(L, g1 (x; )g1 (x; ))a1 +(L,g2 (x; )g1 (x; ))a2 + ... + (L, gn (x; )g1 (x; ))an = L, f(x; )g1 (x; )
i=l i=l i=l i=l

m m m m

(L, g1 (x; )g2 (x; ))a1 + (L,g2 (x; )g2 (x; ))a2 + ... + (L, gn (x; )g2 (x; )) an = L, f(x; )g2 (x; )
i=l i=l i=l i=l

m m m m

(L g1 (x; )gn (x; ))a1 +(L, g2 (x; )gn (x; ))a2 + ... + (L, gn (x; )gn (x; ))an = L, f(x; )gn (x; )
i=l i=l i=l i=l

O sistema de equações lineares obtido é denominado sistema de equa­


ções normais, o qual pode ser resolvido por qualquer método visto anterior­
mente. Com a solução do sistema, determinamos os parâmetros a; i = 1, ... , n e,
conseqüentemente, a função g(x) = a1 g1 (x) + ... + an gn (x) que melhor se ajusta à
função f(x) nos pontos x11 x21 , Xm no senso dos mínimos quadrados.
•••

Exemplo 7.18
Seja f(x) tabelada como segue:

o
2.1
4.9
1 2
8.2
3
1 0. 3 44 5
1 16.8

Usando o método dos mínimos quadrados, determine g(x) = a1x + a2 , que


melhor se ajusta aos dados.
Sistema de equações normais:

I, x;2 I, x; I, f(x; ) x;
6 6 6

r::i
k=l k=l k=l
=
I, x; I, f(x; )
6 6
6

ª
k=l k=l

9rl56.491
Assim, temos o seguinte sistema de equações lineares:

r55 51 rª2l l
1
=
15 6

{ ª1
Usando o método de eliminação de Gauss, temos:

ª2 = 2.9571
= 2.0905
Manual do Software Numérico 333

Portanto, temos:

g(x) = 2.9571 X + 2.0905


Cálculo do erro:

Temos: E = :L ( e (xJ )2 = 0.0762 e qualquer outra reta possui a soma dos


6

i=I
quadrados dos erros superior a este valor obtido.
Podemos, ainda, obter outras aproximações, usando a função hiperbó­
lica e a função exponencial da seguinte forma:
a) Caso hiperbólico
1
Considere a função g(x) = para ser ajustada aos dados do problema.
a1 x + a2
Neste caso, como a função g(x) não é linear nos parâmetros a 1 e a2, o
sistema obtido por:

é um sistema de equações não lineares. O método dos mínimos quadrados


desenvolvido anteriormente pode ser usado, fazendo-se uma transformação
adequada de modo a obter uma combinação linear nos parâmetros.
1
Considere a função h(x) = -- = a1 x + a2 que aproxima a função
g(x)
1
-- e temos agora o caso do ajuste linear já conhecido. Assim, temos o se­
f(x)
guinte sistema de equações normais:

( :L xn a1 + ( L xi )a2 = :L �
m m m

i=I i=I i=I f (Xi )

( L xJ a 1 + m(a2 ) :L
m
1 m

= -

i=I i=I f(xi )

Os parâmetros obtidos na resolução do sistema de equações normais resol­


vem o problema

minimizar Íi= (-f(x1-i ) - h(xJ)2


t
e fornecem uma solução aproximada para o problema inicial proposto.
334 Cálculo Numérico

b) Caso exponencial
Podemos considerar uma função na forma g(x) = a(bt com os parâmetros
"a" e "b" positivos, para ser ajustada aos dados do problema.
O método dos mínimos quadrados desenvolvido anteriormente pode
ser usado fazendo a seguinte transformação:

h(x) = ln (g(x)) = ln (a ( bx )) = ln (a) + ln ( bx ) = ln (a) + x ln (b)

Definindo-se:

temos que h(x) é uma combinação linear das funções g1 (x) = x e g 2 (x) = l,
isto é, h(x) = a 1 g 1 (x) + a 2 g 2 (x).
Desta forma, obtemos o seguinte sistema de equações normais:

( L x/ )a1 + ( L xJa2 = I ln(f(xJ)xi


m m m

i=l i=l i=l

m(a2 ) = L ln(f(xJ)
m

i=l
Os parâmetros a 1 e a2 obtidos na resolução do sistema linear de equa­
ções resolvem o problema

L
m

minimizar (ln(f(xJ - h(xJ)2


i=l
e fornecem uma solução aproximada para o problema original dado.

e) A decisão sobre a escolha da função a ser considerada no ajuste, para repre­


sentar a tabela de dados, deve ser tomada após a construção do gráfico
com a disposição dos pontos.

7 5 5 Módulo integração numérica


. .

Neste módulo, o usuário tem à sua disposição métodos numéricos para inte­
gração de funções. Nesta opção, estão disponíveis as regras de integração de
Newton-Cotes, ou seja: Regra dos Trapézios, Regra 1/3 de Simpson e Regra
3/8 de Simpson.
Caso a opção seja Pontos Eqüidistantes e Entrar com Pontos, temos uma
janela na qual o usuário deve fornecer os dados X; e os correspondentes f(xi ),
Limpar pontos ou ainda Limpar 1 ponto, conforme janelas da Figura 7.24 a) e b ):
Manual do Software Numérico 335

l ntegr

23.0000
54.0000
1 5. 0000
·5. 0000

a) b)

Figura 7.24

Clicando em Continuar, o usuário deverá escolher a regra de integra­


ção desejada, conforme janela a seguir:
Se o usuário desejar a opção Regra dos Trapézios, deve clicar no botão
adequado, e terá uma janela com o resultado desejado, conforme Figura 7.25
a) e b):

Regra dos T rap6zios

Regra 1 13 tle s-....

a) b)

Figura 7.25
336 Cálculo Numérico

Caso o usuário deseje a opção Regra 1/3 de Simpson, deve clicar no bo­
tão disponível e, neste momento, terá uma janela Verifique as condições do
método, pois não é possível aplicar neste caso a Regra 1 /3 de Simpson, temos
apenas número ímpar de subintervalos, conforme janela da Figura 7.26 a):

a)

Se o usuário desejar usar a opção Regra 3/8 de Simpson, basta clicar


neste botão e terá o resultado, conforme janela da Figura 7.26 b):

b)

Figura 7.26

Caso o usuário deseje calcular a integral de uma função na opção


Entrar Função - Valor de h, deve fornecer a expressão da função, o inter­
valo de integração e o espaçamento entre os pontos conforme janelas da
Figura 7.27 a) e b).
Neste caso, consideramos a função f(x) = (ex + 0.5), o intervalo [-1, 2]
e o espaçamento h = 0.1, clica-se na opção Regra dos Trapézios e temos os
resultados desejados, conforme janelas da Figura 7.27 c) e d).
Manual do Software Numérico 33 7

-uxm

e) d)

Pode-se, ainda, esboçar a área coberta pela integral da função dada,


clicando em Plotar Gráfico, e temos a área sombreada, conforme janela
da Figura 7.27 e):
338 Cálculo Numérico

e)

Figura 7.27

O usuário pode, ainda, calcular o limitante superior para o erro para a


regra dos trapézios, neste caso, deve fornecer as derivadas necessárias para este
cálculo, bem como analisar o maior valor que essa derivada assume, em módulo,
dentro do intervalo de integração, conforme janelas da Figura 7.28 a) e b):

a)

Fornecendo a expressão do limitante superior para o erro da regra


dos trapézios, temos o cálculo do limitante superior para o erro, conforme Fi­
gura 7.28 b):
Manual do Software Numérico 339

1- ver r eat
7 .D21

• 1 • t t 1 '
. '

... - - - .- - - • - - -.- - - .- - - .. - - r -
- -
' '
5.81 7
• 1
5.81 7
• • • •
.. - -. - - .- - -

• 1 ' ' ' 1 t 1


. . . . . . . '

r -;- --:--:---: - -:---;- -r- :-- -r -


. . . . . . . . . . . . . . . . . .

4 .21 3 !• - - -:• - - - •!- - - �1 - - -�1 - - !• - - -:- - - •� - ,-



- -:-• - 4 . 21 3
.
'

• • 1 • 1 1 •
. . .

• • 1 1 • • ' • • 1 1 1 1 t 1 • f '
' '

- -
'

-
' '
2' .SOS 2'.SOS
• - - ..1 - - - •
.. • - - - .-
.- - - � 1 - - .
• --� .- - - ..• -
- .. -•
·
' - ..� - - - ...
. . j 1 1 1 • • • • 1 1
-
' . ' .-

, • 1 f • •

1 t r 1 r
- - ... - - - .- - - . - - -....: - .- - - .. - - .- -
' .. ' . ' .
. ' .

: - - :- - - : - - � - - :
'

- - -· - - -- - - - -
. . . ' . . . . . . . . . . . . . .

t - - .:· - - : - - � - - : !---�-·� .. : :
1 .404 1 .404 - -
.. .. - - -

..O.S .0.6 -0..3 o 0.3 o.s 0.9 1 .2 1 .$ 1 .8 .o.a.o.6 .o.3 o 0.3 o.e o.9 1 .2 1 s 1 .s

(7.3891)

b)

Temos, neste momento, após clicar em Calcular limitante o valor do


limitante superior para o erro, conforme janela da Figura 7.28 c):

e)

Figura 28

No caso de o usuário desejar calcular a integral de uma função usando a


opção Entrar Função N11 de Pontos, como na Figura 7.29 a) deverá fornecer
-

a expressão de f(x) e o número de pontos desejado no cálculo da integral.


Digitando a função f(x) ex + 0.5, o intervalo [l, 2 ] e o número de pon­ =

tos N 10 pontos, temos os resultados desejados, conforme janelas da Figura


=

7.29 b) e c):
340 Cálculo Numérico

a) b)

Neste momento, temos a função avaliada nos pontos calculados xi e


clicando em Continuar temos as opções das regras de integração conforme
janelas da Figura 7.29 d) e e):

·1 .GOllO Cl.8819

.0.&&81 1Jn34

-o.3333 j1.2165

,, .•
-

0.(111)

�3333 1.8&

e) d)
Manual do Software Numérico 341

gral, conforme resultado nas janelas da Figura 7.29 e) e f):


Clicando em Regra 1/3 de Simpson, temos o valor aproximado da inte­

M6todo

Regra 1 fJ de Silpson

e) f)

Figura 7.29

O usuário pode, ainda, calcular o limitante superior para o erro para a


Regra 1 /3 de Simpson, fornecendo as derivadas necessárias e a expressão do
limitante superior para o erro, conforme janelas da Figura 7.30 a) e b):

7 D21 t- -�- - - �
• '
- - �-

- -� .. -� - -.-:- -- �-- !- - -�
1 � • • •
• • • 1 1 • • •
' '

1 1 1 1 • j i 1 •
'

5.817 � - -�--- �--1---�·-:·-�-- �-- �- : ·


• • • 1 • • • • •
1 • • 1 ' • • •
'

• • ' 1 ' • • •
'
'

41'3 ! · ·�- � · � · ·� - - � · =- · · : · .· · ·� ·
• • • 1 1
..

1 1 • 1 1 1 1 •
..

• • • • 1 ' ' • • • • 1 1 •
'

• • 1 • • • • 4

;- -+-- : -- �- -- :- - ; - - . � :
' '

- - !. - - -
. . . . . '

-
2.sae
• • • • 1 • • •
2.8118
�- -+--:--i-- -:·-�-- . - �--�--�-
• • f 1 . . . . . ..
1 1 1 1 1 • 1 t 1 1 1 1 t 1 t
'
' 1 '
. . . . . . . . .

'� !--� ; .. �
• •
...

.. .

. ·1_..; ; ... �,.--�·
1 •
....
• • �
1 .404 :' · ·�···�··
1 •
t·· •
·:• ··�""

? · · �-• - ·�• -

1 • • 1 t • • 1 • 1 1 1 t 1 • t

.oJ•j.Q.3 O D.S O.S 0.9 12 1.5 1 .8

a) b)

Clicando em Calcular Limitante, temos o resultado desejado, conforme


janela da Figura 7.30 c):
342 Cálculo Numérico

e)

Figura 7.30

Caso o usuário deseje calcular a integral de uma função, em pontos não


eqüidistantes, o Software Numérico oferecerá a opção do uso da Regra dos
Trapézios, considerando cada subintervalo e o "h" correspondente, confor­
me janelas da Figura 7.31 a) e b):

Aviso

a) b)

Neste caso, digitando os valores de xi e f(xj), pode-se, ainda, Limpar


pontos ou Limpar 1 ponto; clicando em Continuar, temos o valor aproxima­
do da integral, conforme janelas da Figura 7.31 c) e d):
Manual do Software Numérico 343

1 .5000
1.11000 34..0000

3.0CO> -10.�

e) d)

Figura 7.31

Se o usuário desejar calcular a integral de uma função na opção Entrar


com Função, ainda nesta opção, Pontos não Eqüidistantes deve fornecer a
expressão de f(x), podendo ainda, Limpar pontos ou Limpar 1 ponto.
Neste caso, fornecendo os pontos desejados, temos a função f(x) tabelada.
Considerando a função f(x) l /x temos as janelas conforme Figura 7.32 a) e b):
=

lntegreç&o

1 .0000
0.6687

jo.2857 -
3.0000 0. 3333
3.5000

a) b)
344 Cálculo Numérico

Clicando em Continuar, temos o resultado aproximado da integral,


através da regra dos trapézios, conforme janela da Figura 7.32 c):

e)

Figura 7.32

Pode-se, ainda, observar a área coberta pela integral da função quando


utiliza-se a regra dos trapézios e o limitante superior para o erro, conforme
janela da Figura 7.33 a):

a)

O usuário pode, ainda, calcular o limitante superior para o erro na regra


dos trapézios, em cada subintervalo; por exemplo, considera-se o primeiro
subintervalo com h = 0.5. Os demais subintervalos seguem o mesmo roteiro,
no final somam-se os limitantes obtidos em cada subintervalo.
Manual do Software Numérico 3

Neste caso, o usuário deve fornecer as derivadas necessárias para


cálculo do limitante superior para o erro, o máximo valor que esta assur
no intervalo de integração e a expressão do limitante, conforme janelas ·

Figura 7.33 b) e c):

b)

Cálculo do limitante superior para o erro da regra dos trapézios:

� L i mi tante erro !
1 - Valor • 1 - m6iato da d811v-&t.la •
Supen or para o _

real - Valor em mó�


- - - - - - r--- - - - - - - - - - - - - - - - · .- - - --- - - - - - - - - ... - - - - - - - - - - - - -
O.B77 : :
0 .977 - - - - - ...
. . .
- - - -

.. 1 1 •
. ' . . ' .

• 1 • 1
' .

- - - .. _.. _ _ _ _ _ _ ,,. - - - _ _ .,., _ _ _ ... _ _ ... _ _ _ ... ... ...


' . .

0.781 • 1 1 •
0 .781 1 • • •
- - - - ... ... ... ... - - - -- - - ... ... ... ....... ... - - - - .... - - - - -

.. 1 1 •
• 1 • •
. . .

4 f 1 1 1 1 • 1
. .

.. •

.... ·� - - - · · -=- - -
0.586 . . ·:- . ·:· ·:· . .. . . . ...: - o ses • • · � • • • • · ·:· • · • • • -:· • • • • • <· • • • • •
1 t •
. . . .. . . .. . . . . . ... .

!

:
1 1
: :
' 1
'
'
'


.

.

0..391 .. . . .. -� · - - · · ·:
. '
. . . . . .. .. :.. . . .. - - ..! - - - .. .
.
.
º'.391 -- .. .. .. + - - - - · �- - - - - .
' ' . .
: ' . .

- - -� - - - - - �- - - - - - � - - - - - - -- -:- - - - - - - - - - -
' . . . . .

0.1 95 0 .1 El5 : - - -t- - - - - -

' .
' . .

1 .5 2 2.5 3 1 .5 2 2.5 3

e)

Desta forma, temos um limitante superior para o erro conforme janE


da Figura 7.33 d):
346 Cálculo Numérico

d)

Figura 7.33

Descrição breve dos métodos numéricos usados no


módulo integração numérica
A integração numérica consiste na aproximação de f(x) definida nos pontos
distintos x0, x1, ... , Xn do intervalo [a, b], pelo polinómio de interpolação, e na
integração de P(x) ao invés de f(x), isto é:

J J Pn ( x ) d x
b b

f(x)dx =
a a

Fórmulas de quadratura de Newton-Cotes


Seja f(x) definida em Xo, X11 , Xn (n + 1) pontos distintos e igualmente espaça­
•••

dos no intervalo [a, b], tais que (x i+1 - xJ = h, i = O, 1, ... , n - 1, h > O.


Em particular, para a interpolação, utiliza-se o polinómio interpolador
de Newton-Gregory de grau n, dado por:
�1 f(x0 ) �2 f(x° )
Pn (x) = �º f(x0 )+(x - x0 ) + (x - x0 )(x - x 1 ) +
l!h 2!h2
�"f(x0 )
+ ... + (x - x0 ) (x - xn-1 )
••• ---

n! h"
Sabe-se, da interpolação polinomial, que,

f(x) = Pn (x) + En (x)

onde
Manual do Software Numérico 347

Regra dos trapézios

Seja f(x) definida no intervalo [Xo, xi ]. Neste caso, o polinômio interpolador é


de grau n = 1, e temos:

J f(x)dx = J Pi (x)dx = hJ P1 (u)du


� � 1

� � o

onde P1 (u) é o polinômio interpolador de Newton-Gregory de grau n = 1 .


Assim,
1 1
(J
1
J f(x)dx = hJ ( 0 J
x,

� 0 f(x )+u � 1 f(x0 ))du = h � 0 f(x ) du + u �1 f(x0 ) du)


0
Xo Ü Ü Ü

J f(x)dx = zh [f(x0 ) + f(x1 )]


x,

Xo

Erro cometido na regra dos trapézios

Limitante superior para o erro

Regra dos trapézios generalizada

A regra dos trapézios generalizada consiste na subdivisão do intervalo de


(x

integração [a, b] em n subintervalos iguais, onde n = n Xo ) Xo = a n = b , X
e na aplicação da regra dos trapézios em cada subintervalo.
Assim, temos:
348 Cálculo Numérico

Erro na regra dos trapézios generalizada


O erro total na fórmula generalizada é obtido a partir da soma dos erros come­
tidos em cada subintervalo, isto é:
h3 (2)
E , = L - - f (Çi ) xi-I :::; Çi :::; xi
n

i=I 12

Assim, a expressão para o erro na regra dos trapézios generalizada


toma-se:

Limitante superior para o erro

I E1 I :::; �� (xn - xo ) máx {l f ((� ) J , x0 :::; x :::; xn }


Regra 1/3 de Simpson
Seja f(x) definida no intervalo [a, b ]. Neste intervalo, consideramos os pontos
eqüidistantes x0, x1 1 x2, com x0 = a x0 = b, e construímos o polinômio interpo­
lador da função f(x) de grau n = 2.
Assim, temos:
2
J f(x) dx = J P2 (x) dx = hJ P2 (u) du
X2 X2

Xo Xo o

Erro cometido na regra 1/3 de Simpson

E 2 = - h5 f ( Ç ) x0 :::; Ç :::; X2
(4)

90

Limitante superior para o erro

{I I
s
}
h
I E2 I :::; 90 máx f ( x ) , x0 :::; x :::; x2

Regra 1/3 de Simpson generalizada


(4)

A Regra 1 /3 de Simpson generalizada consiste em subdividir o intervalo de


integração [a, b] em n subintervalos de amplitude h, em que n é um número
par de subintervalos, de forma que Xo = a, Xn = b, e aplicar a Regra 1 /3 de
Simpson em cada par consecutivo de intervalo.
Manual do Software Numérico 349

Assim:

Erro na Regra 1/3 de Simpson generalizada

Como foi visto anteriormente, para cada dois subintervalos (3 pontos)


pode-se aplicar a Regra 1 /3 de Simpson e o erro total cometido para n apli­
cações é dado por:

Limitante superior para o erro

Regra 3/8 de Simpson

Considere f(x) definida [a, b]. Neste intervalo, considere os pontos Xo, Xv x21 x3
eqüidistantes. O polinómio interpolador neste caso é de grau n 3. =

Assim:
3
J f(x) dx := J P3 (x) dx = hJ P3 (u) du
� �

� � o

onde P3 (u) é o polinómio interpolador de Newton-Gregory de grau n = 3.


Assim,
x
3
J f(x)dx := hJ [�0 f(x0 ) + u�1 f(x0 ) + u(u2-! 1) �2 f(x0 ) + (u)(u -3l)(u
3
- 2) 3
o � f(x0 )] du
x
0 !

Uma vez que,


0
� f(x0 ) = f(x0 ) �1 f(x0 ) = f(x1 ) - f(x0 ) �2 f(x0 ) = f(x2 ) - 2f(x1 ) + f(x0 )
�3 f(x0 ) = f(x3 ) - 3f(x 2 ) + 3f(x1 ) - f(x0 )
350 Cálculo Numérico

temos:

Erro cometido na regra 3/8 de Simpson

3 (4)
E3 = -- h5 f (Ç)
80

Limitante superior para o erro

Regra 3/8 de Simpson generalizada

A Regra 3 / 8 de Simpson generalizada consiste em subdividir o intervalo [a, b]


de integração em n subintervalos, de amplitude h, onde n um número múl­
tiplo de 3, de forma que Xo = a e x0 = b, e aplicar a Regra 3/8 de Simpson a
cada 4 pontos consecutivos.
Assim,

J f(x) dx = -83 h [f(x0 ) + 3f(x1 ) + 3f(x2 ) + f(x3 ) ] + -83 h [f(x3 ) + 3f(x4 )+ 3f(x5 ) + f(x6 )] +

3 3
+...+ h [f(x0_3 ) + 3f(x0_2 ) + 3f(x0_1 )+ f(x0 )] = h [f(x0 )+ 3(f(x1 )+ f(x2 )+
B B
+ f(x 4 )+ ... + f(x0_2 ) + f(x 0_1 )) + 2(f(x3 )+ f(x6 ) + ... + f(x0_3 )) + f(x0 )]

Erro na Regra 3/8 de Simpson generalizada

Para cada três subintervalos (quatro pontos eqüidistantes) pode-se aplicar a


Regra 3/8 de Simpson e o erro total cometido para n aplicações é dado por:
Manual do Software Numérico 351

Limitante superior para o erro

Exemplo 7.19

Calcule J exdx usando 6 subintervalos pela regra dos trapézios, regra 1 /3


1

o
de Simpson e regra 3/8 de Simpson e um limitante superior para o erro em
cada uma delas.
Tabelando a função com h 1 /6, temos:
=

X o 1 /6 2/6 3/6 4/6 5/6 1


f(x) 1 1 .1814 1 .3956 1 .6487 1 .9477 2.3010 2.7183

a) Regra dos trapézios


Da regra dos trapézios temos:

Limitante superior para o erro

Como, máx { l f2 <x) I , O :::; x :::; 1 } 2.7183 em x = l, temos:


=

I E(x) l ::s; ü.0063


b) Regra 1/3 de Simpson
352 Cálculo Numérico

Limitante superior para o erro

Como máx { J f4 (x) J , O S x S 1 } 2.7183 em x


= = l, temos:
1 E1 1 S 0.00001
e) Regra 3/8 de Simpson
1
f ex dx = 3 -h8 [f(xo ) + 3(f(x1 )+ f(x2 ) + f(x4 )+ f(xs )) + 2f(x3 )+ f(x6 )] = 1 7183
.

Limitante superior para o erro

JEr J S
{I I
h4 (4)
80 (xn - Xo ) máx f(x) ,

Como, máx { J f4 (x) J , O S x S 1 } 2.7183 em x


= = 1, temos:

J E1 1 S 0.00003
7 5 6 Módulo equações diferenciais
. .

Neste módulo, o usuário tem a sua disposição métodos numéricos para reso­

{
lução de equações diferenciais ordinárias de 1 ordem com valor inicial (PVI):
li

y ' = f(x, y)
y(x o ) = y 0 � valor inicial

Nesta opção, temos disponível os métodos de Runge-Kutta:


Runge-Kutta de 1 ordem - método de Euler
li

Runge-Kutta de 2ll ordem - método de Euler aperfeiçoado


Runge-Kutta de 3ll ordem
Runge Kutta de 4ll ordem
Para utilização desse módulo, o usuário deverá clicar em Entre com os
dados da equação, fornecendo a expressão da equação diferencial, Xo, y0, h, e
o valor desejado Xn . Por exemplo, considere a equação diferencial y ' = y com
valor inicial y(O) = 1, h = 0,1 e � 0.4.
=
Manual do Software Numérico 353

O usuário pode, ainda, Limpar tudo, conforme pode ser observado nas
janelas da Figura 7.34 a) e b):

a) b)

Figura 7.34

Neste momento, o usuário deverá escolher o método desejado, se clicar


na opção Runge-Kutta de P ordem - Euler, terá a equação discretizada e os
valores encontrados, conforme janelas da Figura 7.35 a) e b ):

a) b)
354 Cálculo Numérico

Temos o resultado desejado y("4) = y(0.4), conforme janela da Figura 7.35 c):

e)

Ousuário poderá, ainda, obter o gráfico da equação discretizada, cli­


cando em Plotar Gráfico conforme janela da Figura 7.35 d):

)(

• Y()() • pinos
1 .45 - - - - - - - r - - - - - - � - - - - - - - • - - - - - - � -- - - -- - 1 - - - - - - {- - - - - - - t - - - - - - - r - - - - - - i - - - - - -
� ' • f t • ' • •
• 1 • • 1 t • 1 1 1
" '

• · • • �1
. ..

�- • � - -:· • • • • • • • • - • - •� - - • • - ... �1 • - - • - • • !t · · • • -:W • .. - .. • t • • • - • • · :· - .. .. • - .. ; ·•

r: - - - :: - - - - - ·:-: - - :: - - :: - : - - - - := - - .. - ::
1 A
1 t • 1 t •
... .. .. .. ... .. .. "' ..

f 1 • •
- ... - - �1 - - - - · - - �• .. ... ... - - - -:• .. - - - - · t - - ·: - - - •: - - :.. -- - - .. - - �'
'

1 .SS. � -- - - - · - � - �- - ·---- · - - - -� -
'

� : :· : 1 : : ..•. . .r : : :
... - - - - - - -

13 · - -
:: - - - - - :- : - - - - - · :: - - - - - - ·r ...

� - - - -- ... � - - - - - �- - - ... - - - � - - .. - -i-- : .. -- - - -�- - - - -- f - - ;


- - - - .. - - - - - - -- - - - .. - - -

1 125 1 1 • 1 • ' • • '


• • • • • • • • • • • • • • • • • • • • • • • • · . • . . • • . . . . · · . . .. . . .
' ..
. . . .. . . . . . . ..

12 .. - - - - - - - - - - - - - - r --- - - - : - - -- -

. .. 1 • • 1 • 1 • • • '
1 .1 5 � - - - - - ;. .. - - - - - �- - - - - - - r - - - - - - � - - - - - - - - - - - : - - - - - ·- i- - - -
'

... ... T - - - - - - - -� - - - - - - : - - - - - - �
: :
1 .1 � .. .. - - - - � .. .. . -
-
: : :
.. - :-
: -
: :
- - - · - .. :- - - .. - - - � - - .. .. - ... t - - - .. .. -!'-· .. - - - - + - - - - .. - - - -
::
- -
:
- - - - - - ! .. - - - - - -
::
1 • • • 1 • 1 • • •
1 1 1 Ir • • • 1 • ,. •
"

1 A)5; • • "' .. · � - 00:• "' '" - .. · ?" - · � � · · · · - -=- - -+ · · ·· ·:- · - - - � .. ... '"' "' :

o.'2
.. . .. .. ... .. .. .. .. . .. ... .. .. . . .. . . .. .. .. ... .. .. ... .. . ... .. .. ... ...

• • • • 1 • • 1 • • •
• • • • • • • 1 • • •

o oJM o..oe 0.1 8 02 0.24 0.28 0..32 0..36 0.4

d)

Figura 7.35

Caso o usuário conheça a solução exata (analítica) da equação dife­


rencial, pode comparar os resultados obtidos com a função y(x), declarando,
na janela apropriada, a expressão da solução exata e obter o gráfico da solu­
ção aproximada, bem como o gráfico da solução exata, conforme janelas
da Figura 7.36 a) e b):
Manual do Software Numérico 355

a)

� < i.-_,1 f 1 < o P<�· l' e�-. d i f�n�n< i :i i<; _ .


. -· ·-· ·
----- - - -- -- - -

1 • • 1 • t 1 •
1 • • • 1 1 1 t
'
'
1 AS .... .. . .. .. .. · � · · · ·· -- � · • • 1! ,. 1 • • .,. - - - � • • • • ""!· • • · • - · t · ,. .. • ·� · · "• • '( • • • · -·
1 • • • 1 • •
, .. - - - .. .. .. -

1 ,4 : : ..;, . . . . .. . � .. . .. .. .. .. .. : .. · · · �· - · - · - - � - - - · ·� - · A- ,.
' '

... . . .. .... . . . . . .. . .. ... .. • . .: . .. . .. . .. .. .. .. .. ...

• • • • • • 1
1 .35 ;- · - · - - -�- ---- -t- - - - - - 1 - · - - - - -r - - - - · - �- - - - - -- r - - - - - - �- - . - - � - - - - - - ·
'

.. ------
t .s - .. - - - .. - � - .. - -- - � - - - .. - �
. - - - - - - - -t -
- - : - - .. - .. - - t .. - - . - -

• • 1 • • • •

1 .25 : - : · · · · .;. :· : �- . . :· · ·�- �-


"

- • • • • • • • • • • • • • • • • • . - . • • . • . • • • • . . . • . • . • . • • • • • • • . • •

' " .. 1 • ' 1 •


1 .2 : : -.-�
. . . - - .. - � .. .. .. ! ..
� : - ;. - -

1 .1 !1 :- - - - - - - : - - - - - - �- - - · - - � - -

' ·1 ;·······;······:
' . .

·-1 ... .. .. . .. . . ; - · · · · · 1· ... .. . . · r · · · - · · ·r · · · · · ·1· - · · · · · · ·· ·

1 DS '- - - - - - - -- -V .. .. . .. .. .. �- -- - - · - t - · · - - · ...:- - - - · - · t - · · ... .. .. ...;. . .. .. .. ... .. .,; .. . . .. . . · --


• • • • • 1 •
· · · -

• • • • • f '
..

o OJl4 O.D8 0.1:2 0.16 0.2 O.::M 0.28 0.32 D.316 0.4

b)

Caso o usuário conheça a solução exata da equação diferencial, pode


calcular o limitante superior para o erro, fornecendo a 2ª derivada da função
y(x), e a expressão do limitante superior para o erro.
Com o auxílio de gráficos, pode-se calcular o maior valor em módulo que a
função assume no intervalo de discretização, conforme janela da Figura 7.36 d):

e)
356 Cálculo Numérico

�I 1 111 i t,7inte Super- i rn- p.-w.1


�������- ·--
o c1 T o
- - - - - ����
_!
___
)(

- - - - - -'- - - - - - -'- - - - - - _,_ - - - - - j - - -


. . ' .

1 .31 � f • 1 •
-
1 �S
t • •
t • 1 1
'

. . .
. . '
. . '
. . '
. . '
. . '

1 .1 5'1 - - - - ... ... .. - . - - - _..... ... - .. - · ·- - .. - - - ,.,_ - - - .. ..


1 .1 51
. . . .
. ' .
. . .
. . .
. . .
. . .

o 0 .()8 O.t 2 0.18 0 .2• o 0.06 0.12 0.1 8 0.24

d)

Temos, neste momento, o valor do limitante superior para o erro, con­


forme janela da Figura 7.36 e):

OIC

e)

Figura 7.36

Se o usuário desejar a opção Runge-Kutta de 2• ordem - Euler Aperfei­


çoado, terá os resultados conforme janelas da Figura 7.37 a) e b):
Manual do Software Numérico 357

o o.mm 1 .cml
- --

1 0. 1 000 u reo

2 0. 2000 1 .221 0
-

3 '0. ml 1 . 3492

4 1 .4909

a)

b)

Figura 7.37

Descrição breve dos métodos numéricos usados no


módulo equações diferenciais
Solução numérica de equações diferenciais ordinárias

{
Considere a equação diferencial orctinária de 1 ª ordem com valor inicial (PVI):

y ' = f(x, y)
y(xo ) = yo

Resolver a equação diferencial consiste em determinar uma função y(x) que satis­
faça a equação dada. Um método numérico para resolver esta equação consiste
em determinar aproximações Yn para y(xn) onde Xn = Xo + nh n = O, 1, 2, ...
358 Cálculo Numérico

Métodos de Runge-Kutta:
P ordem - método de Euler
O método de Euler consiste em determinarmos as aproximações Yn para y(xn)
da seguinte forma:

Limitante superior para o erro

2ª ordem - método de Euler aperfeiçoado


No método de Euler ape�feiçoado utilizamos a seguinte expressão:

h
Yn+l = Yn + 2 (k1 + k2 }
com k 1 = f(x n , Y n }
k 2 = f(x 0 + h, Yn + hk1 }

Métodos de Runge-Kutta de ordens superiores


3ª ordem
No caso dos métodos de Runge-Kutta de 3ª ordem, utilizamos a seguinte
expressão:

k1 = f(X0 , Yn }
com

1 1
k2 = f(xn + - h, Yn +- hk1 }
2 2

k 3 = f(X0 + 4 h, Yn + 4 hk 2 }
3 3

4ª ordem
No método de Runge-Kutta de 4ª ordem, utilizamos a seguinte expressão:
Manual do Software Numérico 359

com
kl = f(xn , Yn )
1 h
k2 = f(xn + 2 h, Yn + 2 ki )

1 h
k3 = f(xn + - h, Yn + - k2 )
2 2
k4 = f(xn + h, Yn + hk3 )

Exemplo 7.20

{
Considere a equação diferencial de 1 il ordem com valor inicial:

y ' = - xy
y(O) = 1

Tomando h = 0.1 calcule y(0. 5) usando os métodos de Runge-Kutta de


1 ordem e de 4ã ordem.
li

a) Método de Runge-Kutta de 1 il ordem - método de Euler


y(O) = 1

y(0.2) = Y2 = 0.9900
y(0.1) = Y1 = 1 .000

y(0.4) = y4 = 0.9411
y(0.3) ::: y3 0.9702
=

y(0.5) = 0.9035
b) Método de Runge-Kutta de 4il ordem
y(O) 1
=

y(O.l) ::: Y1 = 0.9950

y(0.3) = y3 = 0.9560
y(0.2) = Y2 0.9802
=

y(0.4) ::: Y4 = 0.9231


y(0.5) ::: Ys = 0.8825
Referências Bibliográficas

1. ALBRECHT, P. Análise Numérica: Um Curso Moderno. São Paulo: Editora


da Universidade de São Paulo, 1973.
2. ANTON, H.; RORRER, C. 1. Álgebra Linear com Aplicações. Porto Alegre:
Bookman, 2000.
3. ARENALES, S. H. V.; TANIGUTI, F. Software Numérico-Módulo Raízes
- XXII CNMAC (1999).
4. BURDEN, R. L.; FAIRES, J. D. Numerical Analysis. Boston: PWS Publish­
ing Company, 1993.
5. CONTE, S. D.; BOOR, C. Elementary Numerical Analysis, an Algorithmic
Approach. Nova York: McGraw-Hill, 1981.
6. CUNHA, M. C. C. Métodos Numéricos. 2íl. ed. Campinas: Editora da · ·

Unicamp, 2000.
7. DAREZZO, A. F.; LAZARINI, C.; MILANI, D. M.; FERRARI, L. M.; ARE­
NALES, S. H. V. Notas de Cálculo Numérico. Publicação do Departamento de
Matemática-UFSCar, 1992.
8. DEMIOOVICH, B. P.; MARON, 1. A. Computational Mathematics. Moscou:
Mir Publishers, 1976.
9. DURAND, E. Solutions Numériques Des Équations Algébriques - Vol. 1 .
Paris: Masson et Cie É diteurs, 1971 .
10. FORSYTHE, G. E.; MOLER, C. V. Computer Solution of Linear Algebraic.
Systems. Englewood Cliffs: Prentice Hall, 1967.
11. ISAACSON, E.; KELLER, H. B. Analysis ofNumerical Methods. Nova York:
John Wiley, 1966.
361
362 Cálculo Numérico

12. JENNINGS, W. First Course in Numerical Methods. Nova York: Macmil­


lan,1964.
13. KREYSZIG, E. Advanced Engineering Mathematics. Nova York: John Wiley
& Sons, 1993.
14. LAMBERT, J. D. Computacional Methods in Ordinary Differential Equations.
Nova York: John Wiley & Sons, 1971 .
15. RUGGIERO, M. A. G.; LOPES, V. L. R. Cálculo Numérico, Aspectos Teóricos
e Computacionais. 2ª ed. São Paulo: Makron Books, 1997.
16. SALVADOR, J. A; ARENALES, S. H. V.; DAREZZO, A. F.; SANTOS­
WAGNER, V. M. Mapas Conceituais/Software Numérico: Urna Experiência
no Estudo de Sistemas Lineares e Zeros de Funções. Publicação da Socie­
dade Brasileira de Matemática Aplicada e Computacional - Revista Tema -
Volume 4 - Número l, 2003.
17. SCHWARZ, H. R. Numerical Analysis - A Comprehensive Introduction.
Nova York: John Wiley & Sons, 1989.
18. SOTOMAYOR, J. D. Lições de Equações Diferenciais Ordinárias. Publicação
do IMPA - Projeto Euclides - 1979.
19. STEINBRUCH, A; WINTERLE, P. Álgebra Linear. São Paulo: Makron
Books Ltda, 1987.
20. SWOKOWSKI, E. W. Cálculo com Geometria Analítica. 2ª ed. São Paulo:
Pearson Education do Brasil, vol. 1 e vol. 2, 1995.
21. STEWART, J. Cálculo. São Paulo: Pioneira Thomson Learning, Vol. 1 .
4ª ed. 2003.
22. YOUNG, D. M.; GREGORY, R. T. A Survey of Numerical Mathematics -
Vol. 1 . Vol. 2. Reading: Addison-Wesley Cornpany, 1972.
23. WILKINSON, J. H. Rounding Errors in Algebraic Processes. Englewood
Cliffs: Prentice Hall, 1963.
,

lodice Remissivo

A parcial, 38
Ajuste total, 41
exponencial, 176 Equações diferenciais (solução numérica)
hiperbólico, 171 método de Euler Aperfeiçoado, 253
polinomial (caso discreto), 158 método de Euler modificado, 257
trigonométrico, 167 método de Euler, 244
Aproximações Sucessivas (método), 80 método previsor-corretor, 269
métodos de Runge-Kutta, 251
B Equações normais (sistemas), 161
Binário (sistema), 2 Equações polinomiais, 96
Bisseção (método), 76 Erros
absoluto, 10
e arredondamento, 10
Cholesky (método), 30 Euler (método), 244
Critério de Sassenfeld, 60 Mínimos quadrados, 160
Critério de parada, 56 na integração numérica, 192
na interpolação, 130
D propagação de erros, 14
Determinante de Vandermonde, 129 relativo, 11
Diagonalmente dominante, 55 truncamento, 12
Descartes (regra de sinais), 100 Estimativa do número de iterações (método
Diferenças da Bisseção), 78
divididas (operador), 141 Estudo da convergência (sistemas lineares), 55
finitas (operador), 149
F
Descrição breve dos métodos (usados no
Software Numérico) Fórmulas de Newton-Cotes, 191
Módulo Aproximação de funções, 331 Fórmula de Lagrange, 132
Módulo Equações diferenciais Fórmula de Newton, 141
ordinárias, 357 Fórmula de Newton-Gregory, 153
Módulo Integração Numérica, 346
Módulo Inversa de matriz, 306 G
Módulo Raízes de funções, 317 Gauss (método de eliminação), 34
Módulo Sistemas lineares, 294 Gaussiana (quadratura), 216
Gauss-Seidel (método iterativo), 58
E
Eliminação de Gauss (método), 34 1
diagonal, 34 Integração Numérica
estratégias de pivotamento, 34 regra dos trapézios, 193
363
364 Cálculo Numérico

quadratura Gaussiana, 216 p


regra 1/3 de Simpson, 200

Pivotamento (estratégias de), 34


Passo múltiplo (métodos de), 246
regra 3/8 de Simpson, 208 Passo simples (métodos de ), 245
Integração dupla, 223
Interpolação Polinomiais (equações), 96
inversa, 148 Polinomial (interpolação), 127
linear, 138 Previsor-corretor (método), 269
polinomial, 127 Problema de Valor Inicial (PVI), 236
Propagação de erros, 14
J
Jacobiana (matriz), 107 Q
Quadratura Gaussiana, 216
L
Lagrange (polinômio interpolador), 132 R
Localização de raízes, 97 Raízes de uma equação
LU (decomposição), 25 localização das raízes reais e complexas, 97
métodos numéricos, 76
M
Regra de Sinais de Descartes, 100
Mau condicionamento, 49 Regras de integração numérica, 189
Mantissa, 5 Runge-Kutta (métodos de), 251
Manual do Software Numérico, 285
Matriz definida positiva, 30 s
Métodos
Sistemas lineares (métodos), 19
Aproximações Sucessivas, 80
Sistemas de ponto flutuante, 5
Bisseção, 76
Sturm (seqüência), 101
Briot-Ruffini, 102
Sistemas não lineares (método), 106
Gráfico, 74
Sistemas triangulares, 21
Mínimos Quadrados, 157
Secante (método), 93
Newton Modificado, 92
Sassenfeld (critério), 60
Newton, 87
Simpson (regras), 200
Newton+Briot-Ruffini, 104
Newton-Bairstow, 112 Software Numérico
Posição Falsa, 96 Módulo Aproximação de funções, 321

Módulo integração numérica, 334


Módulo Equações diferenciais

Gauss com pivotamento diagonal, 34


Secantes, 93
Métodos diretos ordinárias, 352

Gauss com pivotamento parcial, 38 Módulo Inversa de matriz, 305


Gauss com pivotamento total, 41 Módulo Raízes de funções, 307
Gauss-Jordan, 44 Módulo sistemas lineares, 288
Métodos iterativos, 49
T
Gauss-Seidel, 58
Jacobi-Richardson, 53 Taylor (métodos de série de), 242
Mudança de base, 4 Trabalhando com o Software Numérico' 65'
121, 182, 227, 278
N Teste de alinhamento, 175
Newton (método para sistemas não Trapézios (regra), 193
lineares), 106 Teorema de Budan-Fourier, 100
Newton (polinômio interpolador), 141 Teorema do círculo (localização de raízes), 97
Newton-Cotes (fórmulas de integração), 191 Teorema de Sturm, 101
Newton-Gregory (polinômio
interpolador), 153 u
Underflow (sistema de ponto flutuante), 8
o
Operações elementares, 24 z
Overflow .(sistema de ponto flutuante), 8 Zero em ponto flutuante, 6
lt.lf'RESSÁO E ACABAMENTO:
YA��61�
--"""""

Você também pode gostar