Você está na página 1de 182

Cálculo

Cálculo Numérico
Numérico
MARINA
VARGAS

MARINA VARGAS

Código Logístico
ISBN 978-65-5821-174-7

59850 9 786558 211747


Cálculo Numérico
Marina Vargas

IESDE BRASIL
2022
© 2022 – IESDE BRASIL S/A.
É proibida a reprodução, mesmo parcial, por qualquer processo, sem autorização por escrito da autora
e do detentor dos direitos autorais.
Projeto de capa: IESDE BRASIL S/A. Imagem da capa:

Todos os direitos reservados.

IESDE BRASIL S/A.


Al. Dr. Carlos de Carvalho, 1.482. CEP: 80730-200
Batel – Curitiba – PR
0800 708 88 88 – www.iesde.com.br
Marina Vargas Doutora e mestre em Métodos Numéricos em Engenharia
pela Universidade Federal do Paraná (UFPR). Especialista
em Educação Matemática pela Universidade Paranaense
(Unipar). Licenciada em Matemática pela Unipar.
Atua na área de Programação Matemática e Mecânica
Computacional. Professora no Ensino Superior nas
modalidades presencial e a distância, ministra as
disciplinas: Cálculo de funções de uma e mais variáveis,
Álgebra Linear, Geometria Analítica, Métodos Numéricos,
Teoria dos Números, Pesquisa Operacional, Matemática,
Estatística Aplicada e Métodos Quantitativos. Atua,
também, como professora conteudista em diversas
instituições e empresas. Atualmente, desenvolve
pesquisa na área de educação matemática e educação
em engenharias.
SUMÁRIO
1 Erros numéricos 9
1.1 Sistemas de numeração 9
1.2 Representação numérica e mudança de base 13
1.3 Tipos de erros 19

2 Sistemas de equações lineares 26


2.1 Eliminação gaussiana 27
2.2 Sistemas triangulares 34
2.3 Métodos de fatoração 37
2.4 Condicionamento de sistemas lineares 47
2.5 Métodos iterativos para sistemas lineares 52

3 Zeros de funções reais 63


3.1 Existência e unicidade 63
3.2 Método da bissecção 65
3.3 Iteração de ponto fixo 68
3.4 Newton-Raphson 74
3.5 Método das secantes 80

4 Interpolação e ajuste de curvas 84


4.1 Interpolação polinomial 84
4.2 Interpolação de Lagrange 86
4.3 Interpolação de Newton 94
4.4 Aproximação por mínimos quadrados 100

5 Integração numérica 110


5.1 Integração numérica 110
5.2 Regras de Newton-Cotes 113
5.3 Regra do trapézio 113
5.4 Regra de Simpson 119
5.5 Caso geral 122
5.6 Regras de quadratura gaussiana 125

6 Solução numérica para equações diferenciais ordinárias 131


6.1 Métodos de passos simples 132
6.2 Métodos lineares de passos múltiplos 154
6.3 Métodos do tipo preditor-corretor 164
6.4 Sistemas de equações diferenciais 166

Resolução das atividades 173


Vídeos
em
QR code!
Agora é possível acessar os vídeos do livro por
meio de QR codes (códigos de barras) presentes
no início de cada seção de capítulo.

Acesse os vídeos automaticamente, direcionando


a câmera fotográfica de seu smartphone ou tablet
para o QR code.

Em alguns dispositivos é necessário ter instalado


um leitor de QR code, que pode ser adquirido
gratuitamente em lojas de aplicativos.
Vídeo
APRESENTAÇÃO
Este livro discute o desenvolvimento e a aplicação de métodos numéricos
para a obtenção de soluções de problemas que envolvem matrizes,
equações diferenciais, sistemas de equações, ajuste de curvas, integração,
zeros de função, entre outros aspectos.
Ao falarmos em cálculo numérico ou métodos numéricos, estamos
avaliando espaços discretizados, divididos em partes menores, para uma
determinada função, um determinado problema ou um modelo.
A escolha de uma abordagem numérica é feita apoiando-se na análise do
modelo matemático a ser resolvido. O cálculo numérico objetiva encontrar
soluções aproximadas para um modelo matemático, de modo que os erros
associados a essas aproximações sejam aceitáveis.
Com base nessa proposta, no primeiro capítulo, estudaremos os
sistemas de numeração e a conversão entre eles, permitindo que os cálculos
matemáticos na base decimal possam ser avaliados a partir da utilização de
computadores que realizam seus cálculos em base binária. Inclusive, é no
primeiro capítulo que diferenciaremos os tipos de erros numéricos e as suas
formas de propagação.
No segundo capítulo, trataremos dos sistemas de equações descritos
e resolvidos por meio de métodos diretos e iterativos. Nesse contexto,
desenvolveremos técnicas as quais nos permitem obter as soluções para
esses sistemas. Além disso, apresentaremos diferentes abordagens para
a decomposição (fatoração) de um sistema de equações e as respectivas
maneiras de como resolvê-lo. Também explicitaremos o conceito de
condicionamento de um sistema linear que nos possibilita analisar a
estabilidade da solução. Por fim, discutiremos sobre as técnicas iterativas,
sobretudo, os métodos de Jacobi e de Gauss-Seidel.
Explicitaremos, no terceiro capítulo, alguns dos métodos mais conhecidos
na área de solução numérica para obtenção de zeros de funções, entre
eles, o método da bissecção e de Newton-Raphson. Em geral, métodos
numéricos aplicados para encontrar zeros de funções são necessários
quando a solução analítica não pode ser determinada, e isso é adequado
para o desenvolvimento de um método numérico, permitindo, com isso, a
aproximação para essa solução.
No quarto capítulo, proporemos a aplicação do cálculo numérico
para interpolação de pontos e aproximação de funções. As técnicas de
aproximação de curvas e de interpolação nos permitem traçar estimativas
para problemas em que não conhecemos a função (ou lei) que os rege.
No quinto capítulo, trataremos dos métodos de integração numérica para
casos em que o domínio foi igualmente espaçado, a partir dos métodos de
Newton-Cotes, e para casos nos quais o domínio pode ser discretizado em
pontos com espaçamento variável, chamados de quadraturas gaussianas. A
escolha por um ou pelo outro dependerá das condições e restrições do modelo matemático
e físico a ser resolvido.
Por fim, no último capítulo, abordaremos as equações diferenciais resolvidas a partir
de estratégias numéricas. Entre as técnicas que apresentaremos, há os métodos de passo
simples, como o de Euler e o de Runge-Kutta. Já entre os métodos de passos múltiplos,
destacaremos os métodos de Adams. Além disso, traremos o acoplamento de métodos
em uma proposta conhecida como métodos de predição e correção. Finalizaremos este livro
com o estudo de equações diferenciais de alta ordem, sendo elas tratadas como sistemas
de equações de ordem um. Dessa maneira, os métodos numéricos apresentados nas
primeiras seções do capítulo também são aplicados nesse contexto.
Esperamos que, após essa teoria, você tenha motivação para pesquisar cada vez mais
e avançar com os estudos referentes ao cálculo numérico e, com isso, expandir, também,
as possibilidades de aplicações computacionais de métodos matemáticos que permitem
modelar fenômenos físicos que nos rodeiam.
Bons estudos!

8 Cálculo Numérico
1
Erros numéricos
Ao trabalharmos com cálculo numérico ou métodos numéricos, estamos avaliando
espaços discretizados, divididos em partes menores, para uma determinada função
(problema ou modelo) e, ao discretizarmos domínios contínuos, automaticamente car-
regamos erros.
Não são somente esses erros que precisam ser avaliados. Como os modelos nu-
méricos são resolvidos por ferramentas computacionais, também é necessário ava-
liarmos os erros de arredondamento e de truncamento, quando eles existirem. Além
desses, também podemos citar erros de simplificação do modelo, erros de modela-
gem matemática, entre outros.
Toda essa avaliação faz parte de um bom modelo numérico, mas antes de entrar-
mos nos tipos de erros, precisamos entender qual é nosso espaço de cálculo e, para
isso, é fundamental conhecermos os sistemas de numeração e a conversão entre eles,
pois a ferramenta computacional não faz cálculos na mesma base decimal que esta-
mos acostumados a formular os nossos problemas.
Dessa forma, neste capítulo estudaremos essas conversões com o objetivo de
avaliar qual é o processo de cálculo computacional e como podemos estruturar os
métodos numéricos visando a uma menor propagação de erros.
Objetivos de aprendizagem
Com o estudo deste capítulo, você será capaz de:
• familiarizar-se com os sistemas de numeração e mudança de base entre eles;

• explorar o conceito de arredondamento numérico;

• reconhecer os diferentes tipos de erros numéricos;

• distinguir e calcular erros numéricos em operações elementares;

• identificar erros numéricos ditos catastróficos que levam a erros na interpreta-


ção de resultados.

1.1 Sistemas de numeração


Vídeo
Um dos sistemas de numeração mais antigos foi encontrado na antiga Tchecos-
lováquia, em pesquisas arqueológicas no ano de 1937, e datam de aproximada-
mente entre 35.000 a.C. e 20.000 a.C. Basicamente, os pesquisadores encontraram
um osso (tíbia) de lobo jovem com marcações unitárias por meio de traços (cortes
transversais), no seguinte formato: I II III IIII.

Ao todo eram 57 traços, sendo os 25 primeiros agrupados de 5 em 5. Essa des-


coberta mostra-nos a necessidade da contagem e possibilita-nos discutir sobre os
sistemas de numeração. A categoria de contagem que observarmos nesse estudo
Erros numéricos 9
é dita aditiva, em que, para termos o próximo número, basta acrescentarmos uma
marcação: (|). Além disso, o sistema de numeração foi composto por apenas um
símbolo, sendo chamado de sistema de numeração de base 1.

Em Alice através do espelho, segundo volume da obra Aventuras de Alice no país


das maravilhas e através do espelho e o que Alice encontrou por lá, escrita pelo ma-
temático Lewis Carroll (1865) e traduzida para muitos idiomas – inclusive para o
português –, traz um diálogo entre a Rainha Branca e Alice, que demonstra a dificul-
dade que teríamos se o sistema de numeração de base 1 fosse adotado atualmen-
te. Alice fala à rainha que aulas servem para nos ensinar a fazer contas e a rainha
lhe pergunta: “E sabe Adição? Quanto é um mais um mais um mais um mais um
mais um mais um mais um mais um mais um?” e Alice lhe responde “Não sei. Perdi
a conta” (CARROLL, 2013, p. 186).
Leitura Na história da matemática, identificamos diversas civilizações que adotaram sis-
Caso tenha se interessado temas ditos aditivos, mas como exatamente e algebricamente podemos definir um
pelas obras de Carroll e
queira saber um pouco
sistema aditivo?
mais sobre esse assunto,
Vamos assumir que b é um número natural, tal que determinado sistema aditivo
sugerimos o texto Lewis
Carroll e a matemática está escrito na base b. Assim, temos duas condições que precisam ser respeitadas:
do País das Maravilhas,
publicado pelo Instituto de 1. O sistema deverá ter b símbolos para sua representação numérica, ou seja,
Matemática Pura e Aplicada teremos a1, a2, ..., ab símbolos para representar os números de um até b. Esses
(IMPA) .
números deverão ser representados em ordem crescente.
Disponível em: https://impa.
br/noticias/lewis-carroll-e- 2. Deve-se obedecer à regra do sucessor, que implica assumir que se um
a-matematica-do-pais-das- número termina em ai, com i ≠ b, então a representação de seu sucessor
maravilhas/. Acesso em: 18 jul. 2022.
será obtida por meio da substituição de ai por ai+1. Caso a representação
de um número termine em ab, seu sucessor será obtido acrescentando a1 à
representação dada.

Entre alguns dos sistemas aditivos mais importantes na história, encontramos o


sistema hieroglífico (Figura 1), desenvolvido pelos egípcios por volta de 3.400 a.C., e
o sistema de numeração da Antiga Grécia, por volta do século IV a.C.
Figura 1
Sistema numeral egípcio
Sistema numeral de hieróglifos egípcios

1 10 100 1000 10000 100000 1000000

Sistema numeral hierático egípcio


Sidhe/Shutterstock

1 2 3 4 5 6 7 8 9

10 20 30 40 50 60 70 80 90

100 200 300 400 500 600 700 800 900

1000 2000 3000 4000 5000 6000 7000 8000 9000

10 Cálculo Numérico
Foi com o sistema chamado posicional que a matemática começou a se desen-
volver com maior rapidez.

Não existe um consenso de qual civilização idealizou por primeiro o que cha-
mamos de sistema de numeração posicional, no qual se encontra o nosso sistema
posicional de base decimal e sistema binário computacional, mas o que sabemos é
que para esse tipo de construção foi necessário o desenvolvimento lógico da ideia
de agrupamentos entre os números.

Nesse contexto histórico, foi identificado que os hindus praticaram o sistema


posicional decimal e tiveram a preocupação em construir uma representação visual
desse sistema que pudesse ser transferida de maneira escrita. No entanto, foram
os árabes que divulgaram pelo Ocidente esse sistema de numeração, por isso ele é
denominado de sistema indo-arábico.
Figura 2
Evolução do sistema posicional decimal

Hindu
(300 a.C)
Hindu
(500 d.C)
Árabe
(900 d.C)
Árabe Ocidental
(1000 d.C)
Italiano
(1400 d.C)

Atual

Fonte: Elaborada pela autora.

Um sistema de numeração posicional é aquele em que a posição na qual o alga-


rismo se encontra modifica o seu valor, ou seja, no caso do sistema posicional de
base decimal (o sistema que usamos), se o algarismo 1 estiver na posição (casa) da
unidade, ele vale 1 unidade. Se esse mesmo algarismo estiver na posição (casa) da
dezena, ele vale 10 unidades. Se estiver na posição (casa) da centena, ele vale 100
unidades e assim sucessivamente.

A Tabela 1 apresenta alguns exemplos com diferentes posicionamentos para o


algarismo 1, usando o sistema numérico posicional decimal.
Tabela 1
Posição do algarismo 1 em relação ao valor numérico obtido

Classes Milhões Milhares Unidades Simples


Ordens c d u c d u c d u
1
1 0 0 0 0
1 0 0 0 0 0 0 0 0

Fonte: Elaborada pela autora.

Erros numéricos 11
Um sistema de numeração posicional pode ser definido algebricamente, assim
como fazemos para os sistemas aditivos. Vamos assumir que b é um número na-
tural, tal que determinado sistema aditivo está escrito na base b. Assim, temos três
condições que precisam ser respeitadas:
1. Se o número a ser representado tem como unidade um dos algarismos que
representam 0, 1, ..., (b – 2), então ele terá um sucessor substituindo-se esse
algarismo por seu sucessor, apresentado na ordem crescente, que será (b – 1).
2. Se o número a ser representado tem como unidade o algarismo que representa
(b – 1), então ele já é o último algarismo dessa base. Nesse caso a representação
do sucessor será obtida substituindo-se esse algarismo por zero e, em seguida,
aplicando-se recorrentemente os itens 1 e 2 dessa regra à casa seguinte.
3. Se a casa seguinte for vazia, considera-se como se ela tivesse o valor zero.

Hoje em dia, o sistema de numeração posicional de base dez (sistema


indo-arábico), em que a posição do algarismo indica a potência de 10 que o dígito
representa, é usado em todo o mundo e utilizado de maneira tão intuitiva – como
uma criança pequena que usa os dedos para contar – que é difícil imaginarmos
qualquer tipo de construção numérica sem essa formatação.

O Exemplo 1 apresenta como decompomos um número no sistema posicional


decimal, a partir da representação geral enunciada.

Exemplo 1
3 2 1 0
x = (1957)10 = 1 · 10 + 9 · 10 + 5 · 10 + 7 · 10

Notemos que, com esse formato, fica evidente o uso da chamada base decimal. Essa
formatação será adotada para a escrita das próximas bases que estudaremos nesta obra.

Não queremos somente conceituar e identificar as características para o siste-


ma posicional decimal, mas para outros sistemas posicionais que são usados na
matemática e na computação, permitindo, assim, uma visão do cálculo numérico
envolvido nesse processo de escrita de números em diferentes bases.

Definição 1
Dado um número natural com b > 1 e o conjunto de símbolos {±, 0, 1, 2, ..., b – 1},
temos a sequência de símbolos:
(dndn–1 ... d1d0, d–1 d–2 ...)b
Essa sequência representa o número positivo:
n n–1 0 –1 –2
dn · b + dn–1 ·b + ... + d0 · b + d–1 · b + d–2 · b + …

Para representarmos números negativos usamos o sinal de menos à esquerda


do numeral. Conforme exemplificamos a seguir.

Exemplo 2
x = (1957,897)10
3 2 1 0 –1 –2 –3
x = 1 · 10 + 9 · 10 + 5 · 10 + 7 · 10 + 8 · 10 + 9 · 10 + 7 · 10
x = 1000 + 900 + 50 + 7 + 0,8 + 0,09 + 0,007

12 Cálculo Numérico
Portanto, percebemos que além da escolha do sistema de numeração (aditivo
ou posicional), há muitas representações distintas com relação à quantidade de
algarismos envolvidos em cada um desses modelos (bases adotadas).

O nosso próximo foco está nos sistemas posicionais mais utilizados pela mate-
mática moderna e pela matemática computacional.

1.2 Representação numérica e mudança de base


Vídeo
Entender a representação numérica do sistema escolhido não só possibilita a
nossa compreensão quanto a ela, mas viabiliza realizarmos operações com o tipo
de numeração escolhido, além de permitir-nos verificar possíveis erros cometidos
nos cálculos.

Como nosso foco é trabalhar com a matemática para a computação, dedicare-


mos essa seção à representação numérica implícita às máquinas digitais eletrôni-
Leitura
cas, ou seja, aos computadores.
Para saber mais sobre
Leibniz e a relação desse Assim, o primeiro sistema que discutiremos é aquele chamado de sistema de
matemático com a base
da computação, sugeri-
numeração posicional de base dois ou base binária.
mos a leitura de Leibniz e
nosso mundo digital, texto
publicado pela Revista do
Professor de Matemática
1.2.1 Sistemas binário, quaternário e hexadecimal
(RPM). Quando pensamos em um sistema de numeração que nos permite realizar ope-
Disponível em: https://www.rpm.org. rações no computador, a base utilizada é a base dois. Seu uso está diretamente
br/cdrpm/84/1.html. Acesso em: 20
vinculado ao desenvolvimento das máquinas digitais.
maio 2021.
Durante muitos séculos creditou-se a Gottfried Wilhelm Leibniz (1646–1716) a
idealização da base binária.

Contudo, pesquisas recentes demonstram que em uma pequena ilha da Poliné-


sia, séculos antes da idealização de Leibniz, o povoado de Mangareva já utilizava a
base binária para realizar cálculos que permitiam a comercialização de seus
produtos.

Javier Sampedro, autor do texto Um sistema binário inventado na Polinésia séculos


Figura 3
Gottfried Wilhelm Leibniz antes de Leibniz, publicado no Jornal El País, em 2013, analisa a pesquisa dos cien-
tistas noruegueses, Andrea Bender e Sieghard Beller, do departamento de Ciência
Psicossocial da Universidade de Bergen, na Noruega. Sampedro (2013) descreve
que os pesquisadores:
mostram agora como os habitantes da Mangareva não só inventaram o
sistema para contar peixes, frutas, cocos, polvos e outros bens de dife-
rente valor em suas transações comerciais, como também que isso con-
duziu a uma aritmética binária que teria merecido a aprovação do Leibniz
por sua simplicidade e naturalidade.
ck
rsto

Leibniz foi um notório filósofo alemão, sendo uma figura


tt e

renomada na história tanto da matemática quanto da


Shu
ku/

filosofia. Seu reconhecimento é dado, principalmente, pelas


Nic

suas contribuições com o cálculo diferencial e integral.

Erros numéricos 13
Leitura
Dos fatos históricos, sabemos que a base binária foi deixada de lado até mesmo
Sugerimos a leitura integral
por Leibniz, e somente séculos após sua morte ela foi redescoberta pelo mate-
do texto Um sistema binário
inventado na Polinésia sécu- mático George Boole (1841a, 1841b, 1842), que desenvolveu a chamada álgebra
los antes de Leibniz, do autor
booleana e permitiu o desenvolvimento do computador digital eletrônico, impres-
Javier Sampedro, veiculado
no jornal El País. cindível para o desenvolvimento em praticamente todas as áreas do conhecimento
Disponível em: https://brasil. na atualidade.
elpais.com/brasil/2013/12/16/
sociedad/1387215405_275511.html. O computador lida com grandezas representadas como sequências de bits
Acesso em: 16 ago. 2021. (de base 2).

Quando precisamos transcrever um método matemático para um método nu-


Figura 4 mérico, ou seja, para a matemática computacional, em primeiro lugar precisamos
George Boole
compreender como um computador manipula as informações; no nosso caso, elas
são numéricas e simbólicas.

Toda informação manipulada por um computador é representada como


uma sequência de bits (binary digits). Ao agruparmos 8 bits temos 1 byte, os
quais agrupados (Figura 5) darão origem aos kilobytes, megabytes, gigaby-
tes, terabytes, entre outros, nomes comumente usados na computação e
no nosso cotidiano.
mmons

Figura 5
Unidades de medida de informação eletrônica
ia Co
d
ime

1 byte = 8 bits Célula de memória de 8 bits


ik
t/W
ive

1 KB = 8192 bits 0 1 0 1
ipr

r
ge

Se
1 KB = 1024 bytes 1 0 1 0 KB – kilobyte
George Boole, além de 1 MB = 1024 KB MB – megabyte
matemático, também foi filósofo,
1 GB = 1024 MB GB – gigabyte
com contribuições indispensáveis
para o desenvolvimento da TB – terabyte
1 TB = 1024 GB
computação moderna.

Sistema binário
Um bit aceita duas respostas possíveis:

0 – não, falso, desligado;


Leitura Figura 6
1 – sim, verdadeiro, ligado. Representação 0 ou 1 em um
Para conhecer mais sobre
a relação entre bits e bytes interruptor
Na área eletrônica, interpretamos isso
e a sucessão de agrupa-
mentos, sugerimos a leitura como passagem de energia (Sim) ou sem pas-
flight of imagination/Shutterstock

da matéria Qual a diferença sagem de energia (Não). Essa leitura do código


entre kilobyte, megabyte, gi-
gabyte e terabyte?, publicada binário é feita milhares de vezes.
no site da Copel Telecom.
Esse tipo de representação, também cha-
Disponível em: https://www.
copeltelecom.com/site/blog/kilobyte- mado de representação binária, matematica-
megabyte-gigabyte-terabyte/. Acesso mente pode ser traduzido como um sistema
em: 20 maio 2021.
de numeração na base dois.

14 Cálculo Numérico
Exemplo 3
Para a codificação de um número natural entre 0 e 255, por exemplo, seriam suficientes 8
8
bits, pois 2 = 256. Para representá-los, resta-nos apenas atribuir valores 0 ou 1.
O número natural 255 será representado em uma sequência de bits por (sequência binária)
11111111.

Conforme apresentamos, o sistema de numeração na base dois, também cha-


mado de binário na área da computação, tem seus algarismos reconhecidos e re-
presentados por meio dos bits. Além disso, identificamos que um bit pode assumir
dois valores distintos: 0 ou 1.

Com base nos conhecimentos adquiridos até o momento sobre base binária,
trabalhemos a partir daqui com as mudanças de base.

Com essa finalidade, o Exemplo 4 apresenta uma mudança da base binária


para a base decimal, tendo como ideia principal o tipo de conversão adotada pelo
computador.

Exemplo 4
Seja x = 1001,101
Então,
3 1 0 -1 -2 -3
1 · 2 + 0 · 22 + 0 · 2 + 1 · 2 + 1 · 2 + 0 · 2 + 1 · 2
= 8 + 0 + 0 + 1 + 0,5 + 0 + 0,125
= 9,625
Portanto,
(1001,101)2 = (9,625)10

Notemos que no Exemplo 4 respeitamos a posição de cada um dos elementos e


fizemos a conversão, em primeiro plano, assumindo o valor de cada posição e, na
sequência, somando esses resultados.

Esse é o processo que também será usado para as próximas bases estudadas.

Sistema quaternário
No sistema quaternário, a base b é igual a 4 e, portanto, temos o conjunto de
algarismos: {0, 1, 2, 3}.

Exemplo 5
Seja x = (301,2)4
Então,
2 1 0 -1
3 · 4 + 0 · 4 + 1 · 4 + 2 · 4 = 48 + 0 + 1 + 0,5 = 49,5
Portanto,
(301,2)4 = (49,5)10

Erros numéricos 15
A conversão de base decimal para uma outra base qualquer é algo possível.
Além dessa base, temos a base hexadecimal, ou seja, formada por 16 algarismos.

Sistema hexadecimal
O estudo do sistema hexadecimal auxilia no processo de representação de se-
quências maiores de bits, por exemplo, aqueles com 16 ou 32 bits.

Se b > 10, usamos as letras A, B, C, … para denotarmos A = 10, B = 11, C = 12, ….

Exemplo 6
Se temos b = 16, ou seja, o conjunto de algarismos {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C,
D, E, F}, e queremos converter o número x = (E2AC)16 para a base decimal, fazemos
o seguinte:
3 2 1 0
(E2AC)16 = 14 · 16 + 2 ·16 + 10 ·16 + 12 · 16
(E2AC)16 = 57344 + 512 + 160 + 12 = 58028

A base hexadecimal também é amplamente usada na computação. Além dela,


o tripleto hexadecimal, conhecido como Web Color (Figura 7), também é muito
conhecido.
Figura 7
Web Color

R. A. Nonenmacher/Wikimedia Commons

O tripleto hexadecimal recebe esse nome por ele ser uma combinação de três by-
tes, porque cada cor formada possui três duplas escritas em formato hexadecimal.
Cada dupla representa uma cor, sendo elas: vermelho, verde e azul (RGB).

16 Cálculo Numérico
A variação da combinação hexadecimal no tripleto dá origem às demais cores.

Exemplo 7
A cor azul marinho é escrita como 12 0A 8F no sistema tripleto hexadecimal.

Portanto, cada dupla terá 16 possibilidades para a primeira posição e mais 16


para a segunda, formando um byte de 256 possibilidades. Como temos três duplas,
as possibilidades de combinação serão: 256 · 256 · 256 = 16777216. Essa estrutura de Site
cores é usada para documentos HTML, CSS, entre outros.
Uma tabela bem extensa
de combinações de cores
É possível observarmos os códigos hexadecimais de uma quantidade conside-
pode ser encontrada no
rável de cores e a conversão deles para outros sistemas de cores que podem ser site Nas artes gráficas.
adotados computacionalmente. Disponível em: http://nasartesgraficas.
blogspot.com/2014/08/lista-de-
A seguir, veremos o processo da transformação inversa, ou seja, conhecendo cores.html. Acesso em: 20 maio 2021.
um número na base 10, converteremos este para a base b desejada.

1.2.2 Processo inverso


Nesta seção, trabalhamos com a conversão de números na base decimal (x)10
que serão convertidos para uma base b qualquer.

Ou seja, nosso objetivo é trabalhar com a seguinte representação algébrica:

(x)10 = (dndn–1 ... d0, d–1 ...)b


(x)10 = dn · bn + dn–1 · bn–1 + … + d0 · b0 + d–1 · b–1 + …
Inicialmente, para conseguirmos realizar a conversão, separamos a parte inteira
de (x)10 da sua parte fracionária, também chamada de mantissa, obtendo (x)10 =
xi + xf. Desse modo, temos:
i n n–1
• x = dn · b + dn–1 · b + … + d0 · b 0
d1 d2
• xf  1
 
b b2
Portanto, precisamos determinar os valores para o conjunto {dn, dn–1, ...}, que
é composto tanto por elementos da parte inteira como por elementos da parte
fracionária.

Parte inteira
i n n–1 0
(x = dn · b + dn–1 · b + … + d0 · b ) ÷ (b) =
xi d
 dn  bn 1  dn 1  bn 2  d1  0
b b

i 1
Temos que observar que d0 é o resto da divisão de x por b, pois d1 + d2 · b + … +
d
dn–1 · bn–2 + dn · bn–1 é inteiro e 0 é uma fração com d0 < b. Da mesma forma, o resto
1 b n–2 n–1
da divisão de d1 + d2 · b + … + dn–1 · b + dn · b por b é d1. Ou seja, repetindo este
processo, encontramos os algarismos d0, d1, d2, …, dn.

Para a análise da parte inteira, temos uma ferramenta extremamente simples


que pode ser usada nela: a divisão.

Erros numéricos 17
Por meio de sucessivas divisões, podemos rapidamente converter um número
da base decimal para base binária.

Exemplo 8
Para a conversão de (3)10 para a base binária, fazemos:
3 : 2 = 1 – Resto 1
1 : 2 = 0 – Resto 1
O resultado será olhado, justamente, por meio dos restos. Portanto, (3)10 = (11)2

Vejamos mais um exemplo desse tema.

Exemplo 9
Para converter o número (142)10 para a base binária, isso pode ser resolvido da seguinte
forma:
(142)10 = (10001110)2
142 2
0 71 2
1 35 2
1 17 2
1 82
0 42
0 22
0 12
1 0

(142)10 = (10001110)2
142 71 35 17 8 4 2 1 0
011100010

Vejamos na sequência o Exemplo 10, no qual convertemos um número escrito


na base dez para base dois.

Exemplo 10
Para convertermos o número 3,625 para a base binária (b = 2), primeiramente, decom-
pomos 3,625 na soma de suas partes inteira e fracionária.
x = 3 + 0,625
i f
Logo, x = 3 e x = 0,625

No Exemplo 10, resolvemos a parte inteira dessa conversão. Assim, precisamos


fazer sucessivas divisões por b = 2, então

xi = 3 = 1 · 2 + 1 = 1 · 2 1 + 1 · 2 0
i 1 0
Portanto, x = 1 · 2 + 1 · 2 = (11)2

Parte fracionária

 f d1 d2 
 x  1  2    b   b  x  d1  2 
f d
 b b  b

18 Cálculo Numérico
Podemos observar, no Exemplo 10, que a parte inteira desse produto é d–1 e
d2 d2
 é a parte fracionária. Quando multiplicamos  por b novamente, en-
b b
contramos d–2. Repetindo esse processo, encontramos os demais algarismos.

Vejamos o Exemplo 11, que complementa o Exemplo 10.

Exemplo 11
Agora, precisamos fazer sucessivas multiplicações por b = 2 para obtermos a parte fracio-
nária do número 3,625.
Site
f
x = 0,625
O Wolfram Alpha® é uma
f –1 –1 –1
2 · x = 1,25 · 2 = 1 · 2 + 0,25 · 2 ferramenta computacional
–1 –1 –1 –1 –2 com diversas funcionalida-
= 1 · 2 + (0,5 · 2 ) · 2 = 1 · 2 + 0,5 · 2 des, sendo uma delas (e
–1 –1 –2 –1 –3 talvez a mais importante)
= 1 · 2 + (1 · 2 ) · 2 = 1 · 2 + 1 · 2
voltada para o cálculo ma-
–1 –2 –3
Portanto, xf = 1 · 2 + 0 · 2 + 1 · 2 = (101)2 temático. Entre as opções
que podemos encontrar
Logo, (3,625)10 = (11,101)2 no site principal, existe um
conversor de números de-
cimais para binários. Nele,
Outras ferramentas computacionais podem ser usadas, entre elas são encon- o Wolfram Alpha® converte
(3,625)10 em (11,101)2.
tradas algumas linguagens de programação, como Sclilab e PythonTM.
Disponível em: https://
Relembramos que o processo aplicado pelo computador é o de converter de www.wolframalpha.com/
input/?i=3.625+to+binary. Acesso
binário para decimal, mas as conversões são importantes para garantirmos a vera-
em: 4 abr. 2022.
cidade dos nossos cálculos e a viabilidade de possíveis aplicações.

1.3 Tipos de erros


Vídeo
Quando falamos em erros, estamos tratando da diferença entre o valor real e o
valor obtido. É comum que sejam necessárias diversas simplificações do problema
real para que tenhamos um modelo matemático com solução possível.

Vamos observar a Figura 8, a qual apresenta a comparação entre um modelo


físico (Geoide) e um modelo matemático (Elipsoide) da superfície da Terra.
Figura 8
Comparação entre modelos físico e matemático

Geoide Elipsoide AlexanderZam/Shutterstock


(Físico) (Matemático)
jdrv_art/Shutterstock

Fonte: Elaborada pela autora.

Erros numéricos 19
O processo de propagação de erros começa quando transformamos um pro-
blema real em um modelo físico e este em um modelo matemático. Esse modelo
pode ser resolvido de maneira que tenhamos uma solução analítica ou uma solu-
ção numérica.
Figura 9
Esquematização para identificação de soluções matemáticas

Problema real

Modelo físico

Modelo matemático

Solução analítica Solução numérica

Implementação computacional

Resultado numérico

Fonte: Elaborada pela autora.

Neste ponto temos um grande questionamento: por que usar um método nu-
mérico? A resposta é mais simples do que imaginamos. Os modelos que possuem
solução analítica precisam ser extremamente simplificados, enquanto os modelos
que podem ser resolvidos numericamente podem conter mais variáveis, equações
e, assim, um requinte maior nas equações que o contemplam.

Como o modelo usado para a obtenção numérica é mais refinado, o erro ine-
rente ao método e à máquina podem ser muito menores se comparado ao erro
obtido com a solução analítica, que foi encontrada partindo de um modelo muito
mais grosseiro.

Com isso, concluímos que nem sempre usamos o mesmo modelo matemático
para as duas abordagens. Em geral, modelos matemáticos computacionais podem
abranger um número maior de situações quando comparados ao problema real.

Por meio do arredondamento e do truncamento conseguimos perceber a pro-


pagação de erros a que a resolução de um problema pode estar exposta.

Como vimos, os números não são representados computacionalmente de ma-


neira exata. Essa perda depende da capacidade da máquina.

A precisão (denotada por p) de um computador é o número de dígitos signifi-


cativos usados para representar um número. Os dígitos significativos são todos os
dígitos certos adicionados do primeiro algarismo duvidoso.

Dessa forma, os números infinitos (ou mesmo muito grandes) acabam sendo
arredondados ou truncados, ocasionando erros. Esses mesmos números, quando
em operações, ocasionam o que chamamos de propagação de erros.

20 Cálculo Numérico
Além desses erros, ainda temos o que chamamos de incerteza dos dados e aqui-
lo que denominamos de erros de modelagem matemática. Nesse caso, ao invés de
pensarmos na transformação de um número para sua forma finita, levamos em
consideração a construção do modelo matemático e, com isso, a acurácia dos ins-
trumentos de medição que estão envolvidos na construção desse modelo e as fer-
ramentas matemáticas disponíveis para solucionarmos o problema.

Vamos entender qual tipo de ajuste é necessário quando arredondamos ou


truncamos um número e o que isso acarreta para o cálculo.

1.3.1 Erro de arredondamento


O arredondamento de um número é feito por meio da análise do primeiro alga-
rismo após o dígito duvidoso.
• Caso o dígito duvidoso seja maior do que 5, aumentamos em uma unidade o
algarismo duvidoso e desprezamos os demais.
• Caso o dígito duvidoso seja menor do que 5, mantemos o valor do algarismo
duvidoso e desprezamos os demais.
• Caso o dígito duvidoso seja igual a 5, temos dois caminhos:

1. Se o algarismo duvidoso imediatamente anterior à parte desprezada for


um número ímpar, devemos aumentar esse em uma unidade.
2. Se o algarismo duvidoso imediatamente anterior à parte desprezada for
um número par, devemos deixá-lo como está, ou seja, inalterado.

Acompanhemos um exemplo de arredondamento (Exemplo 12).

Exemplo 12
Avaliemos o arredondamento em cada um dos itens a seguir:
1
•  0, 333  0, 33
3
• π = 3,1415926 ... ≈ 3,141693
• 1,55500 … ≈ 1,56
• 0,805 … ≈ 0,80

Adotamos o arredondamento numérico pois computacionalmente não é possí-


vel representarmos números infinitos, ou seja, esse tipo de ajuste ocorre devido às
limitações existentes na representação numérica em máquinas digitais. No entan-
to, existem outros tipos de erros que podem se propagar quando transformamos
um problema.

1.3.2 Erro de truncamento


O que chamamos de truncamento é o corte aplicado aos dígitos não significati-
vos de um número infinito (ou muito grande), de acordo com a precisão possível
da máquina.

O truncamento também ocorre quando é aplicado um método numérico na


solução de um problema e esse método leva a uma sucessão de termos infinitos.

Erros numéricos 21
Computacionalmente, essa abordagem não é possível e, nesses casos, a série de
termos é truncada em determinado ponto no qual o erro seja aceitável.

Em geral, é necessário definirmos o que é considerado um erro aceitável em


cada problema. Assim, o resultado encontrado, após o truncamento, será analisa-
do ante a obtenção desse erro.

Resumidamente, um erro de truncamento ocorre quando transformamos uma


representação de um processo infinito em uma representação finita.

É comum, por exemplo, truncarmos séries de funções, como no Exemplo 13.

Exemplo 13
Seja a função sen x escrita por meio de uma série de potências na forma:

x3 x5 x7
senx  x    
3! 5! 7!
π
Sabemos que o valor de sen é igual a 1 . Contudo, se calcularmos esse valor por meio
6 2
de uma série de potências trigonométrica truncada, teremos:
3 5 7
  
     
  6  6 6
sen    
6 6 3  2  1 5  4  3  2  1 7  6  5 4
4 3 21

Nesse caso, sen    0, 49999999187
6

Notemos que para esse cálculo, além do erro de truncamento, ainda temos um
erro de arredondamento e, portanto, começamos a perceber a intrínseca propaga-
ção de erros em diversos métodos computacionais.

1.3.3 Erro absoluto e erro relativo


Com os ajustes numéricos necessários para a representação computacional (ar-
redondamento, truncamento, entre outros), além dos ajustes nos modelos e de-
mais aproximações aplicadas, surge a questão referente à quantificação dos erros
envolvidos nesses processos.

Para entendermos se o resultado atingido foi bom, é necessário compará-lo ao


resultado exato.

Nesse ponto, surgem algumas métricas que nos permitem quantificar os erros.
As medidas de erro mais utilizadas são: o erro absoluto e o erro relativo (JUSTO
et al., 2020).

Erro absoluto
Seja x um número  x e x , sua aproximação. O erro absoluto da aproximação
EA real
EA  x  x é definido como:
EA  x  x

22 Cálculo Numérico
Vejamos o Exemplo 14.

Exemplo 14
2
A área da circunferência é dada por A = πr . Se r = 3, então, a área exata será dada por A
= 9π, mas, e se π for arredondado?
Seja π1 = 3,14 e π2 = 3,141593. Então,
A1 = 9 · 3,14 = 28,26
A2 = 9 · 3,141593 = 28,274337
Erro absoluto: EA  x  x → EA = |28,274337 – 28,26| = 0,014337 Leitura
Alguns relatos de acidentes
atribuídos a erros de
Passemos agora para o erro relativo. cálculo numérico podem
ser encontrado na leitura
do artigo, Some disasters
Erro relativo attributable to bad numerical
computing, apesar de estar
Seja x um número  x e x a sua aproximação. O erro relativo da aproximação
EA real com língua estrangeira,
ele pode ser traduzido
EA  x  x é definido como: facilmente por qualquer
tradutor on-line.
xx
ER  ,x  0 Disponível em: http://www-users.
x math.umn.edu/~arnold//disasters/.
Acesso em: 20 maio 2021.

O erro relativo é adimensional e, muitas vezes, expresso em porcentagens.

Exemplo 15
Utilizando os mesmos dados do Exemplo 14, vamos calcular o erro relativo.
Seja π1 = 3,14 e π2 = 3,141593. Então,
A1 = 9 · 3,14 = 28,26
A2 = 9 · 3,141593 = 28,274337
xx
Erro relativo: ER 
x

28, 274337  28, 26


ER   0, 0005070675927  100%  0, 0507%
28, 274337

Uma forma de minimizarmos o alastramento de erros em um modelo numérico


é reduzindo o número de operações conforme o Exemplo 16 demonstra.

Exemplo 16
Primeira Representação
n n-1 1
pn(x) = anx + an-1x + … + a1x + a0
Segunda Representação
pn(x) = ((…(anx + an-1)x + an-2)x + …a1)x + a0
Notemos que a primeira representação do polinômio contém mais operações do que a
segunda representação.
Sendo assim, o erro geral no segundo caso é menor, pois são necessários menos ajustes
numéricos e, com isso, menor alastramento de erros.

Erros numéricos 23
Esse tipo de manipulação precisa ser trabalhado com suas especificidades, den-
tro de cada método numérico e de cada situação que permita a implementação
computacional.

1.3.4 Erros nas operações elementares ou de cancelamento


Voltando à análise de que existe um erro envolvido no processo de cálculo quan-
do ele é resolvido com o uso de ferramentas computacionais, dizemos que o erro
presente nas operações elementares de adição, de subtração, de multiplicação e
de divisão está diretamente relacionado à capacidade, em bits, da máquina. Por
exemplo, se o computador que será utilizado para calcular um modelo numérico
–52
for de 64 bits, o erro será da ordem de 2 .
–52
Avaliando esse número, que denotamos por ϵ = 2 , percebemos que ele é
bem pequeno quando comparado à necessidade da maior parte das aplicações
resolvidas.

De acordo com Justo et al. (2020, p. 28), “assumindo que x e y são representados
com todos os dígitos corretos, temos aproximadamente 15 dígitos significativos
corretos quando fazemos uma das operações x+y, x−y, x×y ou x/y”.

Quando avaliamos se existe uma operação que acarrete erros maiores do que
a outra, podemos pensar em um simples cálculo de subtração entre valores muito
próximos. Nesse caso, dizemos que o erro se propaga de maneira catastrófica.

Portanto, o chamado erro de cancelamento se dá quando há um aumento impor-


tante do erro relativo. Esse também é um caso de erro nas operações elementares
e novamente podemos citar o caso da subtração de valores muito próximos.

CONSIDERAÇÕES
FINAIS
Com este capítulo, percorremos trechos da história da matemática que permitiram
a compreensão do desenvolvimento da história da computação, desenvolvimento dos
sistemas e cálculos numéricos.
Ao longo do capítulo identificamos alguns matemáticos que estiveram diretamente
relacionados à construção não só das linguagens de programação, mas também da
própria máquina digital eletrônica (computador moderno) e da forma que ela opera.
Além disso, percebemos a importância das estruturas lógicas matemáticas envol-
vidas no processo por trás da lógica computacional e, com isso, repensamos algumas
das estruturas matemáticas clássicas que, quando convertidas para serem interpreta-
das pelo computador, ainda mantêm suas caraterísticas principais, ou seja, elas man-
têm sua estrutura matemática.
Portanto, todo esse enfoque é dado para que possamos entender quais são os
erros envolvidos nos processos de cálculo e como avaliá-los, seja para evitarmos a
propagação ou, até mesmo, analisarmos a sua viabilidade.

24 Cálculo Numérico
ATIVIDADES
Atividade 1
Podemos considerar o sistema de numeração romano um sistema aditivo ou um
sistema posicional? Explique.

Atividade 2
É possível converter um número na base 10 para um número na base hexa-
decimal através de divisões sucessivas? Explique essa conversão e converta o
número (9)10 para essa base.

Atividade 3
Ao escrevermos o número de Euler da forma

1 1 1 1 1
e = 2,718 … e e   n!  0!  1!  2!  3! 
n 0

No primeiro caso devemos usar qual tipo de ajuste numérico para obter um
número finito? E no segundo caso? Quais são os erros envolvidos em cada um
dos casos?

REFERÊNCIAS
BOOLE, G. Researches on the theory of analytical transformations, with a special application to the reduction
of the general equation of the second order. Cambridge Mathematical Journal, v. 2, p. 65–73, 1841a.
BOOLE, G. Exposition of a general theory of linear transformations. Cambridge Mathematical Journal, v. 3,
p. 1–20, 1841b. (Parte 1)
BOOLE, G. Exposition of a general theory of linear transformations. Cambridge Mathematical Journal, v. 3,
p. 106–119, 1842. (Parte 2)
CARROLL, L. Aventuras de Alice no país das maravilhas e através do espelho e o que Alice encontrou por lá.
São Paulo: Zahar, 2013.
GOUVEIA, R. Sistema de numeração decimal. TodaMatéria, 2022. Disponível em: https://www.todamateria.
com.br/sistema-de-numeracao-decimal/. Acesso em: 8 jul. 2022.
JUSTO, D. A. R. et al. (org.). Cálculo numérico: um livro colaborativo. Porto Alegre: UFRGS, 2020. Disponível em:
https://www.ufrgs.br/reamat/CalculoNumerico/livro-sci/livro-sci.pdf. Acesso em: 24 maio 2021. (On-line)
SAMPEDRO, J. Um sistema binário inventado na Polinésia séculos antes de Leibniz. El País, dez. 2013.
Disponível em: https://brasil.elpais.com/brasil/2013/12/16/sociedad/1387215405_275511.html. Acesso
em: 7 jul. 2022.

Erros numéricos 25
2
Sistemas de equações lineares
Os sistemas de equações são encontrados em uma gama de aplicações nas
mais diversas áreas. Das exatas às ciências biológicas, passando pelas áreas tec-
nológicas e pelas ciências sociais, resolver um sistema de equações pode nos levar
a resultados de balanceamentos químicos, a respostas de sistemas elétricos, ao
equilíbrio de forças, a distribuições de alimentos, entre tantas outras aplicações.

De maneira mais conceitual, mas ainda aplicada, os sistemas de equações nos per-
mitem encontrar o que se relaciona nas diferentes estruturas que os compõem, ou seja,
os pontos de intersecção, as retas comuns ao sistema e os planos que se interceptam.

Por todos esses motivos, aprendermos a resolver os mais diversos tipos de sis-
temas de equações, aplicando técnicas diferentes que nos permitam aproximar-
mos da solução exata (quando a encontrar diretamente não for possível), é uma
tarefa de grande necessidade dentro das ciências.

Existem diversos métodos para resolvermos um sistema de equações, sejam


eles diretos e iterativos, exatos ou com solução aproximada, mas em todos os ca-
sos, caso queiramos expandir o conjunto de aplicações, precisamos levar essas for-
mas de resolução para uma visão computacional.

Para tanto, desenvolvemos técnicas que nos permitem obter as soluções para
esses sistemas. Além disso, apresentamos diferentes abordagens para a decompo-
sição (fatoração) de um sistema de equação e as respectivas maneiras de como re-
solvê-lo. Assim como, explicitamos o conceito de condicionamento de um sistema
linear o qual possibilita analisar a estabilidade da solução.

Por último, discutimos sobre as técnicas iterativas, sobretudo, os métodos de


Jacobi e Gauss-Seidel.

Objetivos de aprendizagem
Com o estudo deste capítulo, você será capaz de:
• relembrar processos de eliminação gaussiana;

• usar o método de eliminação gaussiana para desenvolver métodos de fatoração


da matriz dos coeficientes;

• aplicar a triangularização em sistemas de equações lineares;

• resolver um sistema de equações lineares (Ax = b), substituindo a matriz A e


obtendo um sistema mais simples;

• analisar o condicionamento de matrizes que formam diferentes sistemas de


equações lineares;

• desenvolver e aplicar métodos iterativos de solução para sistemas de equações


lineares.

26 Cálculo Numérico
2.1 Eliminação gaussiana
Vídeo Aprender a resolver os mais diversos tipos de sistemas de equações, de manei-
ra exata ou aproximada, é uma tarefa de grande necessidade dentro das ciências.

Os métodos diretos para a solução de sistemas de equações, em sua maior


parte, baseiam-se na decomposição (fatoração) de matrizes e na manipulação, por
meio de operações elementares, de linhas e de colunas dessas matrizes.

2.1.1 Decomposição gaussiana


A decomposição gaussiana consiste em transformar um sistema de equações
qualquer em um sistema equivalente triangular superior. Com isso, é possível resol-
vermos o sistema triangular aplicando operações elementares que nos permitem
encontrar, de maneira regressiva, as coordenadas do vetor solução, se ele existir.

Dessa forma, seja uma matriz Amxn dada por:

 
 a 1  a 1  1   a 1   a 1  
 a1 k
 11 12 1m 1n 
 a 1  a 1   1  1
 a2k  a2m  a2n 
1 
 21 22 
1           
A  1
 a k1 a k 2
   1

1  1  1  
a kk  a km  a kn 
 
         
 1   1 1  1  1  
a m1 a m2  a mk  a mm  a mn 
 
(k) (1)
E seja A uma matriz semelhante a A . Então,

 
 a 1  a 1   a 1   a 1  1 
 a1 n 
 11 12 1k 1m 
 0 a  2  a  2  a  2  2
 a2n 
 22 2k 2m 
k   0 0       
A   k  k k  
    a kk  a km  a kn 
         

 0 0
 k 
 a mk  a mm
k k 
 a mn 

 
(k)
Notemos que a matriz A ainda não está triangularizada, mas ela já apresenta
nas suas primeiras colunas termos nulos abaixo da diagonal principal. Assim, o
(m)
nosso interesse está em encontrar uma matriz A triangularizada, para que pos-
samos aplicar operações regressivas e calcularmos o vetor solução.

Vamos entender esse processo de maneira que seja possível transcrevê-lo em


formato de algoritmo.

Notemos que:
 A(2)  M1 ·A(1)

 
 (m) ( m 1 )
 A  M m 1 · A

Sistemas de equações lineares 27


Portanto, precisamos de m – 1 passos para concluirmos a decomposição. Escre-
vendo esse processo em etapas, teremos:
1  0, então:
1. Se a11

 
 a 1  a 1  1   a 1   a 1  
 a1 k
 11 12 1m 1n 
 a 1  a 1  1   2
 a2k  a2m  a2n 
1 
 21 22 
1           
A  A   1   1 1   a 1  1  
 ak1 ak 2  a kk km
 a kn 
         
 
 a 1  a 1   amk
1
 a
1  1 
 a mn 
 m1 m2 mm 
 

Assim, existe uma matriz M1 (mxm):

 1 
 1  
 a21 
  1  1 
 a11 
 .. 1 
M1   
 .. 1 
 .. 1 
 
 a 1  
  m1 1
1 
 a11 

1  1  1 
a21 a31 a m1 2  M ·A 1
Com m21   , m31   , ..., mm1   , tal que A
1  a
1  1  1
a 11 11 a 11

Logo,

 
 a 1  a 1  1  1  1 
 a1k  a1m  a1n 
 11 12
 0 a  2  2  2  2
 a2k  a2m  a2n 
 22

 2          
A 
 0 a k 2  2

 2  2  2 
a kk  a km  a kn 
 
         
  2  2  2  2 
 0 a m2  a mk  a mm  a mn 
 

Notemos que M1 multiplica todas as colunas de A, mas ele só zera a coluna 1,


abaixo da posição (1,1) ou ocasionalmente alguma outra coluna.

28 Cálculo Numérico
  0
2. a22
2

(3) (2) (1)


Existe uma matriz M2 (mxm), tal que A = M2 ⋅ A = M2M1A

1 
 1 
 
  2 
 - a32 1 
  2 
a22
 
M2   a  
2
 - 42 1 
a22
2
 
 
  1 
  2 
 - a m2 1
  2 
 a22 
 2
a32
 2
a 42
 2
a m2
Com m32   , m42   , ..., mm2   . Logo,
 2
a22
 2
a22
 2
a22

 
 1  1  1  1  1  
a11 a12  a1k  a1m  a1 n 
  2  2  2  2 
 0 a22  a2k  a2m  a  2n
 3  
A 
       

 0 0
 3 
 a kk  a km
3 3
 a kn 
 
         
  3  3  3 
 0 0  a mk  a mm  a mn 
 

K. akkk  0 . Então, A
(k+1) (k)
= M kA

 
 1  1  1  1  
a11 a12  a1k  a 1n 
  2  2  2 
 0 a22  a2k  a 2n 

 k 1    k 
  a kk 
k  
a kn 
A
  k 1 
 k 1 
 0 0 0 0 a k 1 , k 1 a k 1 , n 
 0   0    
 
 0 0 0 0
 k 1
a m , k 1 
 k 1
a m ,n 
 
 

O processo deve ser seguido até o passo r em que k = min{m – 1, n}

Notemos que as matrizes Mk são matrizes ditas elementares triangulares


inferiores.

Sistemas de equações lineares 29


Definição 1
Uma matriz elementar triangular inferior de ordem n e índice k pode ser escrita como:

Mk  In  meTk
 
 m1 
 
onde eTi  m  0 , para i = 1, …, k e m   2  é ortogonal a todos os vetores canônicos
m
 ... 
e1, e2, ..., ek.  
mn 
 

Então, a partir da Definição 1,

 m1 
  m 
  2
1 0 ... 0  ...   0  m  0
   1
  mn 
  
 

 m1 
  m 
  2
0 1 ... 0  ...   0  m  0
   2
  mn 
  
 

   m1 
  
0 ... m
1 0  2   0  m k  0
    ... 
 posição k  
  mn 

Dessa maneira, temos:

0 0 0 0 0
1   0  1   ... 
 ...   0       
       ...  0 0 0 0 0
Mk   1   0   0 ....
 1 
... 0   1   0 
 
m k 1 ... 0
       
 ...  mk 1     ...  0 mn 0
 posição k
   
 1  mn   1 

 
 coluna k


Logo,

1 0 0 0 0
 ... 
 
Mk  0 0 1 0 0
 
0 mk 1 ... 0
0 m n 1


30 Cálculo Numérico
é a matriz elementar triangular inferior de ordem n e índice k. Com a matriz ele-
mentar, podemos extrair alguns resultados.

Resultado 1
Se M  In  m  ek , então M1  In  m  eTk
T

Resultado 2
Dado x, com xk ≠ 0, existe uma única matriz elementar triangular M, de índice k, que anula
todos os elementos de x abaixo da posição k (e mantém todos os demais elementos).

Pela fatoração gaussiana, temos que, se A é uma matriz com m linhas e n colu-
(m)
nas, então temos m – 1 passos para obter a matriz A , tal que:

A(1) → A(2) = M1 ·A(1) → ... → A(m) = Mm–1 · A(m–1)


Assim, generalizando esse processo e escrevendo por meio de matrizes elemen-
tares, temos:

A(k+1) = Mk · A(k) = Mk · Mk–1 ... · M1 · A(1)


Onde:

Mk  In  m  eTk

Logo,

A  n k k



 k  1   I  m eT  A  k 

Mk

Matricialmente, essa expressão é escrita como:

 0 
 
  
 0  
   
 k 1  A  k    m  k   a k  
A k 1 , k  0 ... 0 a kk
   kn

  
 mm ,k   
 
 
 

Portanto,

 
0 0  0    0 
 
0 0  0    0 
   0k ,k    0 
 k 1  A  k    
A 0 0 0 mk 1,k a kk
k  
   mk 1,k a kn 
k
 
0   x     
 k   k  k  
0 0 0 mm ,k a kk    mm ,k a kk a kn 
 

(k)
que apresenta o processo de atualização de A .

Sistemas de equações lineares 31


(k+1) (k)
A matriz A pode ser obtida por intermédio da matriz A apenas alterando o
canto inferior direito, isto é:

a ij
 k 1  a k  ; i = 1, ..., k; j = 1, ..., n
ij

a
 k 1  a k   0 ; i = k + 1, ..., m; j = 1, ..., k
ij ij

Logo,

aij  aij   mik  akj  , i  k  1,..., m


k 1 k k

j  k  1,..., n

Esse processo nos permite escrever o Algoritmo 1 que explicita a decomposição


de Gauss da matriz A.

Lembrete

k 
Algoritmo 1
Os elementos a kk são
chamados de elementos
k 
pivôs. Seja A   m  n , m > 1, k = min{m – 1, n}, a kk  0

 
 a  1  a 1   a 1   a 1   a
1  
 11 12 1k 1m 1n
  a  2  a  2  a  2 
 2
a2n
 22 2k 2m 
Leitura          
A  k  k k  
Cada algoritmo precisa     a kk  a km  a kn 
ser adaptado para uma  
linguagem de programação          
específica. Se por acaso   m 1   m 1  
trabalharmos com uma
 m1 m2  mk  a mm  a mn 
 
linguagem de alto nível,
possivelmente a própria
linguagem já traga intrin- onde mk são as posições abaixo da diagonal que são zeradas. Assim, para k = 1,
secamente questões como
armazenamento dos dados
2, ..., r podemos escrever:
de uma matriz na memória,
módulos de inversão e a ik
a ik  mik  , i  k  1,..., m
cálculo do determinante, a kk
entre outros. No entanto,
caso seja uma linguagem
de baixo nível, todas essas a ij  a ij  mik  a kj , i  k  1,..., m
questões serão declaradas
j  k  1,..., n
pelo programador. Para
mais detalhes, sugerimos
a leitura dos artigos sobre
matriz do Departamento
de Ciência da Computação Quando trabalhamos com esse processo de maneira computacional, precisa-
da USP e do Curso de C da
mos nos lembrar de que o computador resolve processos numéricos discretos,
UFMG, disponibilizados no
site da UFSC. por etapas, e que eles podem carregar muitos erros: de arredondamento, de trun-
Disponível em: https://panda.ime.usp. camento e de cancelamento. Dessa forma, para implementarmos uma matriz e
br/aulasPython/static/aulasPython/ aplicarmos as operações sobre ela, é necessário que tenhamos um passo a passo
aula11.html.
Disponível em: http://mtm.ufsc. do processo numérico. Portanto, transformar um problema matemático em um al-
br/~azeredo/cursoC/aulas/c530.html goritmo nos dá justamente esse passo a passo necessário para que o computador
Acessos em: 12 jul. 2022.
possa resolvê-lo.

32 Cálculo Numérico
Vejamos o Exemplo 1:

Exemplo 1
2 4 2
Seja A  1 1 5  . A decomposição de Gauss ocorre em r = min{2,3} = 2 passos,
4 1 2
que são:
1. a11 ≠ 0
 1 0 0
 
 1 
 1 0
M1   2 
 
 4 
 2 0 1 
 

 1 0 0
 
 1  2 4 2 2 4 2
 1 0 
A    M1A     2 . 1 1 5   0 3 6 
2 1
 
 4  4 1 2 0 7 2 
  2 0 1
 

2. a22 ≠ 0
 
1 0 0
 
M2  0 1 0
 7 
0  3 1
 

1 0 0
  2 4 2 2 4 2 
 3 2 0 1 0    
A  M2A    0 3 6   0 3 6 
0  7 1 0 7 2  0 0 12
 3    
 

O Exemplo 2 apresenta uma outra situação:

Exemplo 2
Seja um sistema de equações dado por:

2x1  4x2  2x3 6



 x1  x2  5x3 0
 4x  x  2x 2
 1 2 3

Portanto, pela fatoração matricial, escrevemos:

2 4 2 2 4 2 2 4 2 
A  A1  1 1 5   A2  0 3 6   A  0 3 6 
  3  
4 1 2 0 7 2  0 0 12
 
multiplicando por M1 multiplicando por M2

(3) (1)
Desse modo, A = M2 · M1 · A , onde M1 zera todos os elementos abaixo da posição
(1,1) e M2 zera todos os elementos abaixo da posição (2,2).

Sistemas de equações lineares 33


Vejamos o que a Definição 2 apresenta.

Definição 2
A matriz M é definida como uma matriz elementar triangular inferior de ordem m (no caso
do Exemplo 2, de ordem 3). A matriz M permite-nos zerar todos os elementos abaixo de
uma determinada posição k < m, mantendo os demais elementos.
Vídeo
Caso tenha alguma dúvida
sobre escalonamento, Agora, passemos para a Definição 3.
sugerimos que assista ao
vídeo Escalonamento, dis-
ponível no canal Portal da Definição 3
Matemática OBMEP. Com (k+1)
ele, além de recapitular a Uma matriz A é equivalente por linhas a uma matriz A caso exista uma sequência
decomposição gaussiana, é finita de matrizes elementares M1, M2, ..., Mk , tal que:
possível começar a aplicá-la (k+1)
no contexto dos sistemas
A = MkMk–1 ... M2M1
de equações lineares.

Disponível em: https://www.youtube. O processo que acabamos de ver nas Definições 2 e 3 também pode ser cha-
com/watch?v=QmmYqR-7zm4. mado de escalonamento e, como vimos, ele nos permite escrever um sistema de
Acesso em: 12 jul. 2022.
equações lineares na sua forma equivalente triangular superior.

Com a eliminação gaussiana bem compreendida, falaremos sobre a estru-


tura de um sistema de equações lineares a partir de matrizes triangulares ou
triangularizadas.

2.2 Sistemas triangulares


Vídeo
Por meio de um sistema de equações lineares na forma triangularizada (inferior
ou superior) é possível encontrarmos a solução desse sistema utilizando substitui-
ções progressivas (triangular inferior) ou regressivas (triangular superior).

Definição 4
“Dois sistemas de equações lineares envolvendo as mesmas variáveis são equivalentes
Vídeo
se, e somente se, tiverem o mesmo conjunto solução” (LEON, 2019, p. 4).
O vídeo Exemplo prático:
sistemas equivalentes de
equações, da plataforma
Khan Academy, é um con- Dessa maneira, vamos supor um primeiro sistema AX1 = B e um segundo sis-
teúdo interessante sobre
o tema: sistemas de equa- tema QX2 = C, caso X1 = X2, logo, os dois sistemas serão equivalentes (Exemplo 3).
ções. Além de assistirmos
ao vídeo, também podemos
Exemplo 3 
resolver exercícios usando 3x1  x2  4x3  2
a plataforma, que é gratui- 3x1  x2  4x3  2 
ta, gamificada e adaptativa. O sistema  x1  x2  x3  8 é equivalente ao sistema  4 1 26 , pois ambos
  x 2  x3 
Essa prática auxilia-nos a  2x  x   1  3 3 3
fixar o conteúdo estudado.  2 3  3
   x3  12
Disponível em: https://  23   2
 
pt.khanacademy.org/math/algebra/ apresentam como solução o vetor X   2 
systems-of-linear-equations/  9
equivalent-systems-of-equations/v/  
identifying-equivalent-systems-of-  2
 8 
equations. Acesso em: 14 maio 2022.

34 Cálculo Numérico
Agora, vejamos o que Leon (2019) apresenta na Definição 5.

Definição 5
“Desde que os sistemas possuam matizes ampliadas equivalentes, estes podem ser deno-
minados Sistemas Equivalentes.” (LEON, 2019, p. 4)

Assim, podemos aplicar a eliminação gaussiana para triangularizar um sistema


de equações e, com isso, obtermos a solução do sistema triangularizado equivalen-
te. Observe esse processo no Exemplo 4.

Exemplo 4
Seja o sistema de equações dado por:
2x1  4x2  2x3 6

 x1  x2  5x3 0
 4x  x  2x 2
 1 2 3

Portanto, pela decomposição matricial, escrevemos:


2 4 2 6  2 4 2 6 
A  A1  1 1 5 0  A2  0 3 6 3 
 
4 1 2 2 0 7 2 10
   
multiplicando por M1 multiplicando por M2

2 4 2 6 
 A3  0 3 6 3
0 0 12 3

Com isso, ao invés de resolvermos A1 · x = b, resolvemos A3 · x = c, onde:


• A2 = M1 · A1
• A3 = M2 · A2 = M2 · M1 · A1
M2 · M1 · A 1 · x = M 2 · M 1 · b = c
Portanto, A3 · x = c é reescrito como:
2 4 2   x1   6 
0 3 6   x    3
   2  
0 0 12  x3   3

O que nos permite escrever:


1
• 12x3  3  x3 
4
1 3
• 3x2  6x3  3  3x2  6    3  x2 
4 2
3  1 1
• 2x1  4x2  2x3  6  2x1  4    2   6  x1 
2  4 4
2x1  4x2  2x3  6
 
Logo, a solução para  x1  x2  5x3  0 é:  1 , 3 , 1 
 4x  x  2x 4 2 4
 1 2 3 2

Sistemas de equações lineares 35


A Figura 1 apresenta o resultado gráfico desse sistema.
Figura 1
Intersecção entre planos

B = (0.25, 1.5, 0.25)

Fonte: Elaborada pela autora.

Podemos observar o método de eliminação de Gauss mediante o que chama-


mos de pivoteamento completo ou de pivoteamento parcial, conceitos os quais abor-
daremos a seguir.

2.2.1 Pivoteamento completo


(k)
Seja a matriz A da forma:

   
 
akk
k
  
A   
k
k  
  a lk ,ck 
    

k  k  k 
Caso o pivô a kk  0 e os demais a k 1,k , ..., a m ,k sejam diferentes de zero, então
podemos realizar o que chamamos de pivoteamento completo.
k 
Nesse caso, trocamos a kk por alk ,ck . Para isso, fazemos a troca entre as linhas
k

kk e lk, e as colunas kk e ck.

A troca de linhas equivale a realizar uma pré-multiplicação da matriz, como no


caso a seguir:

Ik ,lk ·A
k   Ak 

Já a troca entre as colunas kk, por ck pode ser calculada por meio de uma pós-
multiplicação calculada por:

 k  ·I k 
A k ,ck A

Portanto,

A(k+1) = Mk · (Pk · A(k) · Qk) (1)


Vejamos o Exemplo 5 para compreendermos melhor o assunto.

36 Cálculo Numérico
Exemplo 5
1 2 3  1 0 0
 
Seja A  4 5 6 , então: P23  0 0 1 . Assim,
7 8 9 0 1 0

1 0 0 1 2 3 1 2 3
P23A  0 0 1 . 4 5 6   7 8 9
0 1 0 7 8 9 4 5 6 

1 0 0
 
Considerando Q23  0 0 1 , escrevemos:
0 1 0
1 2 3 1 0 0 1 3 2
AQ23  4 5 6  . 0 0 1  4 6 5
7 8 9 0 1 0 7 9 8 

O processo para realizar o pivoteamento parcial é muito semelhante. A grande


diferença está no fato de que podemos realizar apenas a troca de linha (ou coluna)
se isso já for suficiente para obter o pivô desejado.

2.3 Métodos de fatoração


Vídeo Nessa seção, falaremos da fatoração LU e sua ramificação para fatoração LDU,
que transforma esse segundo em um método com matrizes unicamente definidas.

2.3.1 Fatoração LU
Seja uma matriz A de ordem m, sua decomposição resulta em outras duas ma-
trizes: a primeira, uma matriz triangular inferior L (lower); e a segunda, uma matriz
triangular superior U (upper) que chamamos de decomposição LU.

 a11  a1m   l11  0  u11  u1m 


A                   L  U
a m1  a mm  lm1  lmm   0  umm 

Esse tipo de decomposição não é única, ou seja, podem existir diferentes ma-
trizes triangulares inferiores e superiores que, quando multiplicadas, originam a
matriz A.

Para encontrarmos essas matrizes, usamos o processo de eliminação de Gauss,


que nos auxilia a escrevermos a matriz A na forma fatorada em matrizes mais
simples.

Como vimos, o processo de Gauss gera matrizes M1, M2, ..., Mr, com r = min
{m – 1,n}, tal que:
A(r+1) = Mr Mr–1 ... M1 · A

Sistemas de equações lineares 37


As matrizes M não são singulares, portanto, podemos calcular suas inversas.
Assim,

A  M11 M21 Mr1  A


 r 1

Portanto, L  M11M21 Mr1 e U = A


(r+1)
, com:

Triangular inferior Triangular superior


1   a 1     
   11 
L  M11M21 Mr1  
1    2
a22   
  ....   
  U ....  
m1 m2  mr 1   m

 a mm 
 
 
 

Exemplo 6
3 2 4 
Seja A  1 1 2 . Determinar a decomposição LU da matriz A.
 
4 3 2 
 1
Usando a decomposição de Gauss, temos como primeiro pivô o elemento na posição a11  3
1 
a21 a
1 
1 4
Assim, os multiplicadores são: m21   e m31  31 
1 
a11 3 a
 1 3
11

3 2 4 

3 2 4   1 2 
A  A    1 1 2    
1 0
L2 m21L1 
3 3 
4 3 2  L3 m31L1  1 22 
0  
 3 3


 2 1
 2 1
O próximo pivô é a22  . Agora, os multiplicadores são m32 
a32 3
 1 :
3 a
 2 1
22
3
3 2 4 
 3 2 4
 2   1 2 
1
A    
0
3   0
2
 3
L3 m32L2  3 3
 22  0 8 
1
0    0 8
 3 3


Portanto, L carrega os multiplicadores (triangular inferior), enquanto U é a última matriz


após a triangularização (triangular superior).
 1 0 0
  3 2 4
1   1 2 
L  3
1 0
U  0
   3 3
4  0
3 1 1   0 4 
 

38 Cálculo Numérico
Decomposição LU
Na linguagem MATLAB, é possível usarmos as funções intrínsecas da linguagem
para calcularmos a decomposição LU. Assim, tendo a matriz A, basta fazermos:

>[L,U]=lu(A)
>[L,U,P]=lu(A)

Na linguagem Python, é possível implementarmos o Código-fonte 1 (JUSTO


et al., 2020).

Código-fonte 1 – Decomposição LU

import numpy as np
def fatoraLU(A):
U = np.copy(A)
n = np.shape(U)
[0]
L = np.eye(n)
for j in
np.arange(n-1):
for i in
np.arange(j+1,n):
L[i,j] =
U[i,j]/U[j,j]
for k in
np.arange(j+1,n):

U[i,k] = U[i,k]
- L[i,j]*U[j,k]
U[i,j]
= 0
return L, U

Após a implementação, basta chamarmos a função fatoraLU na forma:

fatoraLU([[3.,2.,4.],[1.,1.,2.],[4.,3.,2.]])

Portanto, fica evidente a possibilidade de encontrarmos a solução por meio uso


de substituições progressivas ou regressivas a partir de sistemas de equações li-
neares triangularizadas, sejam eles inferior ou superior. Seja um sistema de equa-
ções lineares da forma LX = B, com os seguintes aspectos:

Sistemas de equações lineares 39


 l11  0 
• L      
ln1  lnn 

 x1 
• X    
 x n 

 b1 
• B    
bn 

Assim, esse é um sistema triangular inferior no qual a matriz dos coeficientes (L)
tem seus elementos na forma lij = 0 para i < j.

Logo,

 l11x1  b1
l x  l22x2  b2
 21 1

    
ln1x1  l n 2x 2    lnn x n  bn

Podemos montar algoritmos para calcularmos a solução de sistemas lineares


com essa característica e eles podem ser reescritos na linguagem de programação
desejada.

Para estruturarmos esse algoritmo, usamos uma linha genérica li:

Li1 · x1 + li2 · x2 + ... + lii · xi = bi


e, dessa maneira, isolando xi, obtemos:

bi  (li1  li2x2    lii 1x i 1 )


xi 
lii

Portanto, podemos denotar esse raciocínio conforme consta no Algoritmo 2.

Algoritmo 2
b1
x1 =
l11

Para i = 2, ..., n façamos:

x 
b  
i
i 1
lx
j1 ij j 
i
lii

Para compreendermos melhor, vejamos o Exemplo 7.

40 Cálculo Numérico
Exemplo 7
Seja um sistema de equações lineares triangular inferior:

 1 0 0  x1   2
 2 3 0  x    2 
   2  
 1 2 1  x3   1 

Resolveremos esse sistema usando o Algoritmo 2. Desse modo,

b1 2
x1     2
l11 1

b2  l21x1 2  2 2 2 4
x2     2
l22 3 3

b3  l31x1  l32x2 1   1  2   2  2 12 4


x3     5
l33 1 1

Portanto, S = {–2, –2, –5}.

O mesmo princípio é adotado para um sistema de equações lineares triangular


superior (forma padrão obtida com a aplicação do escalonamento).

Nesse caso, usamos como modelo um sistema de equações lineares UX = B,


com os seguintes aspectos:
u11  u1n 
• U      
 0  unn 

 x1 
• X    
 x n 

 b1 
• B    
bn 

Portanto, esse é um sistema triangular superior onde a matriz dos coeficientes


(U) tem seus elementos na forma uij = 0 para i > j. Denotamos

u11x1  u12x2    u1n x n  b1


  u22x2    u2n x n  b2


    
 unn x n  bn

Também podemos montar um algoritmo para a solução dos sistemas no forma-


to UX = B e, para isso, usamos a i-ésima linha da forma:

uii · xi + uii+1 · xi+1 + uii+2 · xi+2 ... + uin · xn = bi


Isolando xi , obtemos:

xi = bi – ui(i+1) · ui+1 – ui(i+2) · xi+2 – ... – uin · xn


Portanto, podemos escrever esse raciocínio por meio do Algoritmo 3.

Sistemas de equações lineares 41


Algoritmo 3
bn
xn =
unn

Para i = (n – 1), (n – 2), ..., 1 façamos:

 n 
 bi   j i 1uijx j 
xi   
uii

Vejamos o Exemplo 8.

Exemplo 8
Seja um sistema de equações lineares triangular superior:

1 2 1  x1   2
0 3 0  x    2 
   2  
0 0 1  x3   1 

Resolveremos esse sistema usando o Algoritmo 2. Assim,

b3 1
=
x3 = =1
u33 1

b2  u23x3 2  01 2
x2   
u22 3 3

 2
2   2     1 1
b1  u12x2  u13x3  3 13
x1   
u11 1 3

Logo, a solução para esse sistema de equações é: S   13 ,  2 ,1


 3 3 

Notemos que os algoritmos não dependem de linguagem de programação pre-


viamente escolhida, pelo contrário, eles precisam ser adaptados à linguagem na
qual se queira programar.

2.3.2 Resolução de sistemas por decomposição LU


Seja A uma matriz quadrada de ordem n que pode ser decomposta em duas
matrizes, uma delas sendo triangular inferior (L), e a outra sendo triangular su-
perior (U). Nesse caso, caso tenhamos um sistema de equações escrito na forma:
AX = B.
Então, podemos escrever:

(LU)X = B (2)
Portanto, podemos fazer:

 =B
L UX
Y

42 Cálculo Numérico
E, assim, resolvemos a equação (2) em duas etapas:
1. Resolver LY = B, que é um sistema triangular inferior.

Para isso, podemos usar o Algoritmo 2:

 b  i 1l y 
 i  j1 ij j 
yi    , i  1, 2, , n
lii

2. Resolver UX = Y, que é um sistema triangular superior.

Para isso, podemos usar o Algoritmo 3:

x 
y   i
n
ux
j i 1 ij j  , i  n , n  1,  , 1
i
uii

Esse tipo de abordagem é muito útil quando precisamos resolver diversos siste-
mas de equações nos quais mantemos a matriz de coeficientes A, mas precisamos
mudar a matriz (vetor) de termos independentes B.

Exemplo 9
 3 2 4   x1   1 
Seja um sistema de equações na forma: AX  B  1 1 2  x2    1
    
4 3 2   x3   2 
Para resolvermos esse sistema usando a fatoração LU, precisamos escrever: A = LU.
Desse modo,
 1 0 0
  3 2 4 
3 2 4   1  
  1 0  1 2 
 1 1 2   3  0 3 3 
4 3 2  4  
 3 1 1 0 0 4 
  
 U
L

Agora, vamos aplicar as duas etapas apresentadas previamente a fim de obtermos a so-
lução para X.
1. Resolver LY = B, que é um sistema triangular inferior. Então,
 
 1 0 0
  y1   1 
 1 1 0  y    1
3   2  
   y 3   2 
 4 1 1
 3 
b1 1
y=
1 = =1
l11 1

b2  l21y 1 1 
1
3
1  4
y2   
l22 1 3
4  4
2    1   1    
b3  l31y 1  l32y 2  3  3  2
y3  
l33 1

 
 y1 , y2 , y3    1,  34 ,2  (Continua)
 
Sistemas de equações lineares 43
Vídeo
Para verificarmos a solução 2. Resolver UX = Y, que é um sistema triangular superior. Então,
dos exemplos desse
material é possível usarmos 3 2 4  1 
  x1 
a calculadora online do site
0 1 2     4 
x2  
Matrixcalc; ele ainda conta  3 3    3
com outras calculadoras 0   x3   
 0 4   2 
pensadas para a resolução
de matrizes. y3 2 1
x3   
Disponível em: https://matrixcalc.org/ u33 4 2
pt/slu.html. Acesso em: 12 jul. 2022.
 4   2  1 
       
y 2  u23x3

3   3  2 
x2   3
u22 1
3
 1
1  2  3  4   
y 1  u12x2  u13x3  4  3
x1  
u11 3
 1
Logo, a solução para esse sistema de equações é: S  3; 3;  
 2

Além da fatoração LU, temos o que chamamos de fatoração LDU, a qual expli-
citaremos a seguir.

2.3.3 Fatoração LDU


A decomposição LDU, ao contrário da decomposição LU, é única desde que os
pivôs sejam diferentes de zero. Como o próprio nome nos leva a perceber, A será
fatorada (decomposta) em uma matriz triangular inferior (L), uma matriz diagonal
(D) e uma matriz triangular superior (U):

1  d11  1    
 1   d   1  
L  D  22  U 
  1   ...   1 
     
    1  d nn   1

Gauss pode ser aplicado sem troca de linhas ou colunas. Dessa forma,

A(n) = Mn–1 ... M1A(1)


Assim,

A(n) = L–1 A(1) = L–1 A


Portanto, A = L · A
(n)
onde A
(n) k 
tem todos os pivôs a kk  0

Definindo:

a 1  
 11 
  2 
a22
D  
 .... 
 n 
 a nn 

44 Cálculo Numérico
-1
Então, D existe, logo,

1 / a1 
 11

  2 
1 1 / a22
D  
 .... 
 n 
 1 / a nn 
–1 (n)
Definindo U = D A , temos:

1 a1 / a1  a1 / a1 


 12 11 1n 11

  2   2 
U 1  a / a
2n 22

 ....  
 
 1 
E devido a

1 
 1 
L 
  .... 
 
 1
m m 2  m r 
1

(n)
Então, A = L · A = L · D (D–1 A(n)) = LDU
Assim, A pode ser decomposta da maneira que descrevemos conforme Exem-
plo 10.

Exemplo 10  1 1 2
 
Decomponhamos a matriz A   1 5 3 usando LDU.
 4 9 1

Para decompormos a matriz A em LDU usaremos a decomposição de Gauss. Desse modo,


1 
   1 e encontraremos m 
calcularemos M1 usando inicialmente o pivô a11
1 a21 1
   1
21
a
1  1
1   1 0 0 11

e m31 
a31 4  
  4 . Portanto, a matriz M1   1 1 0
 1 1
a11  4 0 1
1 1 2 
 2 0 4 5 
Dessa forma, obteremos nessa etapa a matriz A 
L2 m21L1  
L3 m31L1 
0 5 7 
 2
 2 a32 5
Agora precisamos calcular M2 usando como pivô a22  4 e m32   e, portanto,
a
 2 4
  22
1 0 0
 
M2  0 1 0
 5 
0  1
 4 
 
1 1 2 
 3  
Assim, A  0 5 3 
L3 m32L2
 3
0 0  
 4

(Continua)

Sistemas de equações lineares 45


Neste momento, temos:

  
 1 1 2  1 0 0 1 1 2 
  
A   1 5 3    1 1 0 0 5 3   L  U
 4 9 1   5  3
4  1 0 0  
 4  4

Agora, basta organizar U na forma:

 
1 0 0  1 1 2 
  3
U  DU*  0 5 0  0 1  
  5
3
0 0   0 0 1 
 4

Portanto,

   1 1 2
 
 1 1 2  1 0 0 1 0 0  
    3
A   1 5 3    1 1 0 0 5 0  0 1    L  D  U
 5
 4 9 1    3
1 0 0   0 0 1 
5
4 
 4  4

Dependendo de como D é tratado, temos 3 tipos de decomposições.


1. Decomposição de Doolittle (direto de Gauss)

A = L· (D · U) = L · U’ , onde lii = 1, ∀i

1     
 1     
A .
   .....    
  
    1  

2. Decomposição de Crout

A = ( L · D) · U = L’ · U , onde uii = 1, ∀i

  1    
    1  
A . 
    ...  
  
     1
Atenção
3. Decomposição de Cholesky
A decomposição de
­Cholesky pode ser encontra- A = Q · QT , onde lii = uii, ∀i
da a partir de Gauss, pois se
A é simétrica, então A = LDU
e U = LT. Contudo, a decom-
x  x   
 x  x   
posição de Cholesky só é
A 
possível quando A for uma 
  x x 
matriz positiva definida.   
   x   x

A = LDLT
Se D > 0 . Então,

46 Cálculo Numérico
Atenção
 a11 
  A decomposição gaussia-
1/2  ...  na pode ser aplicada em
D  
.... matrizes de ordem mxn. Já
  as decomposições LU, LDU
 a nn  e Cholesky são aplica-
das apenas em matrizes
1/2 1/2 quadradas.
Portanto, A = (L · D ) · (D · LT) = Q · QT
Com isso, uma matriz é dita positiva definida se os determinantes das n subma-
trizes principais de A são positivos, ou seja, |Akk| > 0 para todo 1 ≤ k ≤ n.

Uma matriz identidade é um exemplo de matriz positiva definida.

Lembremo-nos de que, se é possível optarmos pela decomposição LU, então é


possível decompomo-las em matrizes LDU. Para usarmos o método de Cholesky, é
necessário que a matriz seja simétrica positiva definida. Esses três casos de decom-
posição partem da decomposição de Gauss (eliminação gaussiana).

2.4 Condicionamento de sistemas lineares


Vídeo Antes de falarmos em condicionamento de sistemas de equações lineares, te-
mos que nos relembrar sobre os conceitos de norma de vetores e matrizes.

2.4.1 Norma de vetores e matrizes


Há vários conceitos de norma de vetores e matrizes que devemos ter conheci-
mento. Descrevemos alguns deles a seguir.

Definição 6
n
A norma de vetor é uma função ‖·‖:R → R,x ↦ ‖x‖ satisfazendo:
n
• ‖x‖ ≥ 0, ∀x ∈ R
• ‖x‖ = 0 ⇔ x = 0
• ‖α · x‖ = |α| · ‖x‖, α ∈ R
• ‖x + y‖ ≤ ‖x‖ + ‖y‖

Algumas das normas de vetores mais utilizadas são (CAMPOS FILHO, 2018):

• Norma 1 (ou norma da soma de magnitudes): x 1   i 1 x i


n

 i1x2i
n
• Norma 2 (ou norma euclidiana): x 2 

• Norma do máximo (ou norma infinita): x 


 max  x i 
1 i  n

Definição 7
A distância entre dois pontos é dada pela expressão: d(x,y) = ‖x – y‖ para qualquer
norma.

Sistemas de equações lineares 47


A Definição 8 apresenta a relação de aproximação, ou tendência, para uma so-
lução a partir do conceito de distância visto na Definição 7.

Definição 8
(k) (k)
{x } → x em relação à norma ‖·‖ se ∀ε > ∃N(ε) / ‖x – x‖ < ε, ∀k ≥ N(ε)

Com isso, é possível definirmos a aproximação de uma sequência de termos


para uma solução específica também usando a ideia de limites, como vemos na
Definição 9.

Definição 9
(k) k 
{x } → x em relação à norma ‖·‖∞ ⇔ lim x i  x i , i = 1, 2, … n
k 

n
Portanto, todas as normas vetoriais no ℝ são equivalentes em respeito à con-
(k) (k)
vergência, ou seja, se {x } → x em relação a uma norma ‖·‖, então {x } → x em
relação a qualquer outra norma ‖·‖

Para matrizes, as relações são semelhantes. Desse modo, vejamos a Definição


10.

Definição 10
nxn
A norma de matriz An é uma função ‖·‖:ℝ → R, A ↦ ‖A‖ que satisfaz:
nxn
• ‖A‖ ≥ 0, ∀A ∈ ℝ
• ‖A‖ = 0 ⇔ A = 0 (matriz nula)
• ‖α · A‖ = |α| · ‖A‖, α ∈ ℝ
• ‖A + B‖ ≤ ‖A‖ + ‖B‖

Podemos definir a distância entre matrizes, mesmo parecendo um conceito


bastante estranho, da seguinte forma: d(A,B) = ‖A – B‖

Definição 11
Se ‖·‖ é uma norma vetorial. Então, A = max A.x é uma norma matricial, chamada de
x =1
norma natural ou induzida.

Normas induzidas (naturais) têm várias vantagens. Algumas delas são:


• ‖1‖ = 1
• Seja x ≠ 0, e ‖·‖ uma norma natural ou induzida pela norma vetorial então
‖Ax‖ ≤ ‖A‖ · ‖x‖
• Raio espectral ρ(A) = max|λ| onde λ é um autovalor de A.

48 Cálculo Numérico
A seguir, dispomos as normas matriciais mais usadas.
• Norma 1:

n
A  max A  x  max  a ij
1 x 1 1 1 j n i 1
1

• Norma euclidiana:

A  max A  x  Á A T  A
2 x 1
2
2  
• Norma do máximo ou norma infinita:

n
A  max A  x  max  a
 x 1  1 i  n j1 ij
   
máximo da soma das linhas

Com as normas de matrizes definidas, podemos passar para o conceito de con-


dicionamento de matrizes.

2.4.2 Número de condicionamento


Sejam os dois sistemas (Exemplo 11 e 12) a seguir.

Exemplo 11
1 1   x1  10  5
1 2 .  x    5 cuja solução exata é x exato  5
   2    

Dizemos que estamos fazendo uma pequena perturbação no sistema quando


alteramos os elementos da matriz dos coeficientes (ou do vetor independente) de
maneira muito suave, ou seja, com uma pequena alteração.
10 
Para o Exemplo 11, perturbaremos o vetor de termos independentes b   
 5
10, 01
para b1   
 5  1 1   x1  10, 01 5, 007 
O sistema passa a ser   .  x    5  cuja solução é x    , sendo
1 2  2   5, 003
1 1  5, 007  10 
que x ≈ xexato e o resíduo (r = Ax – b) é pequeno, pois  .  
1 2 5, 003  5
Agora, vejamos o Exemplo 12.

Exemplo 12
 1 1  x1   10 
Seja o sistema de equações representado por  .   cuja solução
1, 001 1  x2  10, 005
5
exata também é x exato   
5

Ao perturbarmos o vetor de termos independentes b, transformando-o em


 10   1 1  x1   10  100 
b1    , encontraremos 
10, 1  .  x   10, 1 cuja solução é x   
1 , 001 1   2    90
Caso olharmos apenas para o resíduo, ou seja, para r = Ax – b, teremos:

 1 1 100   10 
1, 001 1 .  90  10, 1  b
    

Sistemas de equações lineares 49


Contudo, percebemos que a solução deu um resultado muito diferente do en-
contrado no exemplo anterior.

Com isso, surge o seguinte questionamento: por que uma perturbação de mes-
ma ordem de grandeza interferiu tanto em uma resposta e não na outra? A res-
posta para esse problema está justamente no condicionamento da matriz, ou mais
especificamente, no número que ele representa.
x r
Vamos supor que x resolve exatamente A ⋅ x =A b
 cond  ., já x resolve aproximadamente
x b
A ⋅ x = b, isto é, A · x ≈ b e o resíduo r  b  A · x .
Então,

xx r
 cond  A  .
x b

xx 0
Queremos analisar se ‖r‖ ≈ 0 implica . Para isso, assumiremos
r  b  A.x . Desse modo,

r  Ax  A  x  A  x  x 

 x  x   A 1r
mas

x  x  A 1r  A 1 · r

pois estamos considerando uma norma induzida.

Portanto,

xx A 1 · r

x x

A
Como 1 ≤ tem-se:
x b
xx A
 A 1  r 
x b

–1
Definindo: cond(A) = ‖A ‖ · ‖A‖ tem-se:

xx r
 cond  A  
x b

ou

ER x  cond  A · ER b
 
 
Erro relativo em x Erro relativo em b

O erro relativo em b é considerado, pois r  b  Ax  b  b

Com isso, mesmo que ‖r‖ ≈ 0, isso não implica que x  x  0, a menos que
cond(A) também seja pequeno (CHAPRA; CANALE, 2016). Com isso, concluímos que
quanto maior é a cond(A) é mais provável que o sistema seja sensível às mudanças
em dados iniciais.

50 Cálculo Numérico
Com isso, realizemos o seguinte Desafio.

Desafio

O número de condicionamento de uma matriz não-singular A é:

condp(A) = ‖A‖p · ‖A–1‖p


Onde p é a norma adotada. Podemos observar que o número de condiciona-
mento depende da norma escolhida.

Propriedades (considerando apenas normas induzidas):


I. cond(A) ≥ 1
–1 –1
cond(A) = ‖A‖ · ‖A ‖ ≥ ‖A · A ‖ = ‖I‖ = 1
max dii
II. D diagonal: cond  D  , independente da norma escolhida.
min dii
Por exemplo, na norma infinita:
 1 
d11   
   d11 1 
 d22   
  D1   d22 
D  ,
.... ....
 
 dnn   1 
   
   dnn 
 
1 1
‖D‖∞ = max|dii|;  D1    max 
dii min dii

max dii
cond  D 
min dii

cond(αA) = cond(A), ∀ α ∈ ℝ, α ≠ 0. Isso significa que se uma matriz for mul-


tiplicada por um escalar (um número real qualquer), seu número de condição
não muda.
1 1 1
III. cond  A    A  
 A  ±    A  A 1  cond  A 
 
–1
IV. cond(A) = cond(A )

Agora, vejamos o Exemplo 13.

Exemplo 13
0, 992 0, 873
Seja um sistema de equações A · x = b, onde A   
0, 481 0, 421

Portanto,
‖A‖∞ = 1,865
–1
Precisamos calcular ‖A ‖∞. Para isso, fazemos:
1000  0, 421 0, 873
A 1   
2, 281  0, 481 0, 992

Logo,
–1
‖A ‖∞ = 645,77
Com isso, o condicionamento de A será:
–1
cond(A) = ‖A ‖ · ‖A‖ = 1,865 · 645,77 = 1204,36

Sistemas de equações lineares 51


Site
Lembremo-nos de que é
possível usarmos diversas
ferramentas computacio-
Programando em Python
nais para facilitar os cálcu-
los. Acerca disso, sugerimos Se tivermos interesse por programação (mesmo que estejamos iniciando na
a página Matrixcalc para o
cálculo da matriz inversa área), podemos usar o Python.
de A.
Nesse caso, sugerimos o Código-fonte 2 para o Exemplo 13, que calcula o con-
Disponível em: https://matrixcalc.org/
pt/. Acesso em: 12 jul. 2022. dicionamento da matriz A seja para a norma 1, para a norma euclidiana ou para a
norma infinita.

Código-fonte 2 – Cálculo do condicionamento da matriz A para norma 1

import numpy as np

A = np.array([[0.992,-0.873],[0.481,-0.421]],dtype=’double’)
print(np.linalg.cond(A,p=1))
print(np.linalg.cond(A,p=2))
print(np.linalg.cond(A,p=np.inf))

Portanto, a avaliação do condicionamento de uma matriz pode ser determinan-


te na escolha do método numérico a ser utilizado ou mesmo na eficácia do método
escolhido.

2.5 Métodos iterativos para sistemas lineares


Vídeo Um método iterativo é aquele usa informações de, no mínimo, um passo an-
terior para resolver o seguinte. No caso dos sistemas de equações, os sistemas
iterativos são de grande importância para solução de problemas que envolvem
matrizes esparsas de grande porte.

Uma matriz esparsa tem como característica um grande número de elemen-


tos que se repetem. Em geral, esse elemento repetido é o elemento neutro. São
também consideradas matrizes esparsas aquelas com elementos faltantes. Isso é
comum quando essa matriz foi alimentada, por exemplo, por uma pesquisa com
dados incompletos de seus participantes. As matrizes esparsas também são co-
muns no estudo da teoria dos grafos e na resolução de equações diferenciais.

Vejamos a Definição 12.

Definição 12
nxn
Seja A ∈ ℝ esparsa e de grande porte, tal que Ax = b. Os métodos iterativos têm o
seguinte formato geral:
A=N–P (3)
Desse modo,
N·x–P·x=b
N x  P x  b  b
tal que N  x  b seja mais fácil de ser resolvido do que A · x = b

52 Cálculo Numérico
O processo iterativo é definido por:
(k+1) (k)
N·x =P·x + b, k = 0,1 (4)
(0)
com x dado.

Portanto,
(k+1) –1 (k) –1
x =N P·x +N b (5)
(k)
Caso a sequência gerada {x } convirja para x* quando k   , então N · x* =
P · x* + b converge para Ax* = b, isto é, x* é a solução do sistema.
Partindo desse processo principal, temos uma questão importante que diferen-
cia os métodos iterativos: a escolha da matriz N.

Desse modo, os métodos de Gauss-Jacobi e Gauss-Seidel, que aprofundaremos


a seguir, se diferenciam justamente por conta dessa matriz.

2.5.1 Método de Gauss-Jacobi


O primeiro método que estudaremos é conhecido como método de Gauss-Jacobi
ou, simplesmente, método de Jacobi.

Escolha de N
No método de Jacobi, a matriz N é uma matriz diagonal, ou seja:
Leitura
a11 0 ... 0  O matemático alemão
 0 a ... 0  Carl Gustav Jacob Jacobi
N 22
(1804–1851) deixou
 ... ... ... ...  importantes contribuições
 
 0 0 ... a nn  nas mais diversas áreas
da matemática, dentre
estas encontra-se a matriz
Pela equação (3) teremos: Jacobiana, importante na
resolução de problemas
 0 a12 ... a1n  do cálculo avançado. A ele
 a 0 ... a2n  também referenciamos
P  N  A   21 quando trabalhamos com
 ... ... ... ... 
  o método para solução
 a n1 a n2 ... 0  de sistemas de equações
iterativo que assume a
matriz N como uma matriz
Portanto, fazendo N · x = P · x + b temos: diagonal.

a12 ... a1n   x1   b1  Para saber mais sobre


a11 0 ... 0   x1   0
Jacobi e suas contribuições
 0 a
 ... 0   x2   a21 0 ... a2n   x2   b2  sugerimos a leitura da ma-
22
 . 
 ... ... ... ...   ...   ... ... ... ...   ...   ...  téria do site Só Matemática.
       
 0 0 ... a nn   x n   a n1 a n2 .... 0   x n  bn  Disponível em: https://www.
somatematica.com.br/biograf/jacobi.
php. Acesso em: 12 jul. 2022.
N1P  x  N1b , o que nos leva à seguinte equação:
Se aii ≠ 0 para todo i, então, x  
 
 
T c
X=Tx+c (6)
que tem como representação matricial:

Sistemas de equações lineares 53


 a12 a1 n   b1 
 0  ...  a 
a11 a11 
 x1     x   11 
 x    a21 a 
1
b 
...  2n   x2   2 
 2   a
0
a22  .     a22 
 ...   22  ... 
   ... ... ... ...     ... 
xn   a  xn   
  n1 a
 n2 ... 0   bn 
 a a 
 nn a nn   nn 
As equações de iteração são obtidas isolando uma variável de cada vez em cada
equação do sistema. Assim,

x1
k 1

1
a11
b1  a12x2  ......  a1n x n 
k k

b  a k 
x  
1 k
21x1 ......  a2n n
x2
k 1  2
 a 22

x n  
k 1 1
a nn

bn  a n1x1  ......  a n ,n 1x n 1
k k

Interpretação gráfica do método
Para apresentarmos a interpretação gráfica, assumiremos que o sistema de
equações é composto por duas equações e duas incógnitas.

Para essa seção, assumiremos alguns valores específicos para o sistema de equa-
ções de maneira que possamos garantir uma representação gráfica consistente.
 r :x  y 5
Assim, seja Ax = b dado por duas retas r1 e r2, tais que  1 . Assumire-
 r2 : x  2y  8

0 1 1 
mos que x   , 
2 2
O gráfico com a intersecção entre essas duas retas, também compreendida
como a solução do sistema de equações, está representado na Figura 2.

Figura 2
Gráfico da intersecção entre as retas r1 e r2

Fonte: Elaborada pela autora.


54 Cálculo Numérico
Assim,

 x  k 1  5  x  k 
 1 2
  k 1 1 k 
 x2  4  x1
 2

1 
 0  
x  2
1 
 2 

9
1    2
x   2   x*   
 
15 3
 4 

Portanto, o método converge para a solução do sistema.

Convergência do método
Quando falamos em métodos numéricos iterativos, sempre acabamos falando
também em convergência do método.
(0) (k)
Para o método de Jacobi, seja qualquer x , ele inicia a sequência {x } definida
por
(k+1) (k)
x =T·x +c
que converge para uma única solução x, tal que

x = T · x + c ⇔ ρ(T) < 1
ou
(k)
‖T‖ < 1 ⇒ {x } → x
(0)
Onde Ax = b para qualquer x .

De acordo com Dornelles Filho (2016, p. 67), que valida o trabalho de Burden e
Faires (2015), temos que: "O primeiro critério é necessário e suficiente, porém é com-
putacionalmente trabalhoso de ser verificado. O segundo critério é suficiente mas não
necessário, porém é mais facilmente verificável".

Usando norma infinita temos:

 a12 a1 n 
 0   
a11 a11 
 
 a21 a2n 
 0   
T   a22 a22   T  1
     
 
  a n1 a
 n2  0 
 a
 nn a nn 

(máx. da soma das linhas)

Sistemas de equações lineares 55


Portanto,

n a ij
a 1
j1 ii
j i

para todo i, tal que


n
a ii   a ij , i
j1
j i

o que equivale a dizer que A é diagonalmente dominante.

Algoritmo 4

Passo 1:
(0)
Entrada – A, b, ε, N, x
Passo 2:
k=0
Passo 3:
Para i = 1, 2, … n

 k 1  1  b  i 1a .x  k   n k  
xi  i  ij j  a .x 
a ii  j1 j i 1 ij j 

Passo 4:
Se
x i
k 1
 x i    , i  1,...n , ou k > N
k

Então,
x = x(k+1)
Se não, k = k + 1 e voltar para passo 3.

Observemos o Exemplo 14.


Exemplo 14
Organizemos a primeira iteração que nos permite resolver pelo método de Jacobi o sistema
de equações Ax = b, com

10 2 1   x1  20
A   0 5 2  , x   x2  e b  20
 1 2 20  x3  20

Solução:
–1
Calculando as matrizes P, N e T, temos:

 0 2 1 1 / 10 0 0   0 1 / 5 1 / 10
P   0 0 2 N1   0 1 / 5 0  T   0 0 2 / 5 
 1 2 0   0 0 1 / 20 1 / 20 1 / 10 0 

(Continua)
56 Cálculo Numérico
10 2 1 
Notemos que matriz A   0 5 2  é diagonalmente dominante, pois ‖T‖ < 1.
 1 2 20

0
Consideraremos x 0  0 . Dessa forma,
 
0

x1  
k 1 1
10
b1  2x2   x3 
k k
 
x2  
k 1 1
5
k

b2  0x1   2x3 
k

x3  
k 1 1
20
b3  x1   2x2 
k k
 
A ordem de convergência e a taxa de convergência também podem ser avaliadas. Lembrando
que esses valores são descritos por meio da análise da aproximação da solução numérica
em relação à solução exata a partir da expressão:

x
k 1
x
lim  C
k  p 
 Taxa de convergência
x
k
 x Ordem de convergência

x
 k 1  x
Teremos p = 1, portanto, convergência linear e lim  T , pois:
k 
k   x
p
x

(k+1) (k)
‖x – x‖ ≤ ‖T‖ · ‖(x ) – x)‖
E, portanto,  k 1  x
x
lim  T
k 
k   x
1
x

Com isso, além de conseguirmos resolver um sistema de equações por métodos


chamados iterativos, ainda é possível avaliarmos a convergência do método, fato
esse que é imprescindível para uma boa análise numérica a respeito da aplicação
de qualquer tipo de método numérico.

2.5.2 Método de Gauss-Seidel


Assim como no método de Jacobi, a escolha da matriz N define os passos apre-
sentados a seguir. Portanto, para definirmos o método de Gauss-Seidel, em primei-
ro lugar falaremos da matriz N.

Escolha de N
No método iterativo de Gauss-Seidel, a escolha da matriz N se dá por uma ma-
triz triangular inferior, na forma:

 a11 0 ... 0 
a a22 ... 0 
N   21
 ... ... ... ... 
 
 a n1 a n 2 ... a nn 

Sistemas de equações lineares 57


Com isso, teremos:
 0 a12 ... a1n 
0 0 ... a2n 
PNA  
... ... ... ... 
 
 0 0 ... 0 
Portanto, assumindo N · x = P · x + b, temos:

 a11 0 ... 0   x1   0 a12 ... a1n   x1   b1 


a ... 0   x2   0    
 21 a22 0 ... a2n   x2   b2 
 . 
 ... ... ... ...   ...   ... ... ... ...   ...   ... 
       
 n1
a a n2 ... a nn   x n   0 0 ... 0   x n  bn 

Com isso, podemos escrever:

x1
k 1

1
a11

b1  a12x2  ......  a1n x n 
k k

x2
k 1 

1
a22

b2  a21x1  ......  a2n x n 
k 1 k

 

x n
k 1 

1
a nn

bn  a n1x1  ......  a n ,n 1x n 1 
k 1 k 1

Note que somente x1
k 1 (k)
é calculado apenas com termos no passo x . Os de-
mais valores para xi, i = 2, ..., n além de utilizarem valores no passo k, também usam
valores no passo k + 1 para os xi elementos, com xi = 1, ..., n – 1

Interpretação gráfica do método


Para apresentarmos a interpretação gráfica, adotamos o mesmo princípio usa-
do no método de Gauss-Jacobi e o mesmo sistema de equações lineares.
 r1 : x  y  5
Assim, seja Ax = b dado por duas retas r1 e r2, tais que  . Assumire-
 r2 : x  2y  8
 
mos que x     , 
0 1 1
2 2
O gráfico com a intersecção entre essas duas retas, também compreendida
como a solução do sistema de equações está apresentado na Figura 3.

Figura 3
Gráfico do sistema
de equações
formado pelas retas
r1 e r2

Fonte: Elaborada pela autora.


58 Cálculo Numérico
Assim,
 x  k 1  5  x  k 
 1 2
  k 1  1  k 1
 x2  4  x1
 2

1 
2
 0  
x  
1 
 
2

9
2
1    2
x     x*   
7  3
 
4

Portanto, o método converge para a solução do sistema.

Convergência do método
Com base em Chapra e Canale (2016), temos que as condições para a convergên-
cia do método coincidem com as condições já vistas no método de Jacobi, ou seja,
ρ(T) ≤ 1 onde T = N–1P.
Além da verificação a partir do raio espectral, podemos usar uma condição su-
ficiente conhecida como critério de Sassenfeld, o qual diz (VALLE, 2015; RUGGIERO;
LOPES, 1988):

Calcular βj, j = 1, 2, …, n , onde:

a12  a13  ....  a1n


1  1
a11

a j1  1  ...  a j, j1   j1  a j, j1  ....  a jn


j   1, j  2,...n
a jj

(0)
Se β = max1≤j≤nβj < 1, então, o método de Gauss-Seidel converge independente de x ,
(k)
isso é, {x } → x.

A ordem de convergência, assim como no método de Jacobi, é linear, e a taxa de


convergência será igual a β, sendo que quanto menor seu valor, mais rápida será
a convergência.

Vejamos o Exemplo 15.

Sistemas de equações lineares 59


Exemplo 15
8 2 1 
Seja A  5 4 1  uma matriz não diagonalmente dominante. Notemos que ρ(T) ≤ 1,
 
4 3 4 
pois os autovalores de T são λ1 = 0, λ2 = 0,2983 e λ3 = 0,2095. Portanto, podemos
usar o critério de Sassenfeld. Assim, obtemos:
21
1  1
8

5  1  1 23
2   1
4 32

4  1  32 117
3   1
4 128

No Exemplo 15, como βi < 1 para i = 1, 2, 3, podemos aplicar qualquer um dos


métodos iterativos vistos anteriormente: Gauss-Jacobi ou Gauss-Seidel.

O que podemos afirmar sobre a relação entre os critérios de linha e de Sassenfeld?


• Se o critério de linhas for satisfeito, então o critério de Sassenfeld também será.

• Se o critério de Sassenfeld não for satisfeito, o critério de linhas também não será.
CL ⇒ CS e não CS ⇒ não CL

A partir da análise do critério de Sassenfeld para o método de Gauss-Seidel,


notamos que o método gera uma sequência convergente. Assim, se

‖x(k+1) – x‖ ≤ β‖x(k) – x‖,∀k


Então,

x
 k 1  x
lim  
 xk   x 
k  1  Ordem de convergência 
Taxa de convergência

Devemos observar um aspecto importante: a taxa de convergência é menor que


a taxa do método de Gauss-Jacobi, pois:

a k1  1  ...  a k ,k 1  k 1  a k ,k 1  ....  a kn a k1  ...  a k ,k 1  a k ,k 1  ....  a kn


 , k
a kk a kk

a k1 .1  ...  a k ,k 1 .k 1  a k ,k 1  ....  a kn  a  ...  a 


k1 k , k 1  a k , k 1  ....  a kn
 max     T , k
a kk k
 a kk 

βk < ‖T‖, ∀k
Então,

max βk < ‖T‖


Logo,

  ||
 T ||
Taxa de Gauss Seidel Taxa de Gauss  Jacobi

60 Cálculo Numérico
Vejamos o Algoritmo 5.

Algoritmo 5
(0)
Passo 1: Entrada: A, b, ε, N, x
Passo 2: k = 0
Passo 3: Para i = 1, 2, …, n

 k 1  1  b  i 1a .x  k 1  n k  


xi  i  ij j  a .x 
a ii  j1 j i 1 ij j 

Passo 4:
Se
 k 1  x k   , para i  1,n , ou k > N
xi i

Então,
x = x(k+1)
Senão, k = k + 1 voltar para passo 3.

Vejamos o Exemplo 16 que representa essa aplicação.

Exemplo 16
Seja a matriz A dada por:

10 2 1 
A   0 5 2 
 1 2 20

Resolvamos, utilizando o método de Gauss-Seidel, o sistema de equações dado por


20 0
Ax  20 , considerando que: x 0  0
 
20 0
Para isso, fazemos:

x1
k 1

1
10

20  2x2   x3 
k k

x2
k 1 

1
5

20  0x1   2x3 
k 1 k

x3
k 1

1
20

20  x1   2x2 
k 1 k 1


Notemos que cada método se adequa melhor a um tipo de sistema ou situação


aplicada. Os métodos podem ser comparados, tendo, com isso, uma análise mais
profunda dos resultados obtidos.

Sistemas de equações lineares 61


CONSIDERAÇÕES
FINAIS
Neste capítulo, trabalhamos com os sistemas de equações lineares. Nesse contex-
to, vimos que os métodos numéricos permitem-nos resolver esses sistemas de manei-
ra direta e iterativa. Portanto, a escolha do método depende das matrizes que formam
esse sistema.
Além disso, como a ideia de um método numérico é poder implementá-lo compu-
tacionalmente, é importante termos um breve conhecimento da máquina utilizada e
dos erros que podem ser propagados em cada uma das situações.
Por fim, trabalhamos com o conceito de convergência e taxa de convergência, o
qual nos permite analisar se o método escolhido é adequado ou não para o modelo
que precisamos resolver.

ATIVIDADES
Atividade 1
Explique de maneira breve e simplificada o que faz a matriz elementar M1 e a
matriz elementar M2 ao multiplicarmos uma matriz de coeficientes A por cada uma
delas, respectivamente.

Atividade 2
Explique com suas palavras a importância de um algoritmo na implementação de
um método numérico direto, como no caso da fatoração LU.

Atividade 3
Explique com suas palavras o que significa a análise de convergência de um méto-
do e qual a sua importância para garantir o resultado encontrado.

REFERÊNCIAS
BURDEN, R. L.; FAIRES, J. D. Análise numérica. São Paulo: Cengage Learning, 2015.
CAMPOS FILHO, F. F. Algoritmos numéricos: uma abordagem moderna de cálculo numérico. Rio de Janeiro:
LTC, 2018.
CHAPRA, S. C.; CANALE, R. P. Métodos numéricos para engenharia. 7. ed. Porto Alegre: AMGH, 2016.
DORNELLES FILHO, A. A. Fundamentos de Cálculo Numérico. São Paulo: Bookman, 2016.
JUSTO, D. A. R. et al. (org.). Cálculo Numérico: um livro colaborativo. Porto Alegre: UFRGS, 2020. Disponível
em: https://www.ufrgs.br/reamat/CalculoNumerico/livro-sci/livro-sci.pdf. Acesso em: 24 maio 2021.
LEON, S. J. Álgebra linear com aplicações. 9. ed. Rio de Janeiro: Livros Técnicos e Científicos, 2019.
RUGGIERO, M. A. G.; LOPES, V. L. R. Cálculo Numérico: aspectos teóricos e computacionais. São Paulo:
Pearson, 1988.
VALLE, M. E. Aula 9: métodos de Jacobi e Gauss-Seidel. Material de aula. Campinas: Unicamp, 2015. Disponível
em: https://www.ime.unicamp.br/~valle/Teaching/2015/MS211/Aula9.pdf. Acesso em: 4 maio 2022.

62 Cálculo Numérico
3
Zeros de funções reais
Em todas as áreas da ciência, os modelos matemáticos são transcritos como equa-
ções, e encontrar a solução delas é fundamental para respondermos as situações-
-problema. Em alguns casos, essas soluções, que também são chamadas de raízes da
função ou zeros da função, são fáceis de serem encontradas e podem ser determinadas
por processos analíticos.
No entanto, em grande parte dos casos, a solução analítica não pode ser determi-
nada, sendo necessário o desenvolvimento de métodos numéricos que permitam a
aproximação a essa solução. Com isso, é importante ressaltarmos que a solução nu-
mérica, por ser uma resposta aproximada, carrega um erro que precisa ser avaliado.
À vista disso, neste capítulo, veremos alguns dos métodos mais conhecidos na área
de solução numérica para obtenção de zeros de funções, como o método da bissec-
ção e Newton-Raphson.

Objetivos de aprendizagem
Com o estudo deste capítulo, você será capaz de:
• relembrar o conceito de existência e unicidade para funções reais;

• encontrar os zeros de uma função por meio dos métodos da bissecção, do ponto
fixo, de Newton-Raphson e das secantes;

• analisar as condições de convergência dos métodos da bissecção, do ponto fixo,


de Newton-Raphson e das secantes;

• compreender as diferentes abordagens para se encontrar os zeros de uma fun-


ção pelo método de Newton-Raphson;

• comparar a taxa de convergência, a acurácia e a estabilidade dos diferentes


métodos estudados.

3.1 Existência e unicidade


Vídeo
Antes de falarmos de zeros de uma função, precisamos enunciar dois teoremas
que permitem com que façamos todas as análises. Esses teoremas são conhecidos
como: teorema de Bolzano – ou teorema do valor intermediário (TVI) –, e o teorema do
valor médio (TVM).

Com essas duas ferramentas teóricas, teremos as condições necessárias para


garantirmos a existência do zero de uma função real de uma variável e de um de-
terminado intervalo conhecido. Além disso, esses teoremas embasam a maior par-
te dos métodos numéricos aplicados na obtenção de zeros de funções.

Desse modo, o teorema do valor intermediário (ou de Bolzano) é enunciado por


Justo et al. (2020), conforme apresentamos no Teorema 1.
Zeros de funções reais 63
Teorema 1
Se f:[a,b] → ℝ, y = f(x), ele é uma função contínua tal que f(a) ⋅ f(b) < 0. Então, existe
x* ∈ (a,b) tal que f(x*) = 0, onde x* é chamada de solução exata.
Assim, o teorema traz que, se temos uma função de uma variável contínua em um intervalo
conhecido, onde essa função troca de sinal nesse intervalo, logo teremos pelo menos um
zero para essa função no intervalo avaliado.
Figura 1
Teorema de Bolzano

f(a)

x* b
a

f(b)

Fonte: Elaborada pela autora.

Os métodos que estudaremos estão embasados no teorema de Bolzano, pois


usam a existência de solução apresentada por ele.

Além dele, também usaremos o teorema do valor médio (TVM) que nos permite
a comprovação de uma solução única em um intervalo predeterminado que cum-
pra algumas condições, conforme apresentado no Teorema 2.

Teorema 2
Leitura Seja f:[a,b] → ℝ contínua e derivável no intervalo aberto (a,b), então existe um valor x* ∈
Pensando na interpretação (a,b) tal que:
física desses teoremas,
f  b  f a 
sugerimos o material
Teoremas: do valor interme-
 
f ´ x* 
ba
diário (TVI), sobre máximos Prova
e mínimos, de Rolle, do valor
médio (TVM), do valor médio Para demonstrar esse teorema, assumiremos a equação para uma determinada reta secan-
generalizado (Cauchy) e te r(t) que intercepta a função f nos pontos: (a,f(a)) e (b,f(b)). Portanto,
regras de L’Hospital, do pro-
f  b  f  a 
fessor Oswaldo Rio Branco r  t   f a   t  a , t 
de Oliveira, disponibilizado ba
pela Universidade de São Seja s uma função contínua em [a,b] e derivável em (a,b), escrita como a diferença entre
Paulo (USP). Nele, além do
f e r, ou seja,
professor enunciar e provar
esses teoremas (e muitos s(t) = f(t) – r(t), t ∈ ℝ
outros), ele ainda traz uma
interpretação física para o
Notemos que s(a) = f(a) – r(a) = 0 e s(b) = f(b) – r(b) = 0. Assim, aplicando o teorema
TVM, tornando-o uma óti- de Rolle sobre s, concluímos que existe x* no intervalo aberto (a,b) tal que:
ma sugestão para revermos
s(x*) = 0
conceitos do cálculo para
funções de uma variável.  f  b  f a  
Entretanto, como s  t   f   t     , teremos:
Disponível em: https://  ba 
www.ime.usp.br/~oliveira/
 f  b  f a  
MAT144IOTVMLHOSPITAL.pdf. Acesso    
s x *  f  x *   
em: 15 jul. 2022.  ba 

(Continua)

64 Cálculo Numérico
Logo,
 f  b  f  a  
 
f  x*    0
 ba 
Desse modo,

 f  b  f a  
 
f  x*   
 ba 

Na sequência veremos os métodos da bissecção, de ponto fixo, de Newton-Rap-


son e das secantes, que são métodos chamados de iterativos, isto é, dependem da
solução do passo anterior para a obtenção da solução no passo seguinte.

Simbolicamente podemos escrever:

{xk} → x*
Portanto,

x0 , x1 , x2 , , x k , x k 1 , , x ,  x * Leitura
Para revermos o teorema
Onde x* é a solução exata,…e, x é a solução aproximada.
de Rolle, sugerimos a lei-
tura do material O teorema
Os métodos iterativos dependem de uma estimativa inicial x0, de atualização,
de Rolle, disponível no site
ou seja, a análise das condições de convergência (ordem e taxa), de um critério de E-cálculo, da Universidade
de São Paulo.
parada e de uma tolerância (ε) ou estimativa para o erro associada ao critério de
parada. Disponível em: http://ecalculo.if.usp.
br/derivadas/estudo_var_fun/
O primeiro método que analisaremos entre eles é aquele denominado de mé- teorema_vm/teoremas/teo_rolle.
htm. Acesso em: 15 jul. 2022.
todo da bissecção.

3.2 Método da bissecção


Vídeo
No método da bissecção, a aproximação inicial adotada, x0 , é descrita pelo pon-
to médio da função f(x), a qual desejamos encontrar o zero (ou raiz da função) em
um intervalo predeterminado [a,b]. Ou seja,

x0 
 a  b
2

Figura 2
Método da bissecção
y

f(a)

f(x0)

b
a x0 x

f(b)
Fonte: Elaborada pela autora.

Zeros de funções reais 65


Em alguns casos, já encontramos a raiz da função na primeira iteração, isto é,
f(x0) = 0. Portanto, o zero de f(x) é x* = x0. Porém, esse caso costuma ser bastante
incomum e, geralmente, precisamos fazer algumas iterações para nos aproximar-
mos de x*.

Assim, se f(a) ⋅ f(x0) < 0, então a solução pertence a outro intervalo, que será
escrito como x* ∈ (a, x0).

Se isso ocorre, assumimos uma nova aproximação para o zero de f(x), quer
dizer, um passo seguinte a ser realizado no método, sendo essa o ponto médio do
intervalo [a,x0].

Portanto,

x1 = ((a + x0)) ⁄ 2
Caso f(x0) ⋅ f(b) < 0, o valor de x* estará no intervalo x* ∈ (x0, b). Dessa forma,
tomamos:

x1 = (x0 + b) ∕ 2
Seguimos com esse procedimento até atingirmos a aproximação desejada.

Esse processo é conhecido como iterativo, porque usa o resultado da iteração


anterior para obter o passo seguinte.

Por conseguinte, teremos uma convergência para o zero da função:

x0, x1, x2, …, xk, xk+1, …→ x*


Logo, podemos escrever que o método trabalha da seguinte forma:

a0  b0
a0 , b0   x0 
2

a1  b1
a1 , b1    x0 , b0   x1 
2

E assim por diante, sendo que cada intervalo passa a ter metade do tamanho
do anterior.

x0 , x1 , x2 , , x k , x k 1 , , x ,  x *

Vejamos o Exemplo 1, elaborado com base em Justo et al. (2020).

Exemplo 1
x –1
Calcular uma solução de e = x + 2 no intervalo [–2,0] com precisão ε = 10 .
x
Resolver a equação dada é equivalente a calcularmos o zero de f(x) = e – x – 2. Além dis-
so, temos f(–2) ⋅ f(0) < 0. Dessa maneira, podemos iniciar o método de bisseção tomando
o intervalo inicial [a0, b0] = [–2, 0] e:
a0  b0
x0   1
2
–1
Observamos que a precisão ε = 10 foi obtida aproximando o zero de f(x) por x4 =
–1,8125.

(Continua)

66 Cálculo Numérico
Tabela 1
x
Verificação dos intervalos para e = x + 2

bn − a n
n an bn xn f(an) ⋅ f(xn)
2
0 –2 0 –1 <0 1
1 –2 –1 –1,5 <0 0,5
2 –2 –1,5 –1,75 <0 0,25
3 –2 –1,75 –1,875 >0 0,125
4 –1,875 –1,75 –1,8125 <0 0,0625

Fonte: Elaborada pela autora.

Observemos que, dependendo do problema, precisaremos de um critério de


parada, para que o algoritmo possa ter uma quantidade finita de iterações.

De acordo com Gilat e Subramaniam (2008, p. 78), “o processo da bissecção


dever ser interrompido com a obtenção da solução exata”.

No entanto, como vimos, a solução exata nem sempre é obtida computacional-


mente. Assim, é necessário que seja estipulado um critério de parada que possa
estar associado a uma tolerância admissível em relação ao erro máximo permitido
para a solução, entre outros critérios.
Leitura

3.2.1 Condições de convergência Para o método da bissec-


ção, podemos trabalhar
computacionalmente com
É impossível falarmos de um método numérico de aproximação sem estipular- um código feito com base
mos a condição de convergência e o critério de parada. Por isso, vamos falar do em duas abordagens: via
linguagem Scilab e via
primeiro caso. Python.
A primeira é com o uso
A condição de convergência é justamente o fator que garante que estejamos
da linguagem Scilab, para
nos aproximando da solução real. Todo método numérico precisa ser analisado isso, sugerimos que leia a
seção 3.2.1, Código Scilab:
de acordo com a sua convergência para que tenhamos a garantia de que a solução
método da bisseção, por
seja encontrada. Justo et al. (2020), do livro
Cálculo Numérico: um livro
A condição de convergência para o método da bissecção é calculada para f con- colaborativo, na sua versão
para a linguagem Scilab, da
tínua em um intervalo fechado [a,b] → ℝ, tal que f(a)f(b) < 0 e x* é único nesse
Universidade Federal do
intervalo. Dessa forma, Rio Grande do Sul (UFRGS).

a k  bk para k = 0, 1, … Disponível em: https://www.ufrgs.br/


x k k 0  x k  reamat/CalculoNumerico/livro-sci/
2
sdeduv-metodo_da_bissecao.html.
Satisfazendo a equação: Já a segunda abordagem,
indicamos a seção 3.2.1,
ba
x k  x *  k 1 , onde k ≥ 0 para a0 = a e b = b0, e, portanto, xk → x* quando k → ∞. Código Python: método da
2 bisseção, também por Justo
et al. (2020), do mesmo
Já a chamada ordem de convergência que está relacionada à rapidez de cada mé-
livro, mas na sua versão
todo, no método da bissecção, é igual a p = 1, conforme o Teorema 3. com ênfase na linguagem
Python.

Teorema 3 Disponível em: https://www.ufrgs.


br/reamat/CalculoNumerico/livro-py/
Se |xk – x*| ≤ rk · |x1 – x*| vale para alguma constante r > 1, então xk → x* é linear com sdeduv-metodo_da_bissecao.html.
taxa de convergência r e k = 1. Acessos em: 15 jul. 2022.

Zeros de funções reais 67


O método da bissecção é considerado um dos métodos mais simples para cal-
cularmos a convergência para uma solução (o zero de uma função). Contudo, a
velocidade para essa convergência pode ser melhorada.

Vejamos outros métodos e suas características quanto à garantia de convergên-


cia e à velocidade para a obtenção de soluções dentro de tolerâncias permitidas
para diferentes problemas.

3.3 Iteração de ponto fixo


Vídeo O método numérico conhecido como iteração de ponto fixo ou, simplesmente,
método do ponto fixo consiste em substituirmos o problema original de encontrar-
mos a raiz de uma função f(x) = 0 por outro equivalente escrito na forma g(x) = x
+ A(x)f(x), com A(x) ≠ 0.
Assim, quando f(p) = 0, teremos g(p) = p para A(x) ≠ 0.

Nesse caso, o ponto p é chamado ponto fixo de g e, portanto, achar o zero de f


fica representado por achar o ponto fixo de g.

Podemos avaliar esse método graficamente a partir da Figura 3. Vejamos que


um ponto fixo de uma função é um ponto de interseção entre a reta y = x com o
gráfico da função g(x).

Vamos entendê-lo geometricamente conforme a Figura 3.


Figura 3
Método do ponto fixo

g (x1)
g (x*)
g (x2)
g (x0)

a x1 x* x2 x0 b x

Fonte: Elaborada pela autora.

Assumindo uma aproximação inicial x0 para x*, fazemos sucessivas iterações da


função g sobre x0. Dessa forma, podemos escrever:

xk+1 = gk+1 (x0) = gk (g(x0)) = g(xk), com k ≥ 0


Sendo cada xk uma nova aproximação do ponto fixo x*.

68 Cálculo Numérico
Vejamos o Exemplo 2.

Exemplo 2
2
Seja a função f(x) = x + x - 4 e g  x   4  x , calculemos as oito primeiras iterações
assumindo: x0 = 1.
Sendo g  x   4  x , então para x1 teremos:

x1  g  x0   4  x  1, 73205

Continuando as iterações, fazemos:

x2  g  x1   4  x1  1, 50597

x3  g  x2   4  x2  1, 57925

Assim sucessivamente, até encontrarmos:

x 8  g  x7   4  x7  1, 56174

Vejamos a representação conforme a Figura 4.


Figura 4
Funções f e g

Fonte: Elaborada pela autora.


Notemos que a função f(x) tem duas raízes e o método do ponto fixo se aproximou de uma
delas. Isso ocorreu pela escolha do ponto inicial x0 = 1.

Ainda para o Exemplo 2, trazemos a sugestão do Código-fonte 1 para a resolu-


ção do problema.

Zeros de funções reais 69


Código-fonte 1 – Código aplicado para o Exemplo 2

import numpy as np
import scipy as sci
from scipy import optimize

#funcao do pto. fixo


def g(x):
return np.sqrt(4-x)

#est. da solucao
xe = sci.optimize.fixed_point(g, 1)

#aprox. inicial
x0 = 1
eps = np.fabs(x0-xe)
print(“x1 = %.5f, eps =~ %.1e” % (x0, eps))

for i in np.arange(7):
x = g(x0);
eps = np.fabs(x-xe);
print(“%s =~ %.5f, eps =~ %.1e” % ((‘x’+str(i+2)), x, eps))
x0 = x

Percebamos que a linguagem de programação usada, ou mesmo a maneira que


escrevemos um código, é bastante particular e pode conter várias diferenças quan-
do comparada a outros códigos. Entretanto, todos eles, descartando as diferenças
de máquina (seja processamento ou memória), devem chegar na mesma solução.
Tabela 2
Dados extraídos a partir do Código-fonte 1

k xk+1 |x* – xk|


–1
1 x2 = 1,73205 1,7 · 10
–2
2 x3 = 1,50597 5,6 · 10
–2
3 x4 = 1,57925 1,8 · 10
–3
4 x5 = 1,55588 5,7 · 10
–3
5 x6 = 1,56337 1,8 · 10
–4
6 x7 = 1,56097 5,8 · 10
–4
7 x8 = 1,56174 1,9 · 10

Fonte: Elaborada pela autora.

Como todo método numérico, precisamos garantir as condições de convergên-


cia para que a solução do método convirja para a solução exata. Essa necessidade
fica evidente em alguns casos. Por exemplo, algumas funções não têm ponto fixo,
por exemplo, g(x) = x – 1, e outras podem ter mais de um ponto fixo, como g(x)
= x 2 – 2.

70 Cálculo Numérico
Dessa maneira, devemos assumir algumas definições com base nos Teoremas 4
e 5 para garantir a convergência para uma solução factível.

Teorema 4
Se g ∈ C[a,b] e g(x) ∈ [a,b], então g tem ponto fixo em [a, b] tal que
|g(x) – g(y)| ≤ β|x – y|
Para 0 ≤ β < 1.
Nesse caso, dizemos que g é uma contração.
Prova
Se g(a) = a ou g(b) = b, então existe um ponto fixo.
Caso contrário, g(a) > a e g(b) < b.
Seja h(x) = g(x) – x. Então,
h(a) > 0 e h(b) < 0
Como h é continua pelo TVI, logo existe p ∈ (a,b) tal que h(p) = 0. Portanto, existe p tal
que g(p) = p.

Vejamos a definição apresentada no Teorema 5.

Teorema 5
Se g ∈ C[a,b] e g(x) ∈ [a,b], e se |g’(x) ≤ k < 1| para todo x ∈ (a,b), então g tem um
único ponto fixo em [a,b].
Prova
Suponhamos que |g’(x)| ≤ k < 1, para x ∈ (a,b) e que existam dois pontos fixos p1 e p2
com p1 ≠ p2.
Pelo TVM, existe c em (p1, p2) tal que g(p1) – g(p2) = g’(c) · (p1 – p2)
p1 – p2 = g’(c) · (p1 – p2)
Logo,
|p1 – p2| = |g’ (c)(p1 – p2)| < |p1 – p2|
Que é uma contradição.
Portanto, a ideia do método do ponto fixo é a de construir uma sequência x0, …, xk por
meio de iterações com a forma:
xk+1 = g(xk)
Caso a sequência seja convergente, então ela convergirá para o ponto fixo de g, pois, se
{xk} → p, então g(p) = p.
Prova

k  k 
 k 

lim x k  p  lim g  x k 1   g lim  x k 1   g  p 

Consequentemente, dado o problema: f(x) = 0 em [a,b], devemos escolher uma


função de iteração da forma g(x) = x + A(x) · f(x), com A(x) ≠ 0, tal que |g’(x)| ≤
k < 1, ∀ x ∈(a,b) e g[a,b] ⊂ [a,b].

3.3.1 Condições de convergência


Da mesma forma que identificamos no método da bissecção, temos condições
específicas de convergência para o método do ponto fixo.

Zeros de funções reais 71


Assim, vamos enunciar essas condições conforme os teoremas a seguir.

Teorema 6
1
Seja g ∈ C [a,b], g[a,b] ⊂ [a,b] e |g’(x)| ≤ k < 1 para todo x ∈ [a,b], então, para qualquer
x0 ∈ [a,b], a sequência definida por xn = g(xn–1) com n ≥ 1 converge para o único ponto
fixo p de g em [a,b].
Prova
Temos que provar que a sequência converge para p, já que temos a garantia que existe um
único ponto fixo p.
Portanto, {xn} converge desde que:
|xn – p| = |g(xn–1) – g(p)| = |g’(c)| · |xn–1 – p| ≤ k|xn–1 – p|
Então,
2 n
|xn – p| ≤ k|xn–1 – p| ≤ k |xn–2 – p| ≤ ...... ≤ k |x0 – p|
Portanto,

lim x n  p  lim k n x0  p  0
n  n 

Assim, provamos a convergência {xn} → p.

Verificar a ordem de convergência nos ajuda a compreender a velocidade por


meio da qual nos aproximaremos da solução. Sendo assim, para o método do pon-
to fixo, temos a ordem de convergência, conforme o Teorema 7.

Teorema 7
Se g´(p) ≠ 0, então, para qualquer x0 ∈ [a,b] a sequência xn = g(xn-1), com n ≥ 1, conver-
ge linearmente para p ∈ [a,b].
Prova
Para essa prova, usamos o TVM para a função g no intervalo [xn,p].
Assim, existe cn em (xn,p), tal que g(xn) – g(p) = g’ (cn)(xn – p)
Portanto,
xn+1 – p = g’(cn) · (xn – p)
Isso nos permite escrever:

n x p
 n 1  g' cn 
 n 1 xn  p

Assim,

lim
n 
x n 1  p
xn  p n 
 n 

 lim g  cn   g lim cn  g´ p   C  0

Notemos que:
• |g’(p)| é a taxa de convergência do método. Quanto menor esse valor, mais
rapidamente teremos a convergência para a solução;
• quando |g´(p)| = 0, temos o método de Newton-Raphson;
• de acordo com Justo et al. (2020), quando g’(p) < 0, o esquema é dito alter-
nante, ou seja, o sinal do erro se alterna a cada passo;
• quando 0 < g’(p) < 1, esquema é dito monótono e 1
1 .
1  g  p 

72 Cálculo Numérico
Vejamos o Exemplo 3.

Exemplo 3

Dado f(x) = x – x, vamos achar o seu zero no intervalo   ,  .


2 1 1
 2 2
a) Achar uma função de iteração g(x) = x + A(x) · f(x), A(x) ≠ 0
2
Podemos escrever: A(x) = 1 e g(x) = x ou isolar x na equação f(x) = 0
 1 1
b) Verificar se g é contração e |g’(x)| < 1 para todo x   , 
 2 2
Fazemos:
 1 1  1 1  1 
g  x   2x  1, x    ,  ou ainda g   2 , 2   0, 4 
 2 2    
c) Cálculos:
2
xn = g(xn-1) onde g(x) = x
Portanto,
Tabela 3
Aproximação para a solução

x g(x)
1 1
4 16

1 1
16 256

1 1
256 65536

→0
Fonte: Elaborada pela autora.
Vejamos a representação gráfica por meio da Figura 5.
Figura 5
2
Função g(x) = x

Fonte: Elaborada pela autora.

Zeros de funções reais 73


Observemos que no gráfico da Figura 5, em que o arredondamento é feito assu-
mindo 4 casas decimais, temos um erro envolvido nesse tipo de ajuste numérico.

De acordo com Lobão (2017, p. 27), podemos tirar algumas conclusões rápidas
a respeito desse método
• a maior dificuldade encontrada está em iniciar com uma função de iteração
que satisfaça a condição de convergência;
• o teste de |g’(x)| < 1 pode levar a um engano se x0 não estiver suficientemen-
te próximo à raiz.

Na sequência apresentamos mais um método que nos permite encontrar os


zeros de uma função. Podemos, inclusive, comparar características do método da
bissecção a ele.

3.4 Newton-Raphson
Vídeo O próximo método é conhecido como método de Newton-Raphson ou, apenas,
método de Newton.

Joseph Raphson publicou sua versão do método em 1960 na obra Analysis Ae-
quationum Universalis. Contudo, a famosa obra de Isaac Newton, Method of Fluxions,
escrita em 1671, mas publicada apenas em 1736, mostra que Newton já trabalhava
em um método semelhante para o cálculo de raízes de funções. Por esse motivo,
o método carrega o nome dos dois cientistas, sendo a versão de Raphson a qual
usamos atualmente.

O método de Newton-Raphson pode ser entendido segundo três abordagens:


• polinômios de Taylor: f(x) = P1 (x) + E(x);
1
• análise por meio do método do ponto fixo g  x   x  ·f  x  para |g´(p)| = 0;
f  x 
• e a gráfica.

A seguir, explicitaremos cada uma delas.

3.4.1 Abordagem por polinômios de Taylor


A partir daqui discorremos sobre a abordagem por meio da expansão de Taylor.
Assim, seja a expansão de f em trono de xk:

f  x   f  xk    x  xk  f  xk  
 x  x k 2 f 
c 
2!

Com c ∈ (x,xk) ou (xk,x).

Truncando essa expansão na derivada de primeira ordem, teremos:

f(x) = P1 (x) + E(x)

Onde P1(x) = f(xk) + (x – xk) f’(xk) e E  x  


 x  x k 2 f 
c  é o erro assumido,
2!
sendo E(p) ≈ 0.

Logo, escreveremos:

0 = f(p) ≈ P1 (p) = f(xk) + (p – xk) f’(xk)

74 Cálculo Numérico
 f  xk  
Então, p  x k     x k 1 que é um valor aproximado do zero p.
 f  xk  
Essa expressão nos permite escrever a função de iteração para o método de
Newton-Raphson:

 f  xk  
x k 1  x k   , k 0
 f   x  
 k 

A seguir, detalhamos a abordagem pelo método do ponto fixo.

3.4.2 Abordagem pelo método do ponto fixo


Olhando como método do ponto fixo, teríamos que resolver a equação f(x) = 0
por meio do problema equivalente g(x) = x + A(x) . f(x), A(x) ≠ 0 onde a solução
p é tal que f(p) = 0 e g(p) = p.
1 f x
Nesse caso, a função escolhida A(x) é A  x     0 e gx  x 
f  x  f  x 
A sequência gerada por xk+1 = g(xk) fica da seguinte forma.

f  x0  f  x1 
x 0 ; x1  x 0  ; x 2  x1  ; ,  p
f   x0  f   x1 

Como a metodologia usa o conceito já abordado para o método do ponto fixo,


precisamos analisar a função de iteração de g que deve ser escolhida e que satisfa-
ça as condições de convergência para g de modo que essa seja uma contração, ou
seja, |g’(x)| < 1, para todo x ∈ I.
1. Primeiro passo

Verificar |g’(x)| ≤ k < 1 para todo x ∈ I, onde I é o intervalo que contém o


zero p:

f x
gx  x 
f  x 

f   x  f   x   f   x  f  x  f   x  f  x 
g  x   1    g  p   0
[f' x ] 2
[f'  x ]2

2 1
Agora, supondo que f’(p) ≠ 0, teremos f ∈ C [a,b], então, g ∈ C [a,b].
Assim, g’ é contínua no intervalo que contém p, portanto, g’ é contínua em p.

• ∀ε > 0, ∃ ∂ > 0 tal que, se |x – p| < ∂, então |g’(x) – g’(p)| < ε


• ∀ε > 0, ∃ ∂ > 0 tal que, se |x – p| < ∂, então |g’(x)| < ε
• Ε = k < 1, então existe ∂ > 0 tal que, se x ∈ (p – ∂, p + ∂) = Ip , logo |g’(x)|
<1
Então, existe Ip, sendo esse um intervalo em torno de p, onde |g’(x)| < 1.

2. Segundo passo

A função g é contração, isto é, g(I) ⊂ I. Assim, seja x ∈ I e p em I, então, pelo


teorema do valor médio, existe c entre x e p tal que:

g(p) – g(x) = g’(c) · (p – x)


Zeros de funções reais 75
Assim,
|g(p) – g(x)| = |g’(c)| |p – x|
Pela primeira parte, existe Ip com |g’(x)| < 1. Com isso, fazendo I = Ip, então,

|g(p) – g(x)| < |p – x|


Portanto,
|p – g(x)| < |p – x|, ∀ x ∈ I
Logo, g é contração.

Desse modo, a abordagem pelo método do ponto fixo carrega as condições de


convergência desse ponto. Agora, vejamos a próxima abordagem: a gráfica.

3.4.3 Abordagem gráfica


2
Por meio da análise gráfica, dado f ∈ C [a,b], queremos encontrar p tal que f(p) = 0.
Assim, teremos uma situação similar àquela trabalhada no método do ponto fixo.

Para a construção dessa abordagem, supomos uma aproximação inicial x0 e


calculamos:

f  x0 
x1  x 0 
f   x0 

Com isso, obtemos x1 que será a intersecção da reta tangente ao gráfico da fun-
ção f(x) no ponto x = x0 e o eixo das abscissas.

A equação dessa reta tangente é escrita como:

f’(x0)(x – x0) + f(x0) = y (2)


Dessa forma, temos que a intersecção da reta escrita pela Equação 2 com o eixo
Ox acontece quando:
f’(x1)(x – x1) + f(x1) = 0
Portanto,
f  x1 
x  x1 
f   x1 
Vejamos a representação gráfica a partir da Figura 6.
Figura 6
Aproximação por Newton-Raphson

f (xk)

xk+1
p xk x

Fonte: Elaborada pela autora.


76 Cálculo Numérico
Agora, observemos o Exemplo 4.

Exemplo 4
Seja a função f(x) = sinx. Usando o método de Newton-Raphson, queremos encontrar a

raiz dessa função no intervalo  0,  . Assumiremos que x0 = 1, assim,
 2 
sin 1
x1  1   0, 5574
cos 1

sin  0, 5574 


x2  0, 5574   0, 0659
cos  0, 5574 

sin 0, 0659 


x3  0, 0659   9,5722.105
cos 0, 0659 

–12
Prosseguindo com esse processo e colocando como critério de parada f(xk) > 10 ou
–12 –13
f(xk) < –10 , encontraremos x4 = 2,923566.10 .

Podemos usar uma linguagem de programação para obtermos tal resultado. Para
o Exemplo 4, sugerimos a linguagem Python e indicamos o uso do Código-fonte 2.

Código-fonte 2 – Código aplicado para o Exemplo 4

import numpy as np

def f(x):
return np.sin(x)
def df(x):
return np.cos(x)
def nr(a):
c = a
n = 0
X = []
Y = []
while (f(c) > 10**-12) or (f(c) < -(10**-12)):
c = a - (f(a)/df(a))
n += 1
X.append(n)
Y.append(c)
if a==c:
return c, n, X, Y
a = c
return c, n, X, Y

a,n,x,y = nr(1)
print(a,n)

#matplotlib inline
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 10))
plt.style.use(‘fivethirtyeight’)
plt.plot(x,y, ‘-b’, color=’green’)
plt.show()

Zeros de funções reais 77


Vejamos a representação gráfica na Figura 7.
Figura 7
Imagem obtida pela programação sugerida

0.0

–0.1

–0.2

–0.3

–0.4

–0.5

1.0 1.5 2.0 2.5 3.0 3.5 4.0

Fonte: Elaborada pela autora.

Também é possível usarmos o GeoGebra para analisarmos o resultado do


Exemplo 4. Nesse caso, é a Figura 8 que obteremos.
Figura 8
Aproximação da raiz da função f(x) = sinx

Fonte: Elaborada pela autora.

A abordagem gráfica pode não ser muito precisa com relação à obtenção de
valores, todavia ela permite que o intervalo de convergência possa ser avaliado e
auxilia no processo de entendimento do método.

78 Cálculo Numérico
3.4.4 Condições de convergência
2
Seja f ∈ C [a,b]. Se p ∈ [a,b] tal que f(p) = 0 e f´(p) ≠ 0, então ∃δ > 0 tal que a
sequência gerada {xk} definida pela Equação 3 converge para p, independente da
aproximação inicial x0 ∈ [p – δ, p + δ].

f  xk 
x k 1  x k  (3)
f  xk 

Notemos que a ordem de convergência é quadrática, visto que avaliamos o erro


M 2 2
por meio da expressão x n 1  p  . x n  p , com |g’’(x)| < M para x ∈ I e g ∈ C (I).
2
Vejamos o Exemplo 5.

Exemplo 5
2  1 1 1
Encontre a raiz da função f(x) = x – x no intervalo   ,  , assumindo x0 =
 4 4 4
Desse modo, como f’(x) = 2x – 1, fazemos:

f  x0 
x1  x 0 
f   x0 
E assim sucessivamente.

Usando o Código-fonte 2 como base, temos os trechos a seguir.

Código-fonte 3 – Primeiro trecho de aplicação

def f(x):
return x**2-x
def df(x):
return 2x-1

Junto ao seguinte trecho.

Código-fonte 4 – Segundo trecho de aplicação

a,n,x,y=nr(0.25)

Obteremos os valores dispostos na Tabela 4.


Tabela 4
Valores para xn e xn+1

f  xn 
n xn x n1  x n 
f   xn 

0 0,25 –0,125

1 –0,125 –0,0125

2 –0,0125 –0,000152

3 –0,000152 –2,323.10–8

4 –2,323.10–8 –5,3966.10–16

Fonte: Elaborada pela autora.


Zeros de funções reais 79
A Figura 9 apresenta o gráfico para análise da convergência da solução de f(x).
Figura 9
2
Aproximação da raiz de f(x) = x – x

0.00

–0.02

–0.04

–0.06

–0.08

–0.10

–0.12

1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

Fonte: Elaborada pela autora.

Além dos métodos da bissecção, ponto fixo e Newton-Raphson, ainda podemos


citar um método bastante utilizado para a obtenção de raízes numéricas de fun-
ções denominado método das secantes. Vejamos a seguir.

3.5 Método das secantes


Vídeo
O método da secante é similar ao método de Newton-Raphson. Ele pode ser
considerado uma variação do anterior, mas no método das secantes não há a ne-
cessidade do cálculo da derivada da função de maneira analítica.

Para isso, fazemos uma substituição da forma (4):

f  x k   f  x k 1 
f ´ x k   , x  xk (4)
x k  x k 1

Sabemos que o método de Newton-Raphson é uma iteração de ponto fixo dada


por (5):

xk+1 = xk – A(xk)f(xk), k ≥ 1 (5)


1
Com x1 uma aproximação inicial e A  x k   .
f  xk 
Assim, no método das secantes, fazemos uma aproximação da derivada que
nos permite escrever (6):

A  xk  
1

 x k  x k 1 
(6)
f   x k  f  x k   f  x k 1 

80 Cálculo Numérico
Desse modo, chegamos ao que chamamos de método das secantes, que é escrito
substituindo (6) em (5):

x k 1  x k 
 x k  x k 1  f  xk  , k  2 (7)
f  x k   f  x k 1 

Observe a Figura 10 com as primeiras iterações pelo método das secantes.


Figura 10
Representação gráfica das iterações do método aplicado

Jitse Niesen/Wikimedia Commons


x3 x0 x2 x1

f (x)

Atentemos que no método das secantes dependemos de dois valores iniciais:


xk–1 e xk.

3.5.1 Condições de convergência


As condições de convergência para o método das secantes são análogas ao mé-
todo de Newton-Raphson e derivam do método do ponto fixo. Já a ordem de con-
vergência não é quadrática e nem linear.

A sequência produzida pelo método das secantes {xk} converge para x* (a solu-
ção aproximada) com:

x k 1  x *
lim p
c
k 
xk  x*

1 5
Onde c > 0 e p   1, 1618
2
Ela é dita superlinear, pois está no intervalo 1 < p < 2.

Zeros de funções reais 81


Quadro 1
Comparação dos métodos

Aproximações Taxa de Amplitude da


Método Estabilidade Acurácia Comentários
iniciais convergência aplicação
Direto Limitada
Pode levar mais
Gráfico Ruim Raízes reais tempo que os mé-
todos numéricos
Bissecção 2 Lenta Sempre Boa Raízes reais
Possível
Ponto fixo 1 Lenta Boa Geral
divergência
Possível Exige cálculo de
Newton-Raphson 1 Rápida Boa Geral
divergência f’(x)

As aproximações
Possível
Secante 2 Média a rápida Boa Geral iniciais não preci-
divergência
sam cercar a raiz

Fonte: Chapra; Canale, 2016.

Portanto, a comparação entre métodos permite-nos a possibilidade de fazer


escolhas mais acertadas quanto à velocidade de convergência e às necessidades
específicas de cada método com foco nas informações disponíveis em cada caso
ou situação-problema.

CONSIDERAÇÕES FINAIS
Os métodos trabalhados neste capítulo permitem que encontremos os zeros (ou
raízes) de funções não lineares e que avaliemos os erros inerentes a cada um dos
métodos apresentados.
Como pudemos perceber, alguns dos métodos apresentam a garantia de existên-
cia de solução, como é o caso do método da bissecção. Outros já possuem condições
bem específicas para que a haja convergência para a solução, como é o caso do mé-
todo do ponto fixo.
Desse modo, para entendermos todos esses conceitos, relembramos os teoremas
do cálculo para funções de uma variável, que possibilitaram a construção dos métodos
numéricos tratados no capítulo.
Portanto, reforçamos que esses não são os únicos métodos existentes. A partir
de uma rápida leitura nas referências bibliográficas que embasam nosso material, já
podemos nos deparar com outras possibilidades.

ATIVIDADES
Atividade 1
O teorema 1 expressa que, se f:[a,b] → ℝ, y = f(x) é uma função contínua
tal que f(a) ⋅ f(b) < 0, então existe x* ∈ (a,b) tal que f(x*) = 0, onde x* é
chamada de solução exata.

Explique por que precisamos garantir que f(a)f(b) < 0.

82 Cálculo Numérico
Atividade 2
De acordo com Gilat e Subramaniam (2008, p. 76), “a tolerância é a máxima quanti-
dade na qual a solução exata pode desviar de uma solução numérica aproximada”.
Partindo dos conceitos vistos no capítulo e dessa afirmação, quais fatores podem
determinar a tolerância de um método numérico? Use como referência o método
do ponto fixo.

Atividade 3
Assumindo que:

 f  xk  
x k 1  x k   , k 0
 f   x  
 k 

é a equação que rege o método de Newton-Raphson, identifique uma das dificul-


dades para a utilização desse método numérico.

REFERÊNCIAS
CHAPRA, S. C.; CANALE, R. P. Métodos numéricos para engenharia. 7. ed. Porto Alegre: AMGH, 2016.
GILAT, A.; SUBRAMANIAM, V. Métodos numéricos para engenheiros e cientistas: uma introdução com
aplicações usando o MATLAB. Porto Alegre: Bookman, 2008.
JUSTO, D. A. R. et al. (org.). Cálculo Numérico: um livro colaborativo. Porto Alegre: UFRGS, 2020. Disponível
em: https://www.ufrgs.br/reamat/CalculoNumerico/livro-sci/livro-sci.pdf. Acesso em: 24 maio 2021.
LOBÃO, D. C. Introdução aos métodos numéricos. Rio de Janeiro: UFF, 2017. Disponível em: https://www.
professores.uff.br/diomarcesarlobao/wp-content/uploads/sites/85/2017/09/note6.pdf. Acesso em: 6 de
maio 2022.

Zeros de funções reais 83


4
Interpolação e ajuste de curvas
As técnicas de aproximação de curvas e interpolação permitem-nos que possamos
traçar estimativas para os problemas os quais não conhecemos a função (ou lei) que
os rege.
Por esse, e outros motivos, no decorrer do texto, aprenderemos a resolver os mais
diversos tipos de ajustes de curvas, sendo essa uma tarefa de grande necessidade
dentro das ciências.
Já a interpolação de pontos, além de ser um estudo representativo na área das
exatas e engenharias, também está muito presente nas ciências sociais e em demais
áreas, por ser facilmente adotada em esquemas de dispersão de pontos, muitas vezes
obtidos por meio de pesquisas e de coletas de dados.
Imagine as seguintes situações: na primeira, você recebeu uma lista de pontos e
precisa encontrar a função que melhor se ajusta a todos eles. Já na segunda, você tem
uma função f, onde essa só é conhecida para alguns valores de x. Ou ainda, a função f
que modela um determinado problema é complicada para se trabalhar, e substituir f
por uma função g permite simplificarmos o problema com uma quantidade controlada
de erros.
Diante disso, surgem os seguintes questionamentos: em todos esses casos, qual
será a melhor curva para esse tipo de ajuste? Uma curva linear, quadrática, exponen-
cial ou mesmo uma curva polinomial?
Logo, ao longo do capítulo, veremos como responder essas situações.

Objetivos de aprendizagem
Com o estudo deste capítulo, você será capaz de:
• identificar e compreender os processos de interpolação polinomial;

• compreender o conceito de aproximação de funções e os métodos de interpola-


ção: de Lagrange e de Newton;

• resolver situações problema que possibilitem o uso: dos polinômios de Lagran-


ge, das diferenças de Newton e seu método interpolador;

• comparar métodos de interpolação com métodos de aproximação;

• aplicar o método dos mínimos quadrados discreto e contínuo.

4.1 Interpolação polinomial


Vídeo
Ao falarmos em interpolação, pensamos em qual o tipo de curva (função) que
melhor se ajusta a diferentes problemas. Além disso, caso necessário, a função
escolhida precisa ser matematicamente fácil de ser manipulada. Entre essas mani-
pulações, estão incluídas a necessidade de derivá-la e/ou integrá-la.

84 Cálculo Numérico
A ideia é de aproximar f(x) por uma função g(x).

Notemos que, quando temos poucas informações a respeito do modelo, o mais


comum é interpolarmos usando funções polinomiais. A razão por trás disso é rela-
cionada ao fato de os polinômios serem fáceis de manipular, por exemplo, mostrar
a continuidade, as derivadas, as integrais, entre outros. Ademais, existem diversos
teoremas do cálculo já consolidados que provam todos esses conceitos.

Citamos aqui o teorema de Weierstrass (GUIDORIZZI, 2001) que diz:

Teorema 1
Seja f contínua em [a,b]. Dado ε > 0, existe um polinômio pn (x), com n = n(ε), tal que
|f(x) – pn(x)| < ε para todo x ∈ [a,b].
Vejamos a representação por meio da Figura 1.
Figura 1
Erro dos métodos de interpolação

f (x) p (x)

Fonte: Elaborada pela autora.

Portanto, precisamos escolher uma função g(x) = a0g0(x) + ... + angn(x) tal que
a classe dessa função dependa de informações conhecidas sobre f.
n
Assim, podemos elencar critérios para ajustar pn(x) = a0 + a1 · x+...+ an · x , com
pn (xi) = f(xi) para i = 0,1, ....n, ou seja:
• a interpolação gera uma função que passa exatamente pelos pontos dados;
• e o grau do polinômio está associado ao número de pontos escolhidos.

Existem muitos métodos de interpolação polinomial que podem ser adotados:


de Lagrange, de Newton, de Hermite, a interpolação por partes pelo método de
Splines, entre outros. Entre eles, neste capítulo, estudamos os métodos de Lagran-
ge e de Newton devido a sua aplicabilidade em diversas situações físicas e a sua
facilidade de implementação computacional.

Além do teorema de Weierstrass que demonstra a existência de um polinômio


pn tal que |f(x) – pn (x)| < ε, sabemos que o valor para pn(x), sendo x ∈ ℝ para um
polinômio de grau n, pode ser calculado por meio de n + 1 operações de multipli-
cação e n + 1 operações de adição.

Contudo, qual será o valor de n para cada situação? Ou, até mesmo, como obte-
mos esse polinômio e garantimos que ele seja único? Para respondermos a essas
questões, acompanhemos o seguinte raciocínio.

Interpolação e ajuste de curvas 85


m 1
Seja pm(x) = am · x + ⋯ + a1 · x + a0 tal que pm(xi) = yi, com i = 0,1, …n.

Assim,

 a m x0m  .....  a1x0  a0  y 0



 a m x1m  .....  a1x1  a0  y 1

 ......

a m x n  ......  a1x n  a0  y n
m

é um sistema de equações com n + 1 equações e m + 1 incógnitas que pode ser


escrito em notação matricial da forma: X · A = Y. Em que:

 x0m  x10 x00  a m   y0 


1  m      
x  x11 x1 
0
  e Y   y1 
Uma progressão geométrica X 1  , A 
 a1   
é uma sequência numérica      
   
(ou de funções) na qual xm  x1n x0n   a0  y n 
 n
cada termo é igual ao pro-
duto do seu antecessor por
uma constante, chamada Desse modo, A é o vetor das incógnitas.
de razão da progressão
geométrica. A solução do sistema é única se m = n e det(X) não for nulo.

Notemos que a matriz X possui os termos de todas as suas linhas descritos por
1
Vídeo meio de progressões geométricas .
Alexandre-Theóphile
Essa característica da matriz recebe o nome de matriz de Vandermonde, e seu
Vandermonde foi um ma-
temático francês que viveu determinante é descrito como:
em Paris durante toda sua
vida (1735-1796), sendo o
responsável por desenvol-
X   x j  xi 
1 i  j n
ver a matriz que recebeu o
seu nome. Para sabermos
sendo sempre um determinante não nulo e, portanto, fazendo com que o sistema
um pouco mais sobre o
uso desse tipo de matriz e de equações XA = Y tenha solução única.
os cálculos envolvidos para
encontrar o determinante É importante lembrarmo-nos de que o sistema XA = Y pode ser resolvido por
da matriz de Vandermonde,
A = X-1 · Y, porém, normalmente, a matriz X é mal condicionada quando o número
sugerimos o vídeo Matriz de
Vandermonde, disponível na de pontos ou a variação nas abscissas é muito grande. Nesses casos, é comum
página E-Aulas da Universi-
adotarmos polinômios que formem uma base que permita escrever uma matriz
dade de São Paulo.
bem condicionada.
Disponível em: https://eaulas.usp.br/
portal/video.action?idItem=13416. Na sequência, estudaremos dois métodos de interpolação (de Lagrange e de
Acesso em: 10 ago. 2022.
Newton) que usam essa premissa como fundamento principal.

4.2 Interpolação de Lagrange


Vídeo
Um dos métodos usados para resolvermos o problema da interpolação de pon-
tos a partir de um polinômio é chamado de método de Lagrange ou interpolação de
Lagrange.

O método de Lagrange, desenvolvido pelo matemático, astrônomo e físico, Giu-


seppe Ludovico Lagrangia (1736-1813), considera (xi, yi), i = 0, 1, 2, ..., n pontos a
serem interpolados.

86 Cálculo Numérico
De acordo com diversos autores, como Justo et al. (2020), Chapra e Canale Figura 2
(2016), o método de Lagrange parte do princípio de encontrarmos Lk(xi) para (xk, yk), Retrato de Lagrange
1, se i  k
tal que Lk  x i   
0, se i  k
Se Lk(x) = a(x – x0)..... (x – xk–1)(x – xk+1).......(x – xn), então:

Lk  x   
n
 x  xi 
i 0  x k  x i 
(1)
ik

Com essa etapa verificada, é necessário escrevermos o polinômio

mmons
interpolador Pn, tal que:

ia Co
d
ime
n

ik
Pn  x   y iLi  x   y 0 .L0  x   y 1 .L1  x   ...  y n .Ln  x 

t/W
(2)

ive
ipr
i 0 r

ge
Se

Exemplo 1 Apesar de ser conhecido


formalmente como Joseph-Louis
Sejam os pontos (0,1), (–1,2) e (1,3). Devemos achar o polinômio de Lagrange que Lagrange, o seu nome de batismo
interpola esses pontos. é Giuseppe Ludovico Lagrangia,
por ter nascido em Turim, na
Itália, no entanto, todos os seus
Para resolvermos o Exemplo 1, inicialmente, notemos que os pontos não estão trabalhos renomados recebem
Lagrange em seu nome, e não o
alinhados e visualmente é difícil pensarmos em um polinômio que se encaixe ade-
seu nome de nascimento.
quadamente a eles (Figura 3).
Figura 3
Pontos a serem interpolados

Fonte: Elaborada pela autora.

Para isso, usaremos o método de Lagrange com o intuito de resolvermos esse


problema. n
 x  xi 
Portanto, por L  x    teremos:
i 0  x k  x i 
k

ik

 x   1  x  1   x2  1
0   1 0  1  
L0 

 x  0   x  1   1 x2  x
L1 
 1  1  1  1 2
 
 x  0  x   1  1 2
L2   x  x
1  0 1   1  2
Interpolação e ajuste de curvas 87
n
Agora, usando Pn  x   y iLi  x   y 0 .L0  x   y 1 .L1  x   y n .Ln  x  obteremos:
i 0

  1
2



1
 2

P2  x   1.  x2  1  2.  x2  x   3.  x2  x 
 
 
3 1
P2  x   x2  x  1
2 2

Vejamos a representação na Figura 4.


Figura 4
Gráfico do polinômio P2(x)

Leitura
Para saber mais sobre esse
assunto e acompanhar Fonte: Elaborada pela autora.
vários exemplos resolvidos
Sobre a unicidade, suponhamos que exista outro Qn(x) tal que Qn(xi) = yi, para
com o uso do método de
Lagrange, sugerimos o i = 0,1, …, n. Nesse caso, podemos escrever: seja f(x) = Pn(x) – Qn(x) e observe que
material intitulado Interpo-
f(xi) = 0, para todo i = 0,1, ...n.
lação – Lagrange, disponível
no site da Universidade Logo, Pn(x) é único.
Federal do Rio Grande do
Norte (UFRN) no endereço Portanto, os métodos numéricos exigem avaliação do erro (LOBÃO, 2017). Os
eletrônico.
erros, como sabemos, podem vir da modelagem matemática, da simplificação do
Disponível em: https://cn.ect.ufrn.br/
index.php?r=conteudo%2Finterp- modelo e, posteriormente, dos ajustes de cálculo, como arredondamentos e trun-
lagrange. Acesso em: 10 ago. 2022. camentos. Na sequência, veremos como avaliar o erro para o método de interpo-
lação de Lagrange.

4.2.1 Análise do erro


Consideremos um intervalo fechado I, com I = [a, b], xi ∈ I, t ∈ I, f ∈ Cn+1(I). Existe
c pertencente ao intervalo (a, b), tal que se E(t) = f(t) – Pn(t). Então,

E t  
 t  x0  t  x n   f  n 1 c , t  I
 
 n  1 !

88 Cálculo Numérico
Vejamos o Exemplo 2 dessa análise.

Exemplo 2
Suponha que tenhamos as informações de um paraquedista em queda livre. A partir dessas
informações concentradas na Tabela 1, em que para cada tempo de queda, temos a velo-
cidade desse paraquedista.
Tabela 1
Tempo e velocidade do paraquedista

Tempo (s) Velocidade v (cm/s)


1 800
3 2310
5 3090
7 3940
13 4755
Fonte: Elaborada pela autora.
A partir disso, queremos fazer uma estimativa da velocidade no instante t = 6. Para isso,
construiremos alguns polinômios interpoladores, Pn(t), para os pontos conhecidos, de
maneira que possamos calcular a velocidade em Pn(6), além disso, comparar o erro em
todos os casos.

Para conseguirmos fazer a comparação do erro do Exemplo 2, assumiremos que


f(6) = 3540 cm/s. Assim, nosso primeiro polinômio será calculado para (5,3090)
e (7,3940), ou seja:

L0 
 x  7   x  7
5  7  2

L1 
 x  5   x  5
7  5 2

x 7   x 5 
Portanto, P1  x   3090    3940  2 
 2   
Vejamos a representação disso na Figura 5.
Figura 5
Representação da reta do polinômio P1(x)

Fonte: Elaborada pela autora.

Interpolação e ajuste de curvas 89


Notemos que 3540 = f(6) ≈ P1 (6) = 3515. Agora, aumentamos a ordem do
polinômio, na tentativa de minimizarmos o erro. Com isso, adotaremos os pontos:
(3,2310), (5,3090) e (7,3940). Desse modo,

L0  x  
 x  5  x  7   x2  12x  35
 3  5 3  7  8

L1  x  
 x  3  x  7   x2  10x  21
 5  3  5  7  4

L2  x  
 x  3  x  5  x2  8x  15
7  3 7  5 8

Portanto,
P2(x) = 2310(L0(x)) + 3090(L1(x)) + 3940(L2(x))
Conforme a representação na Figura 6.
Figura 6
P2(x) = 2310(L0(x)) + 3090(L1(x)) + 3940(L2(x))

Fonte: Elaborada pela autora.

Notemos que 3540 = f(6) ≈ P2(6) = 3506,25.

Antes de compararmos os erros, calculamos mais quatro polinômios (um de


ordem 2, dois de ordem 3 e um de ordem 4). Montamos mais um polinômio de
ordem 2, usando os pontos: (5,3090), (7,3940) e (13, 4755). Além disso, calcula-
mos dois polinômios de ordem 3 usando os pontos: (3,2310), (5,3090), (7,3940) e
(13, 4755). Por fim, calculamos um polinômio de ordem 4 assumindo todos os
pontos da tabela.

Sejam (5,3090), (7,3940) e (13, 4755). Assim,

L0  x  
 x  7   x  13
5  7  5  13

L1  x  
 x  5  x  13
7  5 7  13

L2  x  
 x  5  x  7 
13  5 13  7 
90 Cálculo Numérico
Portanto,

P2  x   3090  L0  x    3940  L1  x    4755 L2  x  

Agora, vejamos como ficou a representação na Figura 7.


Figura 7
Representação da curva do polinômio P2  x 

Fonte: Elaborada pela autora.

Notemos que 3540  f 6   P2 6   3551, 1458 .

Com os dois polinômios de ordem 2 montados, percebemos que apenas conhe-


cer o número de pontos da interpolação não é suficiente para a análise do erro.

Dessa forma, calcularemos P3(x) usando (3,2310), (5,3090), (7,3940) e (13, 4755).
Com isso,

L0  x  
 x  5  x  7   x  13
3  5 3  7  3  13

L1  x  
 x  3  x  7   x  13
5  3 5  7  5  13

L2  x  
 x  3  x  5  x  13
7  3 7  5 7  13

L3  x  
 x  3  x  5  x  7 
13  3 13  5 13  7 
Portanto,

P3(x) = 2310L0(x) + 3090L1(x) + 3940L2(x) + 4755L3(x)

Interpolação e ajuste de curvas 91


Vejamos a representação na Figura 8.
Figura 8
Representação gráfica do polinômio P3(x)

Fonte: Elaborada pela autora.

Notemos que 3540  f 6   P2 6   3551, 1458

E notemos que 3540 = f(6) ≈ P3(6) = 3519,71875

Ou seja, o polinômio de grau menor apresenta um ajuste melhor quando com-


parado ao polinômio de grau 3.

A partir disso, calcularemos P4(x) usando (1,800), (3,2310), (5,3090), (7,3940)


e (13, 4755). Com isso,

L0  x  
 x  3  x  5  x  7   x  13
1  3 1  5 1  7  1  13

L1  x  
 x  1  x  5  x  7   x  13
3  1 3  5 3  7  3  13

L2  x  
 x  1  x  3  x  7   x  13
5  1 5  3 5  7  5  13

L3  x  
 x  1  x  3  x  5  x  13
7  1 7  3 7  5 7  13

L4  x  
 x  1   x  3  x  5  x  7 
13  1 13  3 13  5 13  7 
Portanto,

P4(x) = 800L0(x) + 2310L1(x) + 3090L2(x) + 3940L3(x) + 4755L4(x)

92 Cálculo Numérico
Figura 9
Representação gráfica do polinômio P4(x)

Fonte: Elaborada pela autora.

Notemos que 3540 = f(6) ≈ P4(6) = 3482,6953125. Assim, as precisões obtidas


foram:

|P1(6) – f(6)| ≈ |3515 – 3540| ≈ 25


|P2(6) – f(6)| ≈ |3506,25 – 3540| ≈ 33,75

| P2 6   f 6  | 3551, 1458  3540  11, 1458

|P3(6) – f(6)| ≈ |3519,71875 – 3540| ≈ 20,28125


|P4(6) – f(6)| ≈ |3482,6953125 – 3540| ≈ 57,3046875
Com essa avaliação, percebemos que a melhor aproximação foi encontrada por
um dos polinômios interpoladores de grau 2, sendo que esse resultado é contrain-
tuitivo quando pensamos em métodos numéricos, pois, em geral, quanto mais va-
lores adotados para se obter uma aproximação, melhor é o resultado numérico.

Essa é uma das dificuldades apresentadas com o método. É difícil sabermos


qual será o melhor polinômio que interpola os pontos existentes. Dessa forma, o
que costumamos fazer é uma grande verificação usando os pontos fornecidos e
calculando os diversos polinômios de Lagrange de ordens diferentes, escolhendo,
ao final, aquele que melhor se adequa ao modelo (com o menor erro obtido).

Outro problema inerente ao método é o de não conseguirmos aproveitar os cál-


culos anteriores quando desejamos acrescentar ou retirar um ponto. Essa situação
pode ser resolvida com o desenvolvimento do método que explicitaremos a seguir.

Interpolação e ajuste de curvas 93


4.3 Interpolação de Newton
Vídeo
A interpolação de Lagrange é um método simples de ser implementado, contu-
do, não permite que, caso se adicione um ponto a mais, o novo polinômio seja ob-
tido a partir do antigo. Como vimos anteriormente, cada ponto acrescentado exige
que façamos os cálculos desde o início, o que não é prático e muito menos ágil no
sentido da otimização computacional.

A partir disso, Newton descobriu uma forma de corrigir o polinômio de grau n


para obter o polinômio de grau n + 1. Observemos a Figura 10.
Figura 10
Correção pensada por Newton

y y

L1

L2

x x

P1(x) = y0 · L0(x) + y1 · L1(x) P2(x) = y0 · L0(x) + y1 · L1(x) + y2 · L2(x)


Então, Então,
P1(x) P2(x) = P1(x) + C(x),
Onde C(x) é o termo de correção.

Fonte: Elaborada pela autora.

Portanto, a ideia do método é aproveitarmos o polinômio já calculado de ordem


n – 1 para encontrarmos um polinômio de ordem n a partir da soma de um polinô-
mio corretor C(x) (Equação 3).

Pn(x) = Pn–1(x) + C(x) (3)


A pergunta para esse método, dessa maneira, gira em torno de como calcula-
mos C(x).

Sabemos que C(x) deve ser um polinômio de ordem n, tal que:

C(x) = Pn(x) – Pn–1(x) (4)


Onde C(xi) = 0, se i = 0,1, ...n – 1.

Assim,

Pn(x) = a0 + a1(x – x0) + a2(x – x0)(x – x1) + ⋯ + an(x – x0)(x – x1) ….(x – xn–1) (5)
n
Onde an é o coeficiente de x e ai são os coeficientes a serem calculados.

94 Cálculo Numérico
Para dois pontos, ou seja, dois termos, teremos uma reta. Se adicionarmos um
ponto para melhorarmos a aproximação, também precisaremos adicionar um ter-
mo (polinômio) C(x) de segundo grau, obtendo, com isso, uma parábola.

Adotando a equação Pn(x) = a0 + a1(x – x0) + a2(x – x0)(x – x1) + ⋯ + an(x – x0)
(x – x1) ….(x – xn-1), precisamos garantir que: Pn(xi) = yi para i = 0,1,…, n. Isso nos
leva a seguinte observação:
• Se x = x0, todos os termos serão anulados, exceto a0 e, portanto, P0(x) = y0 = b0.
• Se x = x1, todos os termos serão anulados, exceto os dois primeiros,
p0 (x) + a1(x – x0). Logo,
y1 = y0 + a1(x – x0)
y1  y0
a1 
x1  x 0

Newton percebeu essa relação e generalizou o seu processo.

Supondo que an = f[x0, x1, …, xn] é um número real que precisa ser determinado, então,
P0(x) = f(x0)
P1(x) = P0(x) + a1(x – x0) = P0(x) + f[x0, x1](x – x0)
P2(x) = P1(x) + a2(x – x0)(x – x1) = P1(x) + f[x0, x1, x2](x – x0)(x – x1)

Pn(x) = Pn–1(x) + f[x0,x1, …,xn] · (x – x0)(x – x1) …. (x – xn–1)
Ou, ainda:
Pn(x) = f(x0) + (x – x0)f[x0, x1] + (x – x0)(x – x1)f[x0, x1, x2] + ⋯ + (x – Atenção
(6)
x0)(x – x1)….(x – xn–1)f[x0, x1, …, xn] A ordem dos nós não altera
o resultado, por exemplo:

f[x0, x1 ..., xn] = f[x1 ..., xn, x0].


O coeficiente f[x0, x1, …, xn] é chamado de diferença dividida de ordem n (Tabela 2).
Tabela 2
Diferenças divididas de ordem n

Valores de y Enésima
1ª diferença 2ª diferença diferença
Valores de x (diferença dividida ⋯
dividida dividida dividida
de ordem zero)
x0 y0 = f[x0] f[x0, x1] f[x0, x1, x2] f[x0, x1, …, xn]
x1 y1 = f[x1] f[x1, x2] f[x1, x2, x3]
x2 y2 = f[x2] f[x2, x3] f[x2, x3, x4]
⋮ ⋮ ⋮ ⋮
⋮ ⋮ ⋮ f[xn–2, xn–1, xn]
⋮ ⋮ f[xn–1, xn]
xn yn = f[xn]
Fonte: Elaborada pela autora.

Interpolação e ajuste de curvas 95


Observemos o Exemplo 3 no qual aplicamos o método de interpolação de
Newton.

Exemplo 3
No Exemplo 2, obtivemos o polinômio P2(x) = 2310(L0(x)) + 3090(L1(x)) + 3940(L2(x))
para os pontos (3,2310), (5,3090) e (7,3940), onde, ao comparamos o valor exato para x
= 6, obtivemos 3540 = f(6) ≈ P2(6) = 3506,25, portanto, com um erro de E(x) = 33,75.
Agora, faremos essa interpolação usando o método de Newton para os mesmos pontos,
obtendo, com isso, um polinômio de grau 2. Na sequência, calculamos o polinômio de grau
3 para os pontos: (3,2310), (5,3090), (7,3940) e (13, 4755), onde, no Exemplo 2 obti-
vemos: P3(x) = 2310L0(x) + 3090L1(x) + 3940L2(x) + 4755L3(x), com 3540 = f(6)
≈ P3(6) = 3519,71875. Logo, E(x) = 20,28125 (menor do que o erro encontrado com
o polinômio de grau 2). Contudo, o processo de cálculo para a obtenção do polinômio de
Lagrange de grau 3 precisou ser totalmente refeito, enquanto no método de Newton aprovei-
tamos o polinômio já identificado para os três primeiros pontos.

Dessa maneira, a fim de resolver o Exemplo 3, para (3,2310), (5,3090) e


(7,3940), faremos:
Tabela 3
Diferenças divididas para (3,2310), (5,3090) e (7,3940)

Valores de y
1a diferença 2a diferença
Valores de x diferença
dividida dividida
dividida de ordem zero
x0 = 3 y0 = f[x0] = 2310 f[x0, x1] f[x0, x1, x2]
x1 = 5 y1 = f[x1] = 3090 f[x1, x2]
x2 = 7 y2 = f[x2] = 3940
Fonte: Elaborada pela autora.

Em que, para:
• [x0, x1], temos:

y 1  y 0 3090  2310
f  x 0 , x1     390
x1  x 0 53

• [x1, x2], temos:

y 2  y 1 3940  3090
f  x1 , x 2     425
x 2  x1 7 5

• [x0, x1, x2], temos:

f  x1 , x 2   f  x 0 , x1  425  390
f  x 0 , x1 , x 2     8, 75
x2  x0 7 3

Portanto,

P2(x) = f(x0) + (x – x0)f[x0, x1] + (x – x0)(x – x1)f[x0, x1, x2]


P2(x) = 2310 + (x – 3)(390) + (x – 3)(x – 5)(8,75)
Notemos que obtivemos exatamente o mesmo polinômio encontrado com o
método de Lagrange, portanto, P2(6) = 3506,25.

Agora, para (3,2310), (5,3090), (7,3940) e (13, 4755), faremos:

96 Cálculo Numérico
Tabela 4
Diferenças divididas para (3,2310), (5,3090), (7,3940) e (13, 4755)

Valores de y 1a diferen-
Valores 2a diferença 3a diferença
diferença ça
de x dividida dividida
dividida de ordem zero dividida
x0 = 3 y0 = f[x0] = 2310 f[x0, x1] f[x0, x1, x2] f[x0, x1, x2, x3]
x1 = 5 y1 = f[x1] = 3090 f[x1, x2] f[x1, x2, x3]
x2 = 7 y2 = f[x2] = 3940 f[x2, x3]
x3 = 13 y3 = f[x3] = 4755
Fonte: Elaborada pela autora.

Portanto, ainda precisamos calcular:


• [x2, x3], obtendo:

y 3  y 2 4755  3940 5
f  x 2 , x3     135
x3  x 2 13  7 6
• [x1, x2, x3], obtendo:

5
f  x2 , x3   f  x1 , x2  135 6  425 7
f  x1 , x 2 , x3     36
x3  x1 13  5 48
• [x0, x1, x2, x3], obtendo:

7
f  x1 , x 2 , x3   f  x 0 , x1 , x 2  36  8, 75
47
f  x 0 , x1 , x 2 , x3    48  4  4, 49
x3  x 0 13 3
3 96
Com isso,

P3(x) = f(x0) + (x – x0)f[x0, x1] + (x – x0)(x – x1)f[x0, x1, x2] + (x – x0)(x – x1)(x –
x2)f[x0, x1, x2, x3]

P3(x) = 2310 + (x – 3)(390) + (x – 3)(x – 5)(8,75) + (x – 3)(x – 5)(x – 7)(–4,49)


Vejamos a representação por meio da Figura 11.
Figura 11
Interpolação por Newton com 4 pontos

Fonte: Elaborada pela autora.

Interpolação e ajuste de curvas 97


Com isso, encontramos P3(6) = 3519,71875, exatamente o mesmo valor obtido
com a interpolação de Lagrange e, portanto, com erro calculado E(x) = 20,28125.

Podemos idealizar um algoritmo para o cálculo do polinômio interpolador de


Newton (CAMPOS FILHO, 2018). Nesse caso, como fazemos o uso das diferenças
divididas, podemos separar esse algoritmo em duas partes (Algoritmo 1 e 2), sendo
a primeira destinada ao cálculo das diferenças divididas.

Algoritmo 1

Dados iniciais: x , d onde d = [f(xi)] = [di] e x = [xi], i = 0,1, ...n.

Para i = 1, ...,n

Para j = n, ...,i

dj = (dj - dj-1) / (xj – xj-i)


Saída: {x, d = [di]} com di = f[x0, x1, ...,xi]

Após essa análise, é possível usarmos uma função específica para o cálculo das
diferenças divididas dentro da proposta de algoritmo para o polinômio interpola-
dor pelo método de Newton (Algoritmo 2).

Algoritmo 2

Dados iniciais: x = [xi], d = [di] = [f[x0, x1, ..., xi] ], n, t, p.

p = dn
i = n – 1, ..., 0
p = di + (t – xi) · p
Saída: {p = pn(t)}

Portanto, assim como no método de Lagrange, o método de Newton também


exige análise do erro, que veremos a seguir.

4.3.1 Análise do erro


Para avaliarmos o erro do método de Newton, consideremos um intervalo fe-
chado I, tal que I = [a, b], xi ∈ I, t ∈ I, f ∈ Cn+1(I).

A partir disso, usando o mesmo princípio adotado no método de Lagrange, exis-


te c pertencente ao intervalo (a, b), tal que se E(t) = f(t) – Pn(t). Então,

E t  
 t  x0  ...  t  x n  .f  n 1 c , t  I
 
 n  1 !

98 Cálculo Numérico
Dessa forma,

E t  
 t  x0  ...  t  x n   f  n 1 c  n t  x  f  n 1  c  , t  I
   i 0  i  (7)
 n  1 !  n  1 !
No método de Newton, também é possível expressarmos o erro por meio da
análise das diferenças divididas. Para isso, usamos como artifício a necessidade de
encontrarmos um polinômio que interpola os nós x0, x1, x2, ..., xn e t, ou seja:

pn+1(x) = f(x0) + (x – x0)f[x0, x1] + (x – x0)(x – x1)f[x0, x1, x2] + .....


+ (x – x0)...(x – xn) · f[x0, ..., xn, t]
Porém, nos casos:
• x = x0, x1, x2, ..., xn temos que f(x) = pn(x) = pn+1(x)
• x = x0, x1, x2, ..., xn, t temos que f(x) = pn+1(x) com pn+1(x) = pn(x) + C(x)

Portanto,

pn+1(x) = pn(x) + (x – x0)...(x – xn) · f[x0, ..., xn, t]


Então,

E(t) = f(t) – pn(t) = pn+1(t) – pn(t) = (t – x0)...(t – xn) · f[x0, ..., xn, t]
No entanto, o erro em t depende do conhecimento de f(t), o qual não é conheci-
do. Assim, o erro em um ponto t, usando pn(x), pode ser escrito como:

E(t) = (t – x0)...(t – xn) · f[x0, ..., xn, t], ∀t ∈ I (8)


Comparando as equações (7) e (8), teremos que existe c em um intervalo I, tal que:

f
n 1
 c   f x ,..., x , t
0 n  (9)
 n  1 !
Isso nos permite escrever que a diferença dividida de ordem n resulta em uma
avaliação da derivada enésima de f em algum ponto c de I, dividido por n!

Observe a Tabela 5 que apresenta uma análise desse resultado.


Tabela 5
Diferenças divididas a partir das derivadas

1a diferença 2a diferença na diferença


Valores de x Valores de y ⋯
dividida dividida dividida
x0 y0 = f[x0] f[x0, x1] f[x0, x1, x2] ⋯ f[x0, x1, ..., xn]
x1 y1 = f[x1] f[x1, x2] f[x1, x2, x3] ⋯
x2 y2 = f[x2] f[x2, x3] f[x2, x3, x4] ⋯
⋮ ⋮ ⋮ ⋯ ⋯
⋮ ⋮ ⋮ f[xn–2, xn–1, xn]
⋮ ⋮ f[xn–1, xn]
xn yn = f[xn]

f ´´ c  f   c 
n
c f(c) f’(c)
2! n!

Fonte: Elaborada pela autora.


Interpolação e ajuste de curvas 99
Usando o teorema do valor médio (TVM), podemos avaliar uma cota superior
para o erro:
M
E  t   t  x0 .... t  x n ·
(n+1)
sendo M = max|f (x)|, para x ∈ I.
 n  1 !
Com isso, estudamos dois métodos que nos possibilitam encontrar os polinô-
mios interpoladores.

Como falamos no início da seção, esse tipo de método costuma ser usado quan-
do conhecemos alguns pontos do problema e desejamos encontrar uma curva que
passe, exatamente, por esses pontos, dando-nos uma melhor aproximação para o
problema.

Ao usarmos o termo aproximação, entramos em outro tipo de análise possível:


a de procurarmos uma curva que se aproxima, com o menor erro possível, de uma
quantidade predeterminada de pontos (sem a necessidade de passar por esses
pontos). Explicaremos esse tipo de método a seguir.

4.4 Aproximação por mínimos quadrados


Vídeo Além dos métodos de interpolação, também podemos usar aqueles chamados
de métodos de aproximação, ou ajuste de curva por aproximação. A grande diferença
entre um método de interpolação e um de aproximação é que no segundo não
precisamos passar pelos pontos originais do problema (pontos dados).

Em geral, esse tipo de método é aplicado quando trabalhamos com dados expe-
rimentais, ou mesmo quando não temos certeza quanto à relação aos dados que
serão ajustados. Também é comum usarmos esse tipo de método quando dese-
jamos ajustar uma função específica na qual o fenômeno modelado é conhecido.

Acreditamos que o método de aproximação mais conhecido seja o método dos


mínimos quadrados, em suas duas formas: discreta e contínua. No entanto, tam-
bém podemos trabalhar com curvas aproximadas por meio de funções pondera-
das. O foco é minimizarmos o máximo erro encontrado entre a função polinomial
pn(x) e a função original f(x).
Suponhamos que conhecemos alguns pontos dispostos em um plano cartesia-
no bidimensional (Figura 12) e desejamos ajustar uma curva de forma na qual o
erro de aproximação entre a curva e esses pontos seja o menor possível.
Figura 12
Ajuste de curva

Pm

Fonte: Elaborada pela autora.


100 Cálculo Numérico
Para esse tipo de ajuste, trabalhamos com o método conhecido por mínimos
quadrados (MMQ), o qual, como o próprio nome apresenta, tem como objetivo o
cálculo de uma curva que se aproxima dos pontos conhecidos por meio da mi-
nimização da soma dos quadrados dos resíduos de todos os pontos usados na
aproximação.

Matematicamente podemos definir da seguinte maneira.

Desejamos encontrar f ∈ F, tal que F = {f:ℝ → ℝ; y = f(x)} é uma família de funções.


Para isso, adotaremos que o resíduo Ri pode ser analisado para cada ponto (xi, yi) da
forma: δi = (f(xi) – yi), sendo yi a ordenada do i-ésimo ponto.
Assim, minimizar a soma dos quadrados dos resíduos é calcular:
M
min R  2i   f  x1   y 1    f  x2   y 2    f  x M   y M 
2 2 2
f 
i 1
com M a quantidade de pontos total do problema.

Conforme pontuamos, o método dos mínimos quadrados pode ser trabalha-


do na versão discreta ou contínua. Além disso, é possível ponderarmos o resíduo
(erro) a partir de uma multiplicação por uma função peso w (ARENALES; DAREZZO,
2008). Conforme representamos no Quadro 1.
Quadro 1
Comparativo entre versões discreta e contínua

Discreto Contínuo

δi = f(xi) – φ(xi) δ(x) = f(x) – φn(x)


minR   i 1w  x i   2i
M
minR   w  x   2  x  dx
b
a

w(xi): peso da informação xi w(x): função peso


Fonte: Elaborado pela autora.

Ajustar uma curva para uma tabela de pontos da forma (x1, f(x1)), (x2, f(x2)), ...,
(xM, f(xM)) com x1, x2, ..., xM, pertencentes a um intervalo [a, b], significa analisarmos
n funções φ1(x), φ2(x), ..., φn(x) contínuas em [a, b] e obtermos suas respectivas n
constantes α1, α2, ..., αn tais que a função: g(x) = α1φ1(x) + α2φ2(x) + ...+ αnφn(x) se
aproxime ao máximo de f(x).

Notemos que o método dos mínimos quadrados pode ser linear ou não linear
(nos parâmetros). Por exemplo, podemos aproximar f(x) por g(x) = α0 · φ0(x) + α1
· φ1(x) + ..... + αn · φn(x) onde φk(x) são funções preestabelecidas, ou g(x) = α1 ·
2
e(a2–x) + α3 · e(a4–x) .
Para esta obra, abordamos apenas o caso linear, isto é, dado f encontrar g da
forma (10) que melhor se aproxime de f com os critérios informados anteriormente.

g(x) = a0 · φ0(x) + a1 · φ1(x) + ..... + an · φn(x) (10)


Entenderemos melhor esse processo com a explicação a seguir.

Interpolação e ajuste de curvas 101


4.4.1 Aproximação: mínimos quadrados discreto
Vimos que o critério para encontrarmos os coeficientes de g, α0, …, αn, é a mi-
nimização da soma dos quadrados dos resíduos em todos os pontos usados na
aproximação, ou seja:
m
min R  2i
f 
i 0

= (f(x0) – φ0)2 + (f(x1) – φ1)2 + (f(x2) – φ2)2 + ⋯ + (f(xm) – φm)2


Com m a quantidade de pontos total do problema. Vejamos a representação na
Figura 13.
Figura 13
Resíduo MMQ discreto

g(x)

f(xi)

xi x

Fonte: Elaborada pela autora.

É comum adotarmos g como um polinômio. Assim, seja f conhecida em (m + 1)


pontos, tais que {(xi, yi), i = 0, 1, 2, ....m}.

A partir disso, precisamos escolher Pn  x    a k .x k , com n < m – 1, tal que:


n
k 0

Min R  a0 ,...a n    (f  x i   Pn  x i )2   ( y i  Pn  x i )2


m m
i 0 i 0

Escolher Pn significa acharmos os coeficientes α0, α1, …, αn, tal que ele seja
mínimo.

Portanto,

R   i 0( y i  Pn  x i )2
m

Onde Pn  x i    k 0a k .x i
n
k

Devemos observar os seguintes aspectos.


• O índice i usado para os pontos conhecidos, i = 0, 1, ...m.
• O índice k usado para as potências e coeficientes do polinômio Pn, k = 0, 1... n.

102 Cálculo Numérico


Então,

R   i 1y 2i  2 i 0y iPn  x i    i 0(Pn  x i )2


m m m

   
2
R   i 0y 2i  2 i 0y i . a x k   i 0
m m n m n
k 0 k i
a xk
k 0 k i

 
n  n  m k  j 
R   i 0y 2i  2 k 0a k .    x i  
m n m
i 0
y i x k
i   a k .a j
k 0 
 j 0  i 0  

   a a  x
n  n m
kj 

R   i 0y 2i  2 k 0a k .
m n m
y xk
i 0 i i k j i  
k 0 j 0 i 0  

Logo, para acharmos o mínimo da função R, devemos achar seus pontos críticos.

R
 0, k
a k

2  m
y .x k
i 0 i i   2 a   n
j 0 j
m
xk  j
i 0 i   0,k
 j0a j   i0xki  j    i0y i .xik , k
n m m

Desenvolvendo as equações, temos aquilo que chamamos de sistema de equa-


ções normais (11).

 m 0 m m m
 a 0  x i  a1  x1i  ...  a n  xni   y ix0i
 i 0 i 0 i 0 i 0
 m
 m m m
 a 0  x i  a1  x2i  ...  a n  xni 1   y ix1i
1
(11)
 i 0 i 0 i 0 i 0
 m m m m
a
 0  x ni 1  xni  n   y ixin
x ni  a1  ...  a n
 i 0 i 0 i 0 i 0

Notemos que o sistema contém n + 1 equações e n + 1 incógnitas. Portanto,


ele só será um sistema compatível se a matriz dos coeficientes for não singular, ou
seja, (det(X) ≠ 0).

Como a matriz do sistema é simétrica e não singular, pois x0, x1, ...xm são pontos
distintos, então o sistema (Equação 11) é possível e possui solução única. Vídeo
Para obtermos os coeficientes da matriz, podemos trabalhar com a Tabela 6. É possível usarmos plani-
lhas eletrônicas para auxi-
Tabela 6 liar no processo de cálculo
Valores para a matriz do MMQ do método dos mínimos
quadrados. Para saber
mais sobre, sugerimos o
xi x2i ⋯ x2i n yi yixi ⋯ y i x in vídeo Método dos mínimos
quadrados – caso linear, do
⋮ ⋮ ⋮ ⋮ ⋮ canal Quem sabe faz.

∑ xi ∑ yi ∑ y ix i Disponível em: https://www.youtube.


∑ x2i ⋯ ∑ x2i n ⋯ ∑ y i x in
com/watch?v=0o_wuKE-mm4.
Acesso em: 10 ago. 2022.
Fonte: Elaborada pela autora.

Interpolação e ajuste de curvas 103


A respeito disso, vejamos o Exemplo 4.

Exemplo 4
Ajustar por mínimos quadrados uma função do 2o grau aos pontos dados (Tabela 7).
Tabela 7
Tabela de pontos

x -2 -1 0 1 2

y 4 2 0 2 4
Fonte: Elaborada pela autora.

P2  x    k 0a k .x k  a0  a1x  a2x2


2

Tabela 8
Tabela de aplicação do método de mínimos quadrados

Pontos x x2 x3 x4 y xy x2y
x0 -2 4 -8 16 4 -8 16

x1 -1 1 -1 1 2 -2 2

x2 0 0 0 0 0 0 0

x3 1 1 1 1 2 2 2

x4 2 4 8 16 4 8 16

Total 0 10 0 34 12 0 36

Fonte: Elaborada pela autora.

Tendo:

 m  xi  x i2  a 0    yi 
   
A    xi  xi 2
 x i3  x  a1  b    y ix i 
  a2   2
  x i  x i3  x i4    y ix i 
2

Portanto,

 5 0 10 a 0  12
  ,    
A   0 10 0  x  a1  b   0 
10 0 34  a2  36 
24
Resolvendo o sistema por decomposição gaussiana, encontramos: a0 = ,a =0
6 35 1
e a2 = . Logo,
7
24 6 2
P2  x    x
35 7

Com isso, vejamos como isso fica representado (Figura 14).

104 Cálculo Numérico


Figura 14
Ajuste efetuado por P2(x)

Fonte: Elaborada pela autora.

Com base em Campos Filho (2018), apresentamos alguns algoritmos ao longo


do capítulo. A seguir, podemos analisar o Algoritmo 3 para o método de mínimos
quadrados discreto.

Algoritmo 3
Leitura
Entrada: xi, yi, i = 0, 1, ..., m, n (grau polinômio). Façamos os seguintes cálculos:
Para mais detalhes sobre o
• dos coeficientes de A: método dos quadrados mí-
nimos, sugerimos a leitura
do material: Ajuste de curvas
a ij   k 0x ik j2 , i  1,...n  1, j  1,...n  1
m
pelo método dos quadrados
mínimos, do professor
Marcone J. F. Souza, do
• de b: Instituto de Ciências Exatas
e Biológicas, da Univer-
bj   k 0y k .x kj1 , j  1,...n  1
m
sidade Federal de Ouro
Preto (UFOP), pois nele
é possível encontrarmos
Com isso, a resolução de A · x = b é: alguns exemplos de ajustes
feitos por diferentes curvas:
 a0  reta, exponencial, hipér-
a  bole, entre outras. Além
a   1 x da construção teórica, o
 ...  material também apresenta
 
a n  exemplos resolvidos de
diferentes curvas a serem
ajustadas.
Saída: a0, a1, ..... an.
Disponível em: http://www.decom.
ufop.br/prof/marcone/Disciplinas/
MetodosNumericoseEstatisticos/
Vejamos na sequência quando devemos aplicamos o método dos mínimos qua- QuadradosMinimos.pdf. Acesso em:
10 ago. 2022.
drados contínuo.

Interpolação e ajuste de curvas 105


4.4.2 Aproximação: mínimos quadrados contínuo
O processo de análise teórica para o caso contínuo é bastante similar ao do
discreto. As mudanças que veremos ocorrem devido às operações empregadas,
pois, no caso de funções contínuas, precisamos calcular a soma do quadrado dos
resíduos por meio do uso de integrais, que nos permitem encontrar o valor da área
formada pela região de intersecção entre duas funções.

No caso contínuo, temos: δ(x) = f(x) – g(x).

O critério para encontrarmos os coeficientes de g, a0, a1, ....an, é o de minimizar-


mos a integral dos quadrados dos resíduos no intervalo considerado, isso é:

min  2  x  dx   (f  x   g  x )2 dx
b b
a a

Vejamos a representação na Figura 15.


Figura 15
Resíduo entre f e g

f(x)

g(x)

a b x

Fonte: Elaborada pela autora.

Seja f ∈ C[a, b] e Pn(x) polinômio de grau n, tal que Pn(x) esteja próximo de f.
b
Com isso, temos que a norma dois ou a norma euclidiana dada por f   af(x ) dx
2
2
mede o tamanho de f e calcula a proximidade entre as funções no espaço de fun-
ções contínuas.

Assim, precisamos calcular os coeficientes de forma que R  a0 ,...a n    f  x   Pn  x  


R  a0 ,...a n    f  x   Pn  x   22 seja o menor possível, isso é:

min R  a0 ,...a n    (f  x   Pn  x )2 dx


b
a

Seja Pn  x i    a k x ik . Então,
n
k 0

R   f ( x )2 dx  2 f  x  .Pn  x  dx   (Pn  x )2 dx


b b b
a a a

R   f ( x )2 dx  2 k 0a k  f  x  .x k dx   (  k 0a k x k )2 dx
b n b b n
a a a

R   f ( x )2 dx  2 k 0a k  f  x  .x k dx    j0 k 0a jak x jxkdx


b n b b n n
a a a

R   f ( x )2 dx  2 k 0a k  f  x  .x k dx   j0 k 0a ja k  x j k dx


b n b n n b
a a a

106 Cálculo Numérico


Como E  0, k , temos:
a k
2 f  x  .x k dx  2 j0 k 0a j  x j k dx  0
b n n b
a a

 j0a j  ax jkdx   af  x  .xkdx , k  0,1,....n


n b b

Desse modo, obtemos um sistema de equações normais com n + 1 incógnitas


e n + 1 equações da forma:

 a bx0dx  a bx1dx  ...  a bx ndx  bf x  x0dx


 0 a 1 a n a a  

 a0  x dx  a1  x dx  ...  a n  x dx   f  x   x dx
b 1 b 2 b n 1 b 1
 a a a a
 
 b
a0 x ndx  a1 x n 1dx  ...  a n x2ndx  f  x   x ndx
b b b
 a a a a
Os coeficientes da matriz do sistema são calculados sempre da mesma forma,
ou seja, não dependem da função f, mas só do intervalo (a, b) onde f está sendo
aproximado. Contudo, o termo independente depende de f, assim como o termo
independente depende de yi no método discreto.

Exemplo 5
2
Devemos ajustar um P2(x) = a0 + a1x + a2x à função f(x) = sen(x) em [0, π]
usando MMQ.
Solução
Temos o seguinte sistema de equações:

a x0dx  a x1dx  a x2dx  sen x  x0dx


 0 0 1 0 2 0 0  
  1  2  3 
a0  0x dx  a1  0x dx  a2  0x dx   0sen  x   x dx
1


a x2dx  a x3dx  a x 4dx  sen  x   x2dx
 0  0 1 0 2 0 0
Portanto,

 2 3
 a 0   a1  a 2  2
 2 3
 2 3 4 
 a 0  a1  a 2   xsen  x  dx
2 3 4 0

 3 4 5  2
a0  a1  a2   x sen  x   dx
 3 4 5 0


Resolvendo esse sistema pelo método de Gauss, e tomando por base que  0xsen  x  dx  
 2 122  120 602  720
e  x sen  x   dx  2  4 , obtemos: a0  , a1 
4
e
0 3
602  720
a2  . Logo,
5

122  120  602  720   602  720  2


P2  x     x    x
3  4 5
   

Interpolação e ajuste de curvas 107


Vejamos a representação do Exemplo 5 na Figura 16.
Figura 16
Gráfico de P2(x)

Fonte: Elaborada pela autora.

Sobre os mínimos quadrados ponderados, quando desejamos atribuir diferen-


tes graus de importância aos pontos conhecidos de f, podemos usar o peso na
aproximação, em diferentes situações:

 i0w  xi  .r2  xi 
m
• no caso discreto:
Vídeo
 aw  x  .r  x  dx ,
b
• no caso contínuo: 2 onde w(x) é uma função contínua e
Sugerimos dois vídeos do w(x) > 0 em (a, b)
canal UNIVESP que auxi-
liam no uso de planilhas Para exemplificarmos a função peso:
eletrônicas para o ajuste de
1
curvas sendo, respectiva- • w x  , x   1, 1 . Essa função atribui menos peso à região central do
mente, a Aula 12: ajustes de 1  x2
curvas usando planilhas ele- intervalo e dá mais ênfase aos pontos próximos aos extremos do intervalo.
trônicas I e a Aula 13: ajustes
de curvas usando planilhas Outras funções peso:
eletrônicas II.
–x
Disponível em: https://www.youtube.
• w(x) = e , x ∈ (–∞,∞)
–x2
com/watch?v=RaCjngm5LTE. • w(x) = e , x ∈ (–∞,∞)
Disponível em: https://www.youtube.
com/watch?v=kFZ3arLEt98. Portanto, com os conceitos apresentados, conhecemos uma das principais fer-
Acessos em: 10 ago. 2022.
ramentas de aproximação de funções para pontos (ou entre outras funções).

CONSIDERAÇÕES
FINAIS
Os métodos de interpolação e de aproximação apresentados neste capítulo talvez
sejam os métodos mais aplicados nas mais diversas áreas do conhecimento, pois são
métodos que exigem informações que, no geral, estão apresentadas de maneira ex-
plícita no problema. Além disso, os conceitos matemáticos envolvidos no processo são
amplamente conhecidos e eles podem ser manipulados com bastante versatilidade,

108 Cálculo Numérico


junto ao controle dos erros inerentes a esse processo. Logo, sim, os métodos numé-
ricos sempre apresentam erros que precisam ser avaliados, para que estejam dentro
de uma margem aceitável para cada aplicação.
Por exemplo, na área socioeconômica, muitos modelos exigem o cálculo de fun-
ções de regressão, que podem ser lineares, quadráticas, simples, múltiplas, entre
outras. Elas permitem a avaliação futura de situações práticas da área. Métodos
como regressão linear ou a regressão múltipla são analisados e resolvidos perante
o método dos mínimos quadrados e comparados a análises estatísticas que vali-
dam os resultados e permitem a aplicação das prospecções desejadas. Além dele,
os métodos de interpolação também são bastante versáteis e encontrados dentro
e fora das ciências exatas.
Portanto, compreender cada um desses principais métodos permite-nos resolver
uma extensa gama de problemas no âmbito do cálculo numérico das mais diversas
áreas do conhecimento.

ATIVIDADES
Atividade 1
Explique com suas palavras o motivo da matriz de Vandermonde ter um deter-
minante diferente de zero e, portanto, o sistema de equações a ela associado
apresentar sempre solução.

Atividade 2
O erro nos métodos de interpolação de Lagrange e de Newton estão associados
ao grau do polinômio interpolador? Explique.

Atividade 3
Descreva a necessidade do uso de derivadas parciais para o cálculo dos métodos
dos mínimos quadrados.

REFERÊNCIAS
ARENALES, S. H. V.; DAREZZO, A. Cálculo numérico: aprendizagem com apoio de software. São Paulo:
Thomson Learning, 2008.
CAMPOS FILHO, F. F. Algoritmos numéricos: uma abordagem moderna de Cálculo Numérico. 3. ed. São
Paulo: LTC, 2018.
CHAPRA, S. C.; CANALE, R. P. Métodos numéricos para engenharia. 7. ed. Porto Alegre: AMGH, 2016.
GUIDORIZZI, H. L. Um curso de cálculo. 5. ed. Rio de Janeiro: LTC, 2001. (Vol. 1)
JUSTO, D. A. R. et al. (org.). Cálculo Numérico: um livro colaborativo. Porto Alegre: UFRGS, 2020. Disponível
em: https://www.ufrgs.br/reamat/CalculoNumerico/livro-sci/livro-sci.pdf. Acesso em: 18 ago 2021.
LOBÃO, D. C. Introdução aos métodos numéricos. Rio de Janeiro: UFF, 2017. Disponível em: https://www.
professores.uff.br/diomarcesarlobao/wp-content/uploads/sites/85/2017/09/note6.pdf. Acesso em: 18
ago. de 2022.

Interpolação e ajuste de curvas 109


5
Integração numérica
Um método de integração numérica é um processo adotado quando, no geral, não
se conhece a função em todos os seus pontos ou em um trecho especificado. Também
podemos usar esse método quando não conseguimos integrar analiticamente uma
determinada função.
Integrar numericamente consiste em aproximarmos a integral de uma função f(x)
às variáveis usando, para isso, um polinômio o qual é construído a partir da interpola-
ção de pontos, que podem estar distribuídos ao longo do domínio com espaçamentos
constantes.
Cada uma dessas escolhas sobre qual polinômio usar nos leva a diferentes méto-
dos, e a precisão de cada um deles depende das condições e restrições do modelo
matemático e físico a ser resolvido. Logo, é sobre o estudo dessas escolhas que este
capítulo está focado.
Objetivos de aprendizagem
Com o estudo deste capítulo, você será capaz de:
• compreender os conceitos de discretização de um domínio e de propriedades
de quadratura;

• compreender e aplicar métodos de integração para domínios com discretização


com diferentes espaçamentos;

• calcular a área sob funções por meio de métodos com domínio discretizado;

• aplicar a composição de regras de quadratura.

5.1 Integração numérica


Vídeo
É provável que a primeira integração numérica que tenhamos realizado, muitas
vezes, sem mesmo darmos conta disso, tenha sido a integral de Riemann.

Nesse processo de integração, particionamos o domínio da função em subin-


tervalos (xi–1, xi) e calculamos a área entre a função e o eixo x em cada uma des-
sas partições, somando todos esses resultados ao final, de tal forma que podemos
escrever:
n
f  ci  xi
i 1

A Figura 1 representa a discretização do domínio de uma função de maneira que


é possível perceber a aproximação entre a área da função em relação ao eixo das
abscissas e a área dos retângulos a partir desse processo de discretização.

110 Cálculo Numérico


Figura 1
Discretização da área da função f(x) em relação ao eixo das abscissas

a C1 C2 C3 C4 C5 C6 b x

Fonte: Elaborada pela autora.

Essa discretização do domínio e cálculo discreto é um processo numérico.

No caso específico da soma de Riemann aplicada ao cálculo de áreas de funções


de uma variável, após a discretização assumimos que maxΔxi → 0, para i = 0, 1, …, n.
Esse processo permite-nos dizer que a avaliação está sendo feita para um domínio Vídeo
contínuo da função (e não mais discreto) e, com isso, obtemos a integral de Rei- O vídeo Integral definida
como o limite de uma soma
 af  x  dx  ” lim  i0xi  f  xi 
b
mann: desde que o limite exista.
n
x i 0 de Riemann, disponível
no canal Khan Academy
Neste capítulo, estudaremos aproximações que são avaliadas quando não é
Brasil, complementa a ideia
possível ou desejado trabalhar com um domínio contínuo. Os métodos abordados elaborada por Bernhard
Riemann.
a seguir são construídos a partir de partições do domínio, as quais chamamos de
Disponível em: https://youtu.be/Yzl-
discretização. Portanto, assumiremos como ponto de partida que:
vpPBhw8. Acesso em: 12 ago. 2022.

 af  x  dx   i0aif  xi 
b n

ou seja, a integral é calculada aproximadamente por meio de uma soma pondera-


da de valores da função em pontos escolhidos dentro do intervalo de integração
[a, b], onde {a i }ni =1 são os pesos assumidos.
Alguns métodos que serão vistos neste capítulo, como os de Newton-Cotes, são
muito similares a esse processo.

Um método de integração numérica é um processo adotado quando, em geral,


não se conhece a função em todos os seus pontos ou em um trecho especificado.
Também podemos usar os métodos de integração numérica quando não consegui-
mos integrar analiticamente uma determinada função.

Alguns dos casos nos quais adotamos a integração numérica são:


• se a função f é conhecida apenas em alguns pontos, e queremos ajustar uma
função polinomial e integrar a função ajustada;
• se a função f é conhecida a partir de sua lei, mas não conseguimos integrar
por meios analíticos.

Integração numérica 111


Atenção No caso do ajuste polinomial, inicialmente, precisamos selecionar alguns nós
O grau do polinômio de- {x0, x1,..., xn} de [a, b]. Em seguida interpolamos um polinômio aos nós, para isso,
pende da quantidade e dos
nós selecionados. por exemplo, podemos usar o método de Lagrange.

Por fim, precisamos integrar o polinômio e avaliar o erro no cálculo. Vejamos a


representação a partir da Figura 2.
Figura 2
Integração numérica

Pn (x)

a = x0 x1 b = xn x

Fonte: Elaborada pela autora.

Usaremos o método de Lagrange para interpolar o polinômio que é usado no


cálculo da integral aproximada da função f(x). Assim, teremos que Pn(x) = y0L0(x)
+ … + ynLn(x).
Sejam x0, x1,...,xn e Pn(x), a função interpolada, então, é:

f(x) = Pn(x) + Erro(x)


Integrando ambos os lados da igualdade, escrevemos:

f
n 1
f  x  dx   Pn  x  dx  
 c  dx
a  i 0
 x  xi 
b b b
a
n x
a  n  1 !

 af  x  dx   aPn  x  dx  E
b b

Supondo E ≈ 0, e como Pn  x    i 0y iLi  x  , então,


n

 
 af  x  dx   a  i0f  xi  Li  x  dx   i0 f  xi   aLi  x  dx 
b b n n b

Logo,

 af  x  dx   i0aif  xi 
b n

Onde a i   Li  x  dx
b
a

Dependendo do número de nós considerados e do espaçamento entre os nós,


várias fórmulas podem ser construídas. Neste capítulo, veremos duas propostas: a
primeira leva em consideração a discretização do domínio em espaços de mesmo
tamanho; e a segunda tem em conta a discretização do domínio em partições que
podem ser de tamanhos variados.

112 Cálculo Numérico


5.2 Regras de Newton-Cotes
Vídeo Quando adotamos a discretização do domínio em espaços de mesmo tamanho,
ou seja, nós igualmente espaçados, estamos trabalhando com métodos de integra-
ção numérica na formulação chamada Newton-Cotes.

As regras chamadas de Newton-Cotes ou quadratura de Newton-Cotes são um


grupo de regras de integração numérica desenvolvidas por Isaac Newton (1643–
1727) e Roger Cotes (1682–1716) conjuntamente, elas permitem o cálculo da área
Figura 3
Isaac Newton
sob funções por meio da partição do domínio de pontos igualmente espaçados.

Nesse sentido, ainda podemos dividir as regras de integração em dois casos:


fórmulas fechadas e fórmulas abertas.

De acordo com Chapra e Canale (2016, p. 549), “as formas fechadas são
aquelas nas quais os dados nos extremos inicial e final de integração são
conhecidos [...]. As fórmulas abertas têm extremos de integração que se
estendem além do intervalo dos dados”.

Anteriormente, ao escrevermos que:


tock
utters

 af  x  dx   i0aif  xi 
b
z/Sh

n
avu
ci Y
Na

significa que estamos calculando uma integral numérica por uma fórmula de
Newton-Cotes fechada.
Newton foi um renomado físico, Sabemos disso, pois temos identificado os valores para a discretização do domí-
astrônomo e matemático da
Inglaterra. Suas contribuições nio que percorrerá i = 1, …, n para cada xi.
foram inúmeras, principalmente
por parte da Lei da Gravitação No caso de uma fórmula dita aberta, os extremos não fazem parte do domínio
Universal e as chamadas Três Leis da função, tendo, desse modo, a expressão para a integração numérica escrita na
de Newton, até hoje usadas em
estudos da área. forma:
n 1
 af  x  dx   i1 aif  xi 
b

onde xi terá i=1, …,n-1, portanto, um intervalo aberto para x0 e xn. Nesse caso, os
pesos são calculados de maneira similar.

A seguir, desenvolvemos algumas das regras (do trapézio e de Simpson) ou fór-


mulas de Newton-Cotes mais utilizadas no cálculo numéricos.

5.3 Regra do trapézio


Vídeo A regra do trapézio recebe esse nome, justamente, pelo formato observado no
ajuste entre a função original e a integração numérica (Figuras 4 e 5).

Integração numérica 113


Figura 4 Figura 5
Regra do trapézio Regra do trapézio (rotação dos eixos)

y0 y1
y y
f (x) a = x0
y1

P1(x)
y0 P1(x)

a = x0 b = x1 x
Fonte: Elaborada pela autora.
b = x1
f (x)
x
Fonte: Elaborada pela autora.
2
Assim, seja f ∈ C [a, b], com a = x0, b = x1. A área de um trapézio na geometria
plana é calculada por:

A
 base maior  base menor  altura
2

Portanto, observando as Figuras 4 e 5, teremos:


b
h
 af  x  dx  (P1  x ) dx  2   y 0  y1 
b

Usando a interpolação de Lagrange, teremos:

P1 (x) = y0L0(x) + y1L1(x)


Além disso, h = x1 – x0 = b – a

Portanto,

 af  x  dx  a0y0  a1y1
b

onde a0   aL0  x  dx e a1   L1  x  dx
b b
a

Calculando os valores de a0 e a1, temos:


b x  x1 h
a0   dx 
a x 0  x1 2
b x  x0 h
a1   dx 
a x1  x 0 2

Com isso, podemos escrever:

h
 af  x  dx  2  y0  y1   E
b

Onde,

f   c x 
E    x  x 0   x  x1 
b
dx
a 2!
O cálculo de E depende de uma função de cx que ainda não conhecemos.

114 Cálculo Numérico


Para analisarmos o erro, usamos o teorema do valor médio (TVM) para as inte-
grais. Já para os casos gerais, o TVM nos permite escrever que assumindo f ∈ C [a, b],
se existe w(x) que não muda de sinal no intervalo entre a e b, então, existe
c ∈ (a, b), tal que:

 aw  x  f  x  dx  f  c · b  a   aw  x  dx
b b

Particularmente se w(x) ≡ 1, teremos:

 af  x  dx  f  c · b  a 
b

Considerando w(x) = (x – x0)(x – x1), então w não muda de sinal em [x0, x1].
Com isso, existe ξ ∈ (x0, x1) = (a, b) tal que:

1 b 1 h3
 x  x0   x  x1  f   c x  dx  f       x  x0   x  x1  dx   f    
b

2 a 2 a 12
Onde h = x1 – x0.

Logo, a fórmula para a integração numérica pela regra de trapézio é escrita da


seguinte forma (1):

h h3
 af  x  dx  2  y0  y1   12  f     ,    x0 , x1 
b
(1)

Para minimizarmos o erro, precisamos fazer com que o domínio seja discreti-
zado em espaços cada vez menores. Pormenorizamos essa discretização a seguir.

5.3.1 Regra do trapézio composta


Em qualquer método numérico proposto, temos um erro implícito. Dessa forma,
tentar minimizar o erro gera novos métodos ou ajustes nos métodos existentes.

No caso da regra do trapézio, a proposta de melhoria acontece pela partição


do intervalo (Figura 6) e pela análise de cada um desses subintervalos por meio da
Equação 1.
Figura 6
Partição do intervalo (ao meio)
y
f (x)
y2

y1
P1(2) (x)

h = (b – a)/2

P1(1) (x)
y0

h h

a = x0 x1 b = x2 x

Fonte: Elaborada pela autora.

Integração numérica 115


Particionando (ou discretizando) o intervalo em mais partes, teremos o que está
representado nas Figuras 7 e 8.

Figura 7 Figura 8
Partição do intervalo Partição do intervalo

y y
f(x) f(x)
y3 y4

h = (b – a)/3 h = (b – a)/4

y0 y0

a = x0 x1 x2 b = x3 x a = x0 x1 x2 x3 b = x4 x
Fonte: Elaborada pela autora. Fonte: Elaborada pela autora.

Dessa forma, generalizando esse processo para n + 1 pontos com a = x0 e b = xn


ba
e assumindo f ∈ C2 [a, b], teremos h  , x j  a  jh , com j = 0, 1, ..., n.
n
Então, existe ξ ∈ (a, b) tal que conforme (2).

 b  a   h2  f 
 af  x   dx  2   f  a   2   j1 f  x j   f  b  
h n 1

b
(2)
12

Vejamos a seguir o Exemplo 1.

Exemplo 1
1
3 1
Seja a função f(x) = x , para x ∈ [0,1] e x3dx 
0
4
Utilizemos a regra do trapézio para integrarmos numericamente essa função adotando 3,
4 e 5 pontos. Após esse processo, analisemos o erro comparado e o resultado numérico
com a solução exata.

Assumindo três pontos: (0,0), (1/2; 1/8) e (1,1), temos:

h
I f  x0   2f  x1   f  x2  
2

ba
h  1/2
2

Logo,

1 1  5
I  0  2   1   0, 3125
4  8   16

Vejamos a representação da função com 3 pontos na Figura 9.

116 Cálculo Numérico


Figura 9
Trapézio com três pontos

Área aproximada = 0.31


Área verdadeira = 0.25

Erro = 0.31– 0.25


= 0.06

Fonte: Elaborada pela autora com o software GeoGebra.

Agora, assumindo quatro pontos: (0,0), (1/3, 1/27), (2/3, 8/27) e (1,1), temos:

h
I f  x0   2f  x1   2f  x2   f  x3  
2

Logo,

1  1   8   5
I  0  2   2   1   0, 2778
6  27   27   18

Agora, vejamos a representação da função com 4 pontos na Figura 10.


Figura 10
Trapézio com quatro pontos

Área aproximada = 0.28


Área verdadeira = 0.25

Erro = 0.28–0.25
=0.03

Fonte: Elaborada pela autora com o software GeoGebra.

Integração numérica 117


Assumindo cinco pontos: (0, 0), (1/4, 1/64), (2/4, 8/64), (3/4, 27/64) e (1,1), temos:

h
I f  x0   2f  x1   2f  x2   2f  x3   f  x 4  
2

ba 1
h 
4 4

Logo,

1  1   8   27   17
I  0  2   2   2   1   0, 265625
8  64   64   64   64

Por fim, vejamos a representação da função com 5 pontos na Figura 11.


Figura 11
Trapézio com cinco pontos

Área aproximada = 0.27

Área verdadeira = 0.25

Erro = 0.27–0.25
=0.02

Fonte: Elaborada pela autora com o software GeoGebra.

Vejamos a Tabela 1 que resume o que fizemos até aqui.


Tabela 1
Comparação entre a solução exata e a solução aproximada

Solução I Erro absoluto


1
Solução exata 0
4

Trapézio 5 1 5
  0, 0625
(3 pontos) 16 4 16

Trapézio 5 1 5
  0, 0278
(4 pontos) 18 4 18

Trapézio 17 1 17
  0, 015625
(5 pontos) 64 4 64

Fonte: Elaborada pela autora.

118 Cálculo Numérico


Podemos perceber que, ao aumentarmos a quantidade de pontos, minimiza-
mos o erro absoluto.

Até o momento, estamos construindo a integração assumindo uma interpo-


lação por dois pontos conhecidos. Contudo, podemos acrescentar um ponto (ou
mais) e, dessa forma, a interpolação será calculada para um polinômio de grau dois
(ou de maior grau). A tentativa é feita para minimizarmos o erro numérico. Uma
outra possibilidade, a regra de Simpson, abordada na sequência, assume 3 pontos
de integração em cada partição do intervalo.

5.4 Regra de Simpson


Vídeo
Para a construção da regra de Simpson, assumimos um intervalo de integração
4
(a,b) tal que f ∈ C [a, b], a = x0 e b = x2.
Figura 12
Regra de Simpson
y
f (x)
y2
y1
P2(x)

y0

h h

a = x0 x1 = m b = x2 x

Fonte: Elaborada pela autora.

Nesse caso (Figura 11), o polinômio será interpolado usando três pontos, x0, x1
e x2.
ba (x  x )
Como h  , então, m  x1  0 2  a  h , onde m é chamado de ponto mé-
2 2
dio do intervalo.

Adotando a interpolação de Lagrange para um polinômio de grau 2 e assumin-


do: x0 – x1 = –h; x1 – x0 = h; x0 – x2 = –2h; x2 – x0 = 2h; x1 – x2 = –h; e x2 – x1 = h,
teremos: P2 (x) = y0L0 (x) + y1L1(x) + y2L2(x)

Assim,

L0  x  
 x  x1   x  x 2 
 h   2h 

L1  x  
 x  x0   x  x2 
 h   h 

L2  x  
 x  x 0   x  x1 
2h  h 
Integração numérica 119
Portanto,
b x2

f  x  dx   P2  x  dx  Erro
a x0

Onde:
x2 x2 x x
y0 y1 2 y2 2
 P2  x  dx  2h2 x   x  x1   x  x2  dx  h2 x
 x  x 0   x  x 2  dx 
2h2 x
 x  x0   x  x1  dx
x0 0 0 0

O erro estimado será a integral do erro polinômio de Lagrange assumindo 3


pontos de interpolação. Dessa maneira, podemos escrever:
x2
f  x  dx   P2  x  dx  Erro
b
a
x0

Logo, conforme (3).

5
h h  4
 af  x  dx  3   y0  4·y1  y2   90  f    ,    x0 , x2 
b
(3)

Dessa forma, temos uma expressão para calcular a integral de uma função de
maneira numérica, usando para isso uma interpolação polinomial aplicando um
polinômio de grau 2.

A regra de Simpson como enunciada na Equação 3 é também chamada de Regra


1/3 de Simpson.

Analisemos o Exemplo 2.

Exemplo 2
1 3 1
Use a regra de Simpson para resolver  0x dx  4 e compare os resultados com o uso da
regra do trapézio.
Solução
Seja:
b b

f  x  dx  P2  x  dx  3  f  x0   4f  x1   f  x2 
h
Site
a a
O site Wolfram Alpha 3 1
apresenta uma gama de Se f(x) = x em [0,1] com pontos (0,0), (1/2,1/8) e (1,1) e h = , então,
2
ferramentas interativas, 1
que permitem ao usuário   
1  1
I  2 0  4    1 
a análise de resultados e a 3 8  4
visualização geométrica de 1
Note que, conhecendo o resultado exato para x3dx  1 , temos, que pelo método de
processos numéricos.
 4
Entre elas, está presente 0
Simpson, com ajuste por P2, obtemos erro zero e, portanto, não precisamos continuar tes-
uma ferramenta que permi-
te o cálculo e a visualização tando o método com um número maior de pontos.
das regras de Newton-
-Cotes usando diferentes
funções e partições do Comparado ao método do trapézio, o ajuste polinomial se mostrou muito mais
domínio.
eficiente e adaptável às curvas da função original.
Disponível em: https://
demonstrations.wolfram.com/ É possível trabalharmos com a regra de Simpson de maneira que, em um inter-
NewtonCotesQuadrature/. Acesso em: valo fechado [a,b], tenhamos conhecidos 4 pontos: x0, x1, x2 e x3 e, portanto, possa-
12 ago. 2022.
mos usar um polinômio interpolador de Lagrange P3 (x) para aproximar f(x).

120 Cálculo Numérico


Nesse caso, obtemos:
x2
f  x  dx   P3  x  dx  Erro
b
a
x0

Logo, temos (4) que também é chamada de Regra 3/8 de Simpson.

3h 3h5  4
f  x  dx    y 0  3  y 1  3y 2  y 3    f    ,    x 0 , x3 
b
a 8 80
(4)

Da mesma forma que trabalhamos com a regra do trapézio, é possível desenvol-


vermos a regra composta de Simpson. Analisaremos esse processo a seguir.

5.4.1 Regra de Simpson composta


Aplicando a regra de Simpson repetidamente no intervalo [a, b] = [x0, xn], obte-
4 ba
mos a expressão da integral da seguinte maneira: seja f ∈ C [a, b], em que h  ,
n
com n “par”, xj = a + j · h, onde j = 0, 1, ..., n. Existe ξ ∈ (a,b) tal que:

 n  b  a  h4
    f  4 
  1 n
 
h 
   j  1 2j    j1 2 j1     
b
af x dx  
3 
f a  2  2 f x  4  2 f x  f b
 180
 
Ou seja,
b
h
f  x  dx  3 f0  4f1  2f2  4f3  2fn 2  4fn 1  fn 
a
A partir disso, sugerimos o Algoritmo 1 o qual chamamos de algoritmo de Simp-
son que nos permite fazer a implementação da técnica na linguagem de programa-
ção que desejarmos e que tivermos mais habilidade.

Algoritmo 1

Entrada: f, a, b, n par
ba
Faça: h 
n
Faça:
• I0 = f(a) + f(b)
• I1 = 0
• I2 = 0

Para i = 1, ..., n – 1

Faça: X = a + i · h

Se i é par, então, faça: I2 = I2 + f(X)

Se não, realizemos: I1 = I1 + f(X)


h
Então, I    I0  2  I2  4  I1 
3
Saída (I): valor aproximado I da  f  x  dx
b
a

Integração numérica 121


Na próxima seção, generalizamos a regra do Trapézio e a regra de Simpson
no que chamamos de caso geral. Dessa forma, continuamos assumindo intervalos
fechados, contudo, a subdivisão entre dois pontos passa a ser escolhida de modo
que o grau do polinômio interpolador não dependa do método, mas do melhor
ajuste para cada problema.

5.5 Caso geral


Vídeo
O caso geral trata de quadraturas do tipo Newton-Cotes, onde para cada inter-
valo xi+1–xi podemos assumir n pontos de interpolação.

Seja um polinômio interpolador escrito pelo método de Lagrange adotando:

xi = x0 + i · h, i = 0, 1, ... n
ba
x0  a , x n  b, h 
n
Conforme representado na Figura 13.
Figura 13
Regra geral
y
Ln(x)

yn
y1 yn–1
y0
h h
a = x0 x1 xn–1 xn= b x

Fonte: Elaborada pela autora.

Então, conforme Justo et al. (2020), a integral fica:

 af  x  dx   i0ai ·f  xi 
b n

Onde:

a i   li  x  dx  
xn n  x  x j  dx
x0 
xn

j 0  x i  x j 
x0

j i
Portanto, se n par, temos:

h n 3 n n
f  x  dx   i 0a i  f  x i    f         t    t  t   t  1 t  n   dt ,    a , b  , f  Cn 2 a , b
b n 2
a
n

 n  2! 0  2

Se n ímpar, temos:

hn 2
f  x   dx   i 0a i  f  x i    f        t   t  1 t  n   dt ,    a , b  , f  Cn 1 a , b
b n 1 n
a
n

 n  1 ! 0

Nesse caso, o princípio continua sendo o mesmo adotado nos métodos do tra-
pézio e de Simpson. A escolha de n dependerá do erro associado em cada caso.

122 Cálculo Numérico


Assumindo n o grau do polinômio que interpola a função f e adotando uma fór-
mula de Newton-Cotes, o erro é descrito no Teorema 1.

Teorema 1
(n+2)
Seja f uma função com derivada f contínua em [a,b], e Pn o polinômio que interpola f em
pontos igualmente espaçados xi, i = 0, …, n do intervalo fechado [a, b].
Nessas condições, o erro:
xn
R n   f  x  dx   Pn  x  dx
b
a
x0

da fórmula de Newton-Cotes satisfaz:


• se n par:

hn 3f 
n  2
 n  t  n  t
Rn     t  1 t  n  dt ,  a , b
 n  2! 0
2 

• se n ímpar:

hn 2f 
n 1
   nt
Rn 
 n  1 !   t  1 t  n  dt ,  a , b
0

A escolha do método e da quantidade de nós está relacionada ao grau de exa-


tidão de uma determinada quadratura. Para fazermos essa escolha, levamos em
 xi , ai i0 . O grau de exatidão será m quando:
n
consideração os nós e os pesos
b n

f  x  dx  f  xi  ai
i 1
a

onde f(x) tem grau menor do que m. Formalmente, temos a Definição 1.

Definição 1
Seja uma quadratura numérica discretizada em xi pontos e ai pesos, com i = 0, 1, …, n. O grau
de exatidão m é avaliado para os valores de k tais que:

n
(5)
 ax dx  
b k k
xi ai , para todo k ≤ m
i 0

Partindo dessa definição, sugerimos algumas formas de uso para as regras de


Newton-Cotes:
• 2 pontos x1 e x2 – precisão 1;
• 3 pontos x1, x2 e x3 – precisão 2 (e 3);
• 4 pontos x1, x2, x3 e x4 – precisão 3;
• 5 pontos x1, x2, x3, x4 e x5 – precisão 4 (e 5).

Integração numérica 123


Vejamos o Exemplo 3.

Exemplo 3
Calculemos o grau de exatidão para a Regra de Simpson. Para isso, avaliaremos para quais
valores de k vale a expressão:
b
b  a  f ab 
k

x dx    a   4f    f  b 
k

a
6   2  
• para k = 0:
b

x dx  x a  b  a
0 b

 b  a   a0  4  a  b 0  b0   b  a
  2  
6    
• para k = 1:
b b
x2 b2 a2
x dx   
1

a
2 a 2 2

 b  a   a1  4  a  b 1  b1   b2  a2
  2  
6     2 2

• para k = 2:
b b
x3 b3 a3
x dx   
2

a
3 a 3 3

 b  a   a2  4  a  b 2  b2   b3  a3
  2  
6     3 3
• para k = 3:
b b
x4 b4 a 4
x dx   
3

a
4 a 4 4

 b  a   a3  4  a  b 3  b3   b4  a4
  2  
6     4 4
• para k = 4:
b b
x5 b5 a5
x dx   
4

a
5 a 5 5

 b  a   a4  4  a  b 4  b4   5b5  5a5  a4b  2a3b2  2a2b3  b4a  b5  a5


  2  
6     24 5 5

Portanto, o grau de exatidão será k = 3.

Os métodos vistos até o momento são chamados de Newton-Cotes fechados. No


entanto, o procedimento para os métodos abertos é similar e pode ser facilmente
deduzido. Lembrando que um método dito aberto é aquele em que os extremos
dos intervalos não são avaliados como nós da quadratura.

124 Cálculo Numérico


5.6 Regras de quadratura gaussiana
Vídeo As regras de Newton-Cotes são definidas para espaçamentos de igual tama-
nho, como vimos nas seções anteriores. Contudo, em alguns casos conseguimos
minimizar o erro trabalhando com espaçamentos variáveis. Entre as quadraturas,
os métodos que permitem espaçamentos variáveis entre os nós são chamados de
quadraturas gaussianas ou quadraturas de Gauss.

A ideia do matemático Carl Friedrich Gauss (1778–1855), foi a de liberar os nós


Figura 14 de integração, deixando-os livres de forma a minimizar o erro de aproximação (6).
Carl Friedrich Gauss
b n

f  x  dx  aif  xi 
i 0
(6)
a

Para xi pertencente a um intervalo fechado de a até b, fazendo com que (6)


seja exata para polinômios de grau igual ou menor que 2n + 1.

 af  x  dx   i0ai ·f  xi   Gn  f  , devemos escolher os pontos


b n
Assim, sendo
(nós) de interpolação (espaçamento qualquer): x0, x1, x2,..., xn, e os coeficien-
tes (pesos): a0, a1, a2,..., an, tal que a fórmula de integração nos dê valor exato
rstock

se f for um polinômio de grau menor ou igual a 2n+1. Dessa forma, se


hutte
ku/S
Nic

 af  x  dx   i0ai ·f  xi   R n 1
b n
(7)

então, o resto é Rn+1 = 0.


Johann Carl Friedrich Gauss foi
Nesse contexto, estudamos um método chamado de Gauss-Legendre ou qua-
um matemático que contribuiu
enormemente para as mais dratura gaussiana (Figura 15), nele se faz uma substituição da função f(x) por um
diversas áreas da ciência, como
polinômio ortogonal que nos leva a uma aproximação satisfatória no intervalo
a matemática, a astronomia e a
física, com diferentes teorias que determinado.
são usadas ainda nos dias de hoje.
Figura 15
Quadratura gaussiana
Site
Integrando
  x2i  1 w i  1.33333
2
O site Wolfram Alpha
também oferece uma ferra- 3 i 1
menta que permite o cálcu-
lo e a visualização da classe
de métodos chamada de
2 
2
2
x 2

 1 dx

quadratura Gaussiana, 1 = 1.3333333333333333333


usando diferentes funções
e partições do domínio.
–2 –1 1 2
Disponível em: https://
demonstrations.wolfram.com/ –1
GaussianQuadrature/. Acesso em: 12 Pesos e pontos de amostragem
ago. 2022.
w1 w2 1.8
1.6
Estimativa

1.4 Integral verdadeira


1.2
1.0
0.8
x1 x2 2 4 6 8 10 12 14 16 18 20
Quantidade de pontos
Fonte: Maes; Antonov, 2011.

Integração numérica 125


Outros polinômios ortogonais podem ser aplicados com a mesma finalidade.
1
Acerca disso, para ampliar o nosso repertório, podemos pesquisar a respeito dos
Há diferentes grafias para
1
o nome que, dependendo métodos de Gauss-Laguerre, Gauss-Hermite e os polinômios de Chebyshev .
da transliteração de cirílico,
pode aparecer como: Na sequência, explicamos sobre o método de quadratura de Gauss-Legendre e
Chebysheff, Chebychov, resolvemos alguns exemplos sobre esse tema.
Chebyshov, Tchebychev,
Tchebycheff, Tschebyschev.

5.6.1 Resolução da integral usando o


polinômio ortogonal de Legendre
Anteriormente, vimos que uma aproximação por quadratura gaussiana é cons-
truída em cima da escolha de polinômios ortogonais que permitirão uma aproxi-
mação razoável para a substituição de f(x).

Assim, seja um conjunto de polinômios {φi(x)}, em [a,b] de graus 0, 1, ... Se

2 i  x  , j  x   0, se i  j 2
 (8)
A notação 〈⋅ ,⋅〉 repre-
i  x  , j  x   0, se i  j
senta o produto interno
entre vetores. Temos que
b então o conjunto {φi (x)} é dito ortogonal.
 f , g  f  t  gt )dt
a
O método chamado de Gauss-Legendre é um dos métodos que compõem a clas-
se chamada de quadratura gaussiana. Esse método leva em consideração o uso de
polinômios ortogonais de Legendre, conforme a Definição 2 sobre essa estrutura.

Definição 2
Seja um conjunto de polinômios ortogonais em relação a uma função peso w(x), denotado por
{φi (x)}, em [a,b]. Então, a integral:  aw  x ·f  x  dx   i1ai ·f  xi  , onde xi, com i = 1, ... n, são
b n

zeros de φn (x), e os ai precisam ser determinados.

Um polinômio de Legendre de grau n, Pn (x), é da forma:

1 dn  2
 
n
Pn  x   x 1  (9)
2 n ! dx n 
n


Essa representação é chamada de fórmula de Rodrigues, nela, o polinômio de


2 n
Legendre é escrito com relação aos termos de n diferenciações do binômio (x – 1)
(TEODORO, 2017).

Tais polinômios, quando adotados para o processo de integração numérica, são


acoplados a pesos definidos em (10).

2
ai 
(10)
a  x  P'  x 
2
2
i n i

onde Pn'  x i  é a derivada do polinômio de Legendre em (9) e

n Pn 1  x   xPn  x  
Pn'  
1  x2

126 Cálculo Numérico


Assumindo um intervalo [–1,1] e peso w(x) = 1, obtemos os seguintes polinômios
de Legendre:

P0  x   1
P1  x   x
3 1
P2  x   x2 
2 2

2
1

P3  x    5x3  3x 




2n  1 n 1
Pn  x   ·x·Pn 1  x   ·Pn 2  x  , n  2
n n
2
 1Pn  x  dx  2n  1
1
Notemos que se os polinômios forem iguais, então
2

(KREYSZIG, 2008).

Assim, os polinômios de Legendre (Figura 16) são polinômios ortogonais e per-


tencem a {φi(x)}.
Figura 16
Alguns polinômios de Legendre

Alessio Damato/Wikimedia Commons

Adotando um intervalo fechado [-1, 1], teremos que

(11)
 1Pi  x ·Pj  x  dx  0 para i ≠ j
1

Seja Pn (x) um polinômio de Legendre com zeros em x1,x2,...,xn em [-1,1]. Então,


n x  xj
 1P  x  dx   i1ai ·P  xi  , onde o grau(P) < 2n e ai   1 j1 xi  x j dx .
1 n 1

i j
Assim,

P  x   Pn  x  Q  x   R  x 

   
     
grau 2n grau n grau  n grau  n

Integrando essa equação em [-1,1], temos:

 1P  x  dx   
P  x  Q  x  dx   R  x  dx
1 1 1
1 n 1

 0 por 11

Integração numérica 127


Dessa forma, quando usamos n nós para interpolarmos a função, o polinômio
interpolador coincide com R(x).

Isso nos permite escrever: R(x) = R(x1) · L1(x) + … + R(xn) · Ln (x), onde x1, …,
xn , são os zeros do Polinômio de Legendre Pn (x).

 1R  x  dx   i1R  xi ·ai onde ai   1Li  x  dx


1 n 1
Assim,

Logo:

P(xi) = Pn(xi) · Q(xi) + R(xi) = R(xi) (12)

Então,

 1P  x  dx   1R  x  dx   i1aiP  xi 


1 1 n
(13)
3
Para n + 1 nós, o grau do x  xj
1 j1 x
1
sendo a i  
n 3
polinômio será ≤ 2n + 1.
dx e xi os zeros de Pn(x) e P qualquer polinômio de grau
i  xj
Já para n nós, temos o grau ≤ 2n – 1. j i

do polinômio ≤ 2n – 1.
O que fazer quando a função f não for um polinômio de grau ≤ 2n – 1?

Nesse caso,  1P  x  dx   i 1a iP  x i  , onde os xi são os zeros de Pn(x) e


1 n

1 n x  xj
ai    dx
j 1 x i  x j
1
.
j i
Leitura
Usando apenas 3 pontos em [–1,1], fazemos uma avaliação das fórmulas, con-
No material de aula do pro-
fessor Erivelton Nepomu- forme a Tabela 2.
ceno, Integração Numérica,
Tabela 2
da Universidade Federal
Comparação entre métodos
de São João del-Rei (UFSJ),
é possível analisarmos por
meio de uma outra técnica, Função Trapézio composto Simpson Gauss-Legendre
diferente das que apre-
sentamos neste capítulo, o 3 3
mesmo resultado encontra- Nós –1, 0, 1 –1, 0, 1 − , � 0,
5 5
do para o uso do método
de Gauss-Legendre. Além f(x) = x Exato Exato Exato
disso, Nepomuceno apre- 2
senta alguns exercícios re- f(x) = x Exato Exato
3
solvidos a partir do método f(x)=x Exato Exato
de Gauss-Legendre. 4
f(x) = x Exato
Disponível em: https://ufsj.edu.br/ 5
f(x) = x Exato
portal-repositorio/File/nepomuceno/
mn/10MN_Integracao1.pdf. Acesso Função qualquer
em: 12 ago. 2022.
Fonte: Elaborada pela autora.

Vejamos o Exemplo 4.

Exemplo 4
Usemos Gauss-Legendre para encontrarmos a solução da integral numérica
1
 1x dx  0
5

Solução
3 3
Para  1x dx  a1f  x1   a2f  x2   a3f  x3  , onde x1  
1 5
, x 2  0, x3 
5 5
5 5
e a1   L1  x  dx  ; a2   L2  x  dx ; a3   L3  x  dx 
1 1 1
1 9 1 1 9
5 5
 1x dx  9  0, 00498830  a2 0  9  0, 00498830  0
1
Portanto,
5

128 Cálculo Numérico


Vejamos também o Exemplo 5.

Exemplo 5
Calculemos:
10  t 2
0 e dt  ?

Solução
Primeiro, transformaremos [0,10] em [-1,1] por meio da fórmula t  1  b  a  x   b  a  
2
Portanto,
1
t  10x  10  5x  5 e dt = 5dx
2
Assim,
10  t 2 1 2
0 e dt   e(5x 5) 5dx
1

Isso quer dizer que f  t   e t , 0,10 assume os mesmos valores que f  x   e25( x 1) ,
2 2

[-1,1].
Portanto,

5 e(5x 5) dx  5 a1f  x1   a2f  x2  


1 2
1

Notemos que sempre calculamos a integral no intervalo no qual as funções são


ortogonais. Com isso, temos agora as ferramentas para pensamos em integrações
numéricas que dependem de uma discretização do domínio, onde os nós não estão
igualmente espaçados, mas o que é levado em consideração é a melhor aproxi-
mação possível do resultado numérico obtido, quando comparado ao resultado
alcançado por métodos analíticos.

CONSIDERAÇÕES
FINAIS
Entre os métodos existentes, apresentamos a classe de métodos chamada de
quadraturas de Newton-Cotes, que levam em consideração um espaçamento constante
para a discretização do domínio.
Também vimos que existem maneiras de calcular integrais numéricas com espa-
çamentos variados no domínio. Na classe de métodos chamada de quadratura gaus-
siana, que nos permite trabalhar com esse tipo de discretização, focamos no método
conhecido como Gauss-Legendre, que considera os polinômios ortogonais de Legendre
para resolver o método.
Mesmo na seção de integração numérica, usamos, muitas vezes, as técnicas de
interpolação, sendo a mais requisitada a interpolação de Lagrange, o que nos mostra
a interligação de todas essas abordagens e as muitas possibilidades de trabalharmos
e desenvolvermos novos métodos numéricos.
Portanto, percebemos que a área de métodos numéricos está em crescimento, e
o desenvolvimento de novos métodos nos leva a melhores resultados que, em muitos
casos, são os únicos possíveis quando não é admissível modelar matematicamente um
problema que possa ser resolvido por métodos analíticos.

Integração numérica 129


ATIVIDADES
Atividade 1
Explique a razão pela qual a integração de Riemann não é considerada um méto-
do numérico, mas sim um método analítico.

Atividade 2
Descreva por qual motivo, na regra do trapézio simples (Figura 1), as medidas
da base maior e base menor da figura geométrica do trapézio devem ser as
imagens do polinômio interpolado para os pontos x0 e x1.

Figura 1
Regra do trapézio simples

y0 y1
y
a = x0

P1 (x)

b = x1
f (x)
x
Fonte: Elaborada pela autora.

Atividade 3
Para que a regra de Simpson simples tenha valor exato, qual deve ser o grau do
polinômio interpolado? Justifique sua resposta e compare esse resultado com a
regra do trapézio.

REFERÊNCIAS
CHAPRA, S. C.; CANALE, R. P. Métodos numéricos para engenharia. 7. ed. Porto Alegre: AMGH, 2016.
JUSTO, D. A. R. et al. (org.). Cálculo Numérico: um livro colaborativo. Porto Alegre: UFRGS, 2020. Disponível
em: https://www.ufrgs.br/reamat/CalculoNumerico/livro-sci/livro-sci.pdf. Acesso em: 18 ago. 2022. (On-
line)
TEODORO, W. L. Soluções por séries de funções especiais. 2017. Dissertação (Mestrado profissional em
Rede Nacional) – Departamento de Matemática, Universidade Federal do Ceará, Fortaleza. Disponível
em: https://repositorio.ufc.br/bitstream/riufc/22446/3/2017_dis_wlteodoro.pdf. Acesso em: 18 ago. 2022.
KREYSZIG, E. Matemática superior para engenharia. 9. ed. LTC: Rio de Janeiro, 2008. v. 1.
MAES, C; ANTONOV, A. Gaussian Quadrature. Wolfram Demonstrations Project, 2011. Disponível em:
https://demonstrations.wolfram.com/GaussianQuadrature/. Acesso em: 18 ago. 2022.

130 Cálculo Numérico


6
Solução numérica para equações
diferenciais ordinárias
As equações diferenciais têm um papel central na descrição matemática dos fenô-
menos físicos ao nosso redor. Elas relacionam variáveis de interesse com suas taxas
de variação através do conceito de derivação.
Apesar de sua grande aplicabilidade para modelar fenômenos, possibilitando o seu
estudo, a solução analítica de equações é, em certos casos, um desafio. Ele começa
com o questionamento sobre a existência de soluções para o problema em estudo
e qual seria a natureza dessa solução a ser buscada para, então, encontrarmos uma
função que satisfaça o equacionamento.
Uma alternativa para obtenção analítica de soluções para equações diferenciais é a
solução numérica. Métodos numéricos de solução visam a aproximar uma resposta do
problema, fazendo simplificações, como o relaxamento dos operadores diferenciais e a dis-
cretização do domínio contínuo, aplicando as técnicas de projeção e as demais estratégias.
Historicamente, o desenvolvimento de trabalhos na área de métodos numéricos
para solução de equações diferenciais teve início com Isaac Newton (1643–1729),
Gottfried Wilhelm Leibniz (1643–1716) e com o próprio desenvolvimento do cálculo
diferencial e integral, mas só com Leonhard Euler (1707–1783), no século XVIII, que foi
possível um maior avanço nessa área.
Como veremos, Euler desenvolveu um processo iterativo que permite determinar,
de maneira aproximada, a solução de um problema de valor inicial em um determina-
do ponto. Entretanto, outros nomes importantes aparecem no crescimento da área
de métodos numéricos: Augustine-Louis Cauchy (1789–1857), em 1824, demonstrou
rigorosamente que, de fato, o processo iterativo apresentado por Euler solucionava
um problema de valor inicial. Esse resultado de Cauchy foi, mais tarde, melhorado
por Rudolf Lipschitz (1832–1908). Há muitos outros nomes que enriquecem o cálculo
numérico aplicado a equações diferenciais.
Com isso posto, veremos quais foram as descobertas e os desenvolvimentos com
relação aos métodos numéricos.
Objetivos de aprendizagem
Com o estudo deste capítulo, você será capaz de:
• desenvolver métodos de passos simples com base em expansão e em trunca-
mento de séries de Taylor;
• determinar a solução de problemas modelados por equações diferenciais por
meio dos métodos: de passos simples e de Adams;
• construir métodos de passos múltiplos;
• relacionar os métodos de Adams para criar um método preditor-corretor;
• comparar os diferentes métodos estudados;
• resolver sistemas de equações diferenciais partindo dos métodos estudados.

Solução numérica para equações diferenciais ordinárias 131


6.1
Vídeo
Métodos de passos simples
Dentro do contexto de equações diferenciais, os problemas de valor inicial (PVI)
são problemas nos quais conhecemos o estado inicial de um sistema (condição ini-
cial), e a evolução é dada em função da própria taxa de variação da função.

Um PVI definido por uma equação diferencial ordinária de primeira ordem com
condição inicial é chamado de problema de Cauchy (BURDEN; FAIRES, 2008) confor-
me Definição 1.

Definição 1
Um problema de valor inicial (ou de Cauchy) é um do seguinte tipo.

 du
  f  t , u  t 
 dt (1)
 u  t 0   u0


com u: R→R, f:R×R, t > t0, t0, u0 constantes reais. Quando resolvemos um PVI como na expres-
são em (1) desejamos encontrar o valor para u(t).

Uma vez enunciado o problema, é natural o questionamento sobre a existência


de uma solução para ele. Ainda, admitir uma solução não garante que ela seja úni-
ca. A unicidade da solução é principalmente desejada em casos nos quais há linea-
ridade do operador diferencial, pois a existência de uma segunda solução geraria
infinitas soluções por meio de combinações lineares. Com isso, devemos questio-
nar se a solução admitida para o problema é única.

Por fim, é importante haver uma relação contínua entre os dados de entrada
e a saída da função obtida como solução do PVI. Essa questão é traduzida como
a regularidade ou suavidade da função e tem um papel essencial na busca pela
própria solução.

Os PVI que serão trabalhados neste capítulo são chamados de problemas bem-
-postos. Um problema bem-posto é aquele que apresenta solução única e pouco
sensível quando se faz pequenas perturbações nas condições iniciais. Vamos en-
tendê-los na sequência a partir dos métodos de Euler, de Taylor e de Runge-Kutta.

Vídeo
6.1.1 Método de Euler
Este é primeiro método numérico: o método de Euler com passo constante
ou passo simples que é aplicado para resolver problemas de valor inicial como os
apresentados na Definição 1.

132 Cálculo Numérico


Dizemos que a discretização do domínio foi feita com passo constante (ou sim-
ples) quando os pontos da malha estão, todos, igualmente espaçados. Porém, o
que é uma discretização do domínio? O que são os pontos ou o espaçamento de
uma malha? Esses conceitos são necessários e repetidos em todas as seções deste
capítulo, portanto, seu entendimento é fundamental para prosseguirmos.

Discretização do domínio
Quando falamos em malha, primeiramente precisamos pensar na dimensão do
1
nosso domínio. Dessa forma, se t ∈ [a,b] em R , a representação da nossa malha
será unidimensional (Figura 1).
Figura 1
Malha unidimensional para a variável tempo

Δt = h

a = t0 ... ti–1 ti ti+1 ... b = tN


Fonte: Elaborada pela autora.

Observe pela Figura 1 que deixamos de trabalhar diretamente no domínio con-


tínuo de t e passamos a avaliar as funções em pontos discretos do intervalo que
definem uma malha de N + 1 pontos de coordenadas expressas em (2).

ti = a + ih
ba (2)
com i = 0, 1, 2, 3,...,N e h  t 
N
Ou seja, o que temos é:

a = t0
t1 = t0 + Δt1
t2 = t1 + Δt2

i i-1
t = t + Δti

tN = tN–1 + ΔtN = b
com Δt1 = Δt2= … =Δti = Δt = h
É dessa forma que visualizamos nossos domínios. Essa divisão realizada no do-
mínio em intervalos (nesse caso, igualmente espaçados) é chamada de discretiza-
ção do domínio.

Solução numérica para equações diferenciais ordinárias 133


Quando trabalhamos com um domínio em R2, nossa malha será bidimensional
(Figura 2).
Figura 2
Malha cartesiana bidimensional com espaçamento constante entre nós

tj Δti

Δtj

j+1

j
ti, j

j–1

i–1 i i+1 ti
Fonte: Elaborada pela autora.
i j
Nesse caso, temos um espaço bidimensional discretizado em intervalos Δt e Δt ,
para i, j = 0, 1, …, n.

Como não definimos o fenômeno físico o qual o problema representa, podemos


estar falando de espaço unidimensional e tempo, espaço bidimensional com coor-
denadas x e y ou outras duas variáveis quaisquer.

Solução aproximada para um intervalo discreto


 f  t , u  t   em um desses intervalos da
du
Observando a equação diferencial
dt
malha, podemos escrever conforme (3).

u(t i1 ) t i 1
u(t i ) du   i f  t , u  t   dt (3)
t

Isso resolveria o problema se solucionássemos a integral à direita da igualdade


analiticamente, mas não temos informações suficientes sobre f(t, u(t)), pois envol-
ve a própria resposta do PVI. É nesse ponto que entra a chamada aproximação do
comportamento da função.

A questão central aqui é escolhermos uma forma de aproximarmos a integral


envolvendo f(t, u(t)). Uma primeira estratégia é supormos que, dentro do intervalo
[ti, ti+1], o comportamento de f(t, u(t)) é aproximadamente constante. Intuitiva-
mente, essa aproximação é mais factível à medida que se refina a malha, ou seja,
se diminui h.

134 Cálculo Numérico


Definição 2
O método de Euler considera a aproximação apresentada em (3) com a qual podemos escrever:
u( t i  1 ) t i 1
u( t )
i
du   i f ( t , u( t ))dt
t

Levando-nos ao que é posto em (4).

t i 1
     f  t , u  t  dt  f  t , u  t   t
u t i 1  u t i  i i i 1
   
 t i  hf t i , u t i (4)
ti

Dessa forma, podemos isolar o u(ti+1), obtendo, por fim, uma forma de calcular sucessivamente a
função u(t). Assim, definimos o método de Euler por meio do exposto em (5).

i+1 i i i
u(t ) = u(t ) + hf(t , u(t )) (5)

Vejamos a representação por meio da Figura 3.


Figura 3
Interpretação geométrica do método de Euler

t1 – t0 = h = Δt

du/dt = f(u, t(u)), u(t0) = u0

(t3, u3)
(t u2)
2,

(t3, u(t3))
(t u1)
1,

u 1
(t , u(t2))
2

Erro
u(t1) (t1, u(t1))
0
(t0, u0)
u(t ) = u0

t0 t1 t0 t1 t2 t3
Fonte: Elaborada pela autora.

Além disso, podemos fazer uma interpretação geométrica que será utilizada
posteriormente nos métodos de Runge-Kutta. Desse modo, precisamos calcular
a inclinação k = tanα, como observamos na Figura 4, de maneira que consigamos
1 0
uma aproximação para u(t ) usando k e u(t ).

Solução numérica para equações diferenciais ordinárias 135


Figura 4
Segunda representação geométrica do Método de Euler

u(t)
u1

h = t1 – t0
tan ⍺ = k
u(t1)
u(t1) = u(t0) + kh

u(t0) ⍺

t0 t1 t

Fonte: Elaborada pela autora.

Quanto melhor for o método de passo único, melhor será a inclinação dessa
1
reta, de modo que o valor estimado para u(t ) esteja o mais próximo possível do
valor exato.

A inclinação k pode ser facilmente calculada usando: u’(t) = f(t, u(t)). Assim,
0 0 1 1 0 0 0
podemos escrever: k = f(t , u(t )). Portanto, u(t ) será u(t ) = u(t ) + f(t , u(t ))
h, como já calculamos. A existência do valor de k será melhor compreendida nas
seções seguintes, mas é importante que ele já apareça nas nossas equações para
que possamos compreender os próximos métodos numéricos.

Vejamos o Exemplo 1.

Exemplo 1
Obtenhamos a solução para a equação diferencial: dy  31  x   y , sujeita à condição
dx
inicial x = 1, quando y(1) = 4, para um intervalo x ∈ [1,2] e h = 0,5, aplicando o método
1–x
de Euler. A solução analítica para esse problema é dada por: y(x) = 3x + e , logo, y(2)
= 6,36788.
1 Temos que: dy  y´ 31  x   y
São as condições informa- dx
1
das para cada problema Sabemos que quando x = 1 temos y = 4 (condição inicial ).
ou no tempo zero, ou no Dessa forma, podemos escrever: y0’ = 3(1 + 1) – 4 = 2
espaço (ponto inicial), por
i+1 i i i
exemplo, quando escreve- Aplicando o método de Euler: u(t ) = u(t ) + hf (t , u(t ))
mos u(t0) = u0.
Com a nomenclatura aplicada neste exemplo, temos:
y1 = y0 + hy0’
y1 = 4 + (0,5)(2) = 5
Fazendo x1 = x0 + h = 1 + 0,5 = 1,5 e y1 = 5, temos:
y1’ = 3(1+x1) – y1
y1’ = 3(1 + 1,5) – 5 = 2,5
Então,
y2 = y1 + hy1’
y2 = 5 +(0,5)(2,5) = 6,25

136 Cálculo Numérico


Vejamos a representação geométrica para o PVI por meio do método de Euler
para h = 0,5 a partir da Figura 5.
Figura 5
Comparação entre a solução analítica e a solução numérica

Método de Euler explícito


Solução exata
6.0

5.5
y

5.0

4.5

4.0
1.0 1.2 1.4 1.6 1.8 2.0
x

Fonte: Elaborada pela autora.

E se refinarmos a malha? Refinar a malha, nesse caso, significa diminuir o


valor de h. Será que obteremos um resultado melhor? Analisaremos a Tabela 1
para verificarmos isso.
Tabela 1
Aproximação para o PVI enunciado, com valores de h cada vez menores

h 0,5 0,2 0,1 0,01 0,001

yi 6,25 6,32768 6,34868 6,36603 6,36769

Fonte: Elaborada pela autora.

Agora, vejamos a Figura 6 que compara diferentes valores de h.


Figura 6
Comparação geométrica das soluções aproximadas para o PVI enunciado

h=0,2 h=0,1 h=0,01


Método de Euler explícito Método de Euler explícito Método de Euler explícito
6.0 Solução exata 6.0 Solução exata 6.0 Solução exata

5.5 5.5 5.5


y

5.0 5.0 5.0

4.5 4.5 4.5

4.0 4.0 4.0


1.0 1.2 1.4 1.6 1.8 2.0 1.0 1.2 1.4 1.6 1.8 2.0 1.0 1.2 1.4 1.6 1.8 2.0
x x x

Fonte: Elaborada pela autora.

Com isso, dizemos que quanto menor forem as partições do domínio, ou seja, o
tamanho de h (o refino da malha), melhor será a convergência para o método de Euler.

Percebemos que, ao refinarmos a malha, ou quanto maior for o domínio, a pos-


sibilidade de realizarmos os cálculos na mão vão se tornando muito complexos.
Por esse motivo, quando falamos em métodos numéricos não podemos descartar
o uso de ferramentas computacionais, seja por meio de uma linguagem de pro-
gramação seja por softwares já existentes para auxiliar-nos nos cálculos, isto é,
precisamos escolher algum desses caminhos para que consigamos trabalhar com
boas aproximações.

Solução numérica para equações diferenciais ordinárias 137


Lembrando que a proposta deste capítulo é trazer a teoria dos métodos nu-
méricos que são aplicados em equações diferenciais, e não a sua implementa-
ção, mas buscamos deixar uma visualização dessas possibilidades de resolução
computacional.

Vídeo
6.1.2 Método de Taylor de ordem superior
Assim como, anteriormente, aproximamos o comportamento de f(t,u(t)) por
uma função constante dependendo linearmente do tamanho de h, para a qualida-
de da aproximação podemos escolher aproximações de ordem superior: lineares,
quadráticas, entre outras. Dessa forma, conseguimos uma melhor aproximação do
modelo numérico comparado ao modelo analítico (BURDEN; FAIRES, 2016), confor-
me o que apresenta a Definição 3.

Definição 3
Podemos definir os métodos de Taylor de mais alta ordem apenas escolhendo o ponto de trunca-
mento da série polinomial e calculando a relação entre as derivadas: e u e f(t,u(t)) analiticamen-
te com auxílio da regra da cadeia.

A ordem do erro cometido é proporcional à parcela descartada no truncamento


da série. Assim, quanto maior a ordem escolhida melhor a aproximação. No entan-
to, essa melhoria na aproximação ocorre ao custo de que são exigidas derivadas de
ordem superior da função u(t). Entenderemos esse processo.

A expansão de Taylor de um ponto da malha


Seja o PVI dado por (6)

u´ t   f  t , u  t  
 (6)
 u a   

com t ∈ [a,b] e t0 = a. Seja f, nesse contexto, uma função diferenciável nas variáveis
t e u com n + 1 derivadas.
i
Podemos aproximar u, em torno de t , utilizando o polinômio de Taylor da for-
ma (7)

 n 1
t  t 
2
i 1 i 1
 ti  ti
   ut   t
u t i 1 i i 1
  
 t u t
i i

2!
u  t  
i
 n  1 !
u
n 1
 i  (7)

i i+1
onde εi ∈ (t , t ).
i+1
Para sistematizar esse procedimento, podemos escrever t – ti = h, para um
i+1
ponto t de forma a obtermos o apresentado em (8)

h  n
n 1
   
u t i 1  u t i 
h1
1!
  h2
 
hk k
u t i  u t i  u  t i 
2! k!
 
f   , u   
 n  1 ! i i
(8)

i i+1
com εi ∈(t ,t ).

138 Cálculo Numérico


Utilizando a regra da cadeia, podemos calcular as derivadas de ordem u(n) em
função das derivadas de f(t, u(t)). Por exemplo,

u’ = f (t, u(t))
e

df  t , u  t   df  t , u  t  
u  f   t , u  t     u
dt du

Observe que, truncando esse polinômio no termo de ordem n, temos um erro


 
n 1
de h f n   , u   
 n  1 ! i i
(n)
Se f for limitada por uma constante M, teremos um erro local para esse trun-
camento que satisfaz:

h 
n 1
i  1  h   M
 n  1 !
Dessa forma, é possível notarmos que o método de Euler é uma particularidade
do método de Taylor de primeira ordem, conforme explicaremos na sequência.

O método de Euler explícito como um caso particular


É possível observarmos que se utilizarmos a expansão de Taylor apenas até o
termo de primeira derivada de u obtemos:

   
u t i 1  u t i 
h1
1!
      h1
u t i  u t i 1  u t i  f t i , u t i
1!
   (9)

logo,

   
u t i 1  u t i  hf t i , u t i   (10)

que corresponde exatamente à fórmula do método de Euler.

Assim, o método de Euler pode ser visto como um caso particular de primeira
ordem de uma família de métodos de Taylor. Vejamos como o Exemplo 2 trata isso.

Exemplo 2
u´ t   2u
Seja o PVI dado por 
–2t
, com solução exata dada por u(t) = e . Determine o
 u 0  1
valor aproximado para u(1) utilizando o método de Taylor com k = 1, fazendo h = 1, h =
0,5 e h = 0,25.

Temos que as soluções exatas para h = 1; h = 0,5 e h = 0,25 são as que regis-
tramos na Tabela 2.

Solução numérica para equações diferenciais ordinárias 139


Tabela 2
Soluções exatas para os valores de h

h=1 h = 0,5 h = 0,25


0,135335283 0,04978707 0,082084999

Fonte: Elaborada pela autora.

Desenvolveremos a solução numérica para os três valores de h sugeridos. Assim:


Tabela 3
Solução numérica para os valores de h

h=1 h = 0,5 h = 0,25


u(0) = u0 = 1 u(0) = u0 = 1 u(0) = u0 = 1
u(1) ≈ u1 = u0 + hf(u0) u(0,5) ≈ u1 = u0 + hf(u0) = 1 + 0,5 (–2) = 0 u(0,25) ≈ u1 = u0 + hf(u0) = 1 + 0,25(–2) = 0,5
= 1 + 1(–2) = –1 u(1) ≈ u2 = u1+ hf(u1) = 0 + 0,5(–2) = 0 u(0,50) ≈ u2 = u1 + hf(u1) = 0,5 + 0,25(–1) = 0,25
Portanto, Portanto, u(0,75) ≈ u3 = u2 + hf(u2) = 0,25 + 0,25(–0,5) = 0,125
|u1–u(1)|=1,135335283 |u2 – u(1)| = 0,135335283 u(1,00) ≈ u4 = u3 + hf(u3) = 0,125 + 0,25(–0,25) = 0,0625
Portanto,
|u4-u(1)| = 0,072835283

Fonte: Elaborada pela autora.

Como vimos anteriormente, quanto menor o valor de h, mais próxima a solução


aproximada está da solução analítica, ou seja, menor o erro cometido.

Agora, vejamos a situação trazida no Exemplo 3.

Exemplo 3  1
u´ t  
Consideremos o PVI dado por  1  u2 , mas agora usemos o método de Taylor com
 u 0  1

k = 2 e determinemos o valor aproximado de u(1) quando h = 0,5.

O método de Taylor para k = 2 é escrito da seguinte forma.

      
u t i 1  u t i  hf t i , u t i 
h2 df i
2 dt
  
t ,u ti

Com isso,

 
u ti
   
u t i 1  u t i  h
1
 h2
    1   u  t  
2
 2 3

1 u t i
i
 

Assim, fazendo h = 0,5 obtemos:

u(0) = u0 = 1

u(0,5) ≈ u1 = 1 + 1 + 0,5(0,5) – 0,25(0,125) = 1,21875

 1   1, 21875 
u 1  u2  1, 21875  0, 5·   0, 25· 15, 35194798   1, 4
 2, 485351563   

Dessa forma, encontramos a solução aproximada para u(1), com uma discreti-
zação do domínio em três pontos para x.
140 Cálculo Numérico
Vídeo
6.1.3 Métodos de Runge-Kutta
Os métodos numéricos que sucederam o método de Euler, Cauchy e Lipschitz
foram apresentados, em 1900, por Karl Heun; em 1895 e 1908, por Carl Runge
(1856–1927); e, em 1901, por Martin Wilhelm Kutta (1867–1944), sendo que foram
Figura 7 considerados como generalizações das regras de integração.
Carl David Tolmé Runge
A ideia para esses métodos é a de que, ao invés de contornarmos o problema
t i 1
de calcularmos  f  t , u  t   dt aproximando f(t,u(t)) por meio de expansões po-
ti
linomiais, aproximamos f(t,u(t)) calculando uma integral utilizando métodos

numéricos de integração. Dessa maneira, obtemos uma nova família de mé-


todos, que foi chamada de métodos de Runge-Kutta, pois foram feitos com
base nos trabalhos tanto de Runge (1895) quanto de Kutta (1901).
ons
Comm

O método de Runge-Kutta de quarta ordem (RK4) é considerado um dos


edia

mais precisos para obtermos soluções aproximadas de equações diferenciais.


ikim

No entanto, quando estudamos a dedução matemática para os métodos des-


s/W
on
cti

sa classe Runge-Kutta (RK), damo-nos conta de que existem métodos de RK de


lle
Co

it
Vo
diferentes ordens, e todos eles podem ser reestruturados de infinitas maneiras.
Carl David Tolmé Runge, Entenderemos esses métodos na sequência.
que iniciou sua carreira
como professor em Hanôver,
contribuindo para física da
espectroscopia, obteve diferentes
O método de Euler modificado
êxitos na ciência, principalmente O método de Euler apresentado anteriormente pode ser repensado para ter
ao lado de Martin Wilhelm Kutta.
uma aproximação melhor ao utilizarmos uma função constante não mais com o
t i 1

Figura 8 valor inicial do intervalo na integral  f  t , u  t   dt , mas a média entre o valor da


Martin Wilhelm Kutta função no início e no final, ou seja, ti

f
     
f t i , u t i  f t i 1 , u t i 1
(11)
2

dando origem ao método chamado Euler modificado (EM). Esse procedimen-


to pode ser reconhecido como uma integração numérica utilizando a regra
do trapézio.

Esse método também é chamado de método de Heun e ele se enquadra


ons
Comm

nos métodos de Runge-Kutta de segunda ordem.


edia
ikim

Entenderemos esse método a partir de uma perspectiva geométrica.


r/W
me

Seja um problema de valor inicial dado por (12).


rae
SK

Martin Wilhelm Kutta foi professor u´ t   f  t , u  t  


nas universidades Friedrich  (12)
Schiller de Jena, Técnica de  u  a   f  t 0 
Aachen e de Stuttgart, obtendo
renome na área a partir de um
artigo de Runge, desenvolvendo
o método Runge-Kutta, com a com t ∈ [a,b] e t0 = a. Seja f, nesse contexto, uma função diferenciável nas variáveis
finalidade de resolver equações t e u com n + 1 derivadas.
diferenciais ordinárias.

Solução numérica para equações diferenciais ordinárias 141


No método de Euler modificado, o cálculo da inclinação, utilizado para determi-
1
nar u(t ), é feito a partir do cálculo de duas outras inclinações.

A primeira inclinação é a de Euler, que já utilizamos anteriormente e pode ser


vista na Figura 4 deste capítulo, ou seja, a inclinação da reta tangente à curva em
(t0, u(t0)). Chamaremos essa primeira aproximação de u de Euler, expressada por:
 
u1e  u t 0  k 1h , que é a primeira estimativa para u(t1).

Figura 9
Representação geométrica de k1 e k2

u(t) u(t)
u1 u1
0 0
k1 = f(t , u(t ))

β
1 1
u(t ) u(t )
 
u1e  u t 0  k 1h 0 0
k1 = f(t , u(t )) = tanα
  
1 0
0
u(t ) α t =t +h 0
u(t ) α   
k 2  f t 1 , u1e  f t 0  h; u t 0  k 1 ·h  tan

0 1 t
0
t
1
t t
t t
Fonte: Elaborada pela autora.

 
Com esse par: t 1 , u1e , calculamos uma nova inclinação (ao final do intervalo)
  
que chamaremos de k2. Dessa forma, k 2  f t , u1  f t  h; u t  k 1 .h . Após esse
1 e 0 0
  
1
processo precisamos determinar k, que é dada por k   k 1  k 2   tan  de forma
2
0
que possamos traçar uma nova reta, a partir do ponto t .
1 0 1
Tendo a inclinação k podemos, então, determinar: u t  u t   k 1  k 2  . Essa
2
   
representação pode ser vista na Figura 10.
Figura 10
Representação geométrica para o método de Euler modificado

u(t)

u1

β
1
u(t )

u(t )
0 α
tan γ = k = 1/2 (k1 + k2)

0
t
1
t t

Fonte: Elaborada pela autora.

Vejamos o Exemplo 4 que utiliza o método de Euler modificado para resolver um PVI.

142 Cálculo Numérico


Exemplo 4

u t ´  1, 2u  t   7e 0,3 t


Seja o PVI dado por    , calculemos uma aproximação para u(t) =
 u 0  3
2,5 usando h = 0,5 e o método de Euler modificado.

Para a primeira iteração, precisamos determinar:

k1 = f(t0,u(t0)) = f(x0,y0) = f(0,3)


Substituindo esses valores na EDO, temos: k1 = 3,4.

Agora, precisamos de:

     
k 2  f t 1 , u1e  f t 0  h; u t 0  k 1 .h  f 0, 5;3  3, 4.0, 5  f  0, 5; 4, 7   0, 385
1 1
Por fim, precisamos calcular: k   k1  k 2   3, 4  0,385  1, 892
2 2
1 0
Após o cálculo dos k, determinaremos: u(t ) = u(t ) + k · h
1
Assim, obtemos: u(t ) = 3 + 1,892 · 0,5 = 3,946

Para as próximas iterações, continuando com esse raciocínio para t = 1; 1, 5; 2


e 2,5, encontramos o que está disposto na Tabela 4.
Tabela 4
Tabela de iterações do Exemplo 4

uei
i i
i t u(t )

0 0,0 3 3
1 0,5 4,7 3,946239
2 1,0 4,8924779 4,1877461
3 1,5 4,5498549 4,0633147
4 2,0 4,0516405 3,7634826
5 2,5 3,5414969 3,3936295

Fonte: Elaborada pela autora.

Vejamos a representação disso na Figura 11.


Figura 11
Solução exata e soluções aproximadas calculadas pelos métodos de Euler e de Euler modificado
5

4.5

3.5

2.5

1.5

1 A curva representa a solução


de exata, os  representam
0.5
as soluções de Euler, e os x
0 representam as soluções de
–0.5 0 0.5 1 1.5 2 2.5 3 Euler modificado.
Fonte: Elaborada pela autora.

Solução numérica para equações diferenciais ordinárias 143


Notemos que o erro obtido entre a solução analítica e a solução aproximada
obtida por meio do método de Euler modificado foi menor quando comparado ao
erro entre a solução analítica e o método de Euler simples.

Na sequência, trazemos outro ajuste que pode ser aplicado ao método de Euler.

O método do ponto médio


No método de Euler modificado, usamos apenas os pontos extremos como
pontos de integração. Porém, e se pudermos usar, por exemplo, um ponto inter-
mediário adicional? Escreveremos o desenvolvimento geométrico para essa ideia.

Seja nosso problema de valor inicial, já apresentado em (12). Podemos encontrar


uma aproximação para u1 por meio do uso de uma reta com inclinação α tal que k1 =
tanα = f(t0,u (t0)), como enunciado anteriormente para o método de Euler modificado.
A diferença entre o método de Euler modificado e o método do ponto médio
1
está no fato de que ao invés de calcularmos k2 ao final do intervalo, ou seja, em t ,
nós calculamos uma inclinação na metade do intervalo. Assim, k2 é calculado em
h
t 0 + . Vejamos a representação na Figura 12.
2
Figura 12
Representação geométrica de k1 e k2

u(t)

u1 k1 = f(t0, u(t0)) = tanα


 h
  h
k 2  f  t 0  , u t 0 )  k 1 ·   tan
 2 2
1
u(t )
β
0
u(t ) α

0 1 t
t t
h/2
Fonte: Elaborada pela autora.

Com isso, a fim de calcularmos o u1 do ponto médio, usamos a inclinação k2. Para
0 0
isso, transpomos a reta com inclinação k2 fazendo com que essa passe por (t , u(t )),
conforme representado na Figura 13.

Figura 13
Representação geométrica do método do ponto médio

u(t)
u1
1 0
1 u(t ) = u(t ) + k2 · h
u(t )

0
u(t ) α
k = k2

0 1 t
t t
h/2
144 Cálculo Numérico Fonte: Elaborada pela autora.
O Exemplo 5 compara a solução de um PVI obtida por diferentes métodos nu-
méricos, entre eles, o método do ponto médio.

Exemplo 5
Usaremos o mesmo PVI do Exemplo 4, mas, agora, queremos calcular a aproximação para
u(t) = 2,5 usando h = 0,5 por meio do método do ponto médio (PM).

Para a primeira iteração, organizamos da mesma maneira já realizada no mé-


todo de Euler modificado. Assim, precisamos determinar:
0 0
k1 = f(t , u(t )) = f(x0,y0) = f(0,3)
Substituindo esses valores na EDO, temos: k1 = 3,4
  0, 5  
Agora, precisamos calcular: k 2  f  0, 25;3  3, 4      1, 874
  2 
1 0
Com esse valor, precisamos calcular: u(t ) = u(t + k2 · h) = 3,937. Dessa forma,
terminamos nossa primeira iteração.

Prosseguindo com as iterações seguintes e comparando-as com os resultados


obtidos no Exemplo 4 temos o que consta na Tabela 5.
Tabela 5
Tabela de iterações do comparativa entre os exemplos

i i i
i t uei = Euler u(t ) = EM u(t ) = PM
0 0,0 3 3 3
1 0,5 4,7 3,946239 3,9371022
2 1,0 4,8924779 4,1877461 4,1745827
3 1,5 4,5498549 4,0633147 4,0489113
4 2,0 4,0516405 3,7634826 3,7493028
5 2,5 3,5414969 3,3936295 3,3803909

Fonte: Elaborada pela autora.

Vejamos como isso é representado na Figura 14.

Figura 14
Solução exata e soluções aproximadas calculadas pelos métodos de Euler, de Euler modificado e de ponto médio
5

4.5

3.5

2.5

2
A curva representa a solução
1.5 exata, os ∘ representam
as soluções de Euler, os x
1
representam as de Euler
0.5 modificado, e os + em vermelho
representam as do método de
0
–0.5 0 0.5 1 1.5 2 2.5 3 ponto médio.

Fonte: Elaborada pela autora.

Solução numérica para equações diferenciais ordinárias 145


Notemos que os métodos, de Euler modificado e de ponto médio, apresentam
um erro menor em relação à solução analítica quando comparados ao método de
Euler simples.

Outros esquemas de integração


Nesta seção, entramos definitivamente nos métodos de Runge-Kutta (RK). Po-
demos notar que existem infinitos esquemas de RK que podem ser usados depen-
dendo do PVI que precisa ser resolvido. Com isso, vejamos a Definição 4, que trata
sobre método Runge-Kutta de ordem R.

Definição 4
O método geral de Runge-Kutta de ordem R é dado por:
i+1 i
u(t ) – u(t ) = hF(t,u, h)
Onde:
R
F  t , u , h   crk r
r 1

k1 = f(t, u(t))

 r 1 
 
k r  f  t i , u t i  h brsk s  , r  2, 3,
 s 1 
r 1
a r  brs , r  2, 3, , R
s 1

As constantes ar, brs e cr devem ser determinadas por meio da comparação da expansão de F(t,
u, h) em série de potências com o método de Taylor.

A estruturação dos métodos de RK gera esquemas implícitos ou explícitos, a


diferença entre eles depende diretamente das constantes brs. Para que o esquema
seja explícito, a matriz formada pelos brs deve ser triangular inferior com todos
os elementos da diagonal principal iguais a zero. Se isso não ocorrer, temos um
esquema implícito. Em outras palavras, podemos dizer que os brs são pesos da qua-
dratura numérica que aproxima a integral da solução exata.

Como no método de Euler e Euler modificado (EM), precisamos calcular as in-


clinações k. A quantidade de inclinações depende da ordem do método de Runge-
-Kutta escolhido. Escreveremos, de maneira geral, o desenvolvimento do método
para depois especificá-lo.

Assim, temos que as funções de inclinação, ou seja, as funções kr, com r = 2, …,


R, são dadas por (12).

k1 = f(t0, u(t0 ))
k2 = f(ti + ha2, u(ti) + h(b21 · k1)), com a2 = b21
k3 = f(ti + ha3, u(ti) + h(b31 · k1 + b32 · k2)), com a3 = b31 + b32
k4 = f(ti+ ha4, u(ti) + h(b41 · k1 + b42 · k2 + b43 · k3)), com a4 = b41
(13)
+ b42 + b43

kR = f(ti + haR,u(ti) + h(bR1 · k1 + … + bR, R–1 · kR–1)), com ar = bR1
+ … + bR, R–1
146 Cálculo Numérico
A partir dessa organização, notamos que um método de Runge-Kutta de primei-
ra ordem (RK1), ou seja, apenas com análise de uma inclinação (k1), coincide com
o método de Euler.

Analisamos nas próximas seções os métodos de Runge-Kutta de segunda e terceira


ordem (RK2 e RK3) respectivamente. Por fim, falaremos do método de quarta ordem
(RK4), sendo esse último um dos mais utilizados entre os métodos de passo simples.

O método de Runge-Kutta de segunda ordem


Ao escolher R = 2, temos um método de Runge-Kutta de segunda ordem.

Vimos que as constantes ar, brs e cr devem ser determinadas por meio da com-
paração da expansão de F(t, u, h) em uma série de potências com o método de
Taylor.

Dessa forma, para encontrarmos os valores para c1, c2 e a2, precisamos desen-
i i
volver a função k2 pelo polinômio de Taylor em torno do ponto (t , u(t )) até segun-
da ordem, com isso, podemos escrever:

   
u t i 1  u t i 
h1
1!
  h2
   
u t i  u t i  O h3
2!
2
e, então, comparar os coeficientes de h e h com os coeficientes deles no Método
de Taylor de segunda ordem.

Encontramos, com esse processo, um sistema de equações não-linear dado por


(14).

c1  c2  1

 1
 c2a2  (14)
 2
 a2  b21

Este sistema (14) possui infinitas soluções, sendo que cada uma delas gera um
Método de RK2 diferente.

Uma forma de determinarmos as famílias de soluções para esse sistema (14) é


escolhermos uma variável genérica a2 = θ ∈ (01] e escrevermos as relações entre
as variáveis em função de θ (15), de modo que as variáveis c1, c2, a2 e b21 possam
ser unicamente determinadas (JUSTO et al., 2020).

1 1
c1  1  , c2  , a2  1 ; b21  1 (15)
21 21

Podemos escrever um esquema genérico para essa notação de forma bem visí-
vel e tabular (Tabelas 6, 7 e 8). Assim, teremos:
Tabela 6
Notação de Butcher – Passo 1

a B
c

Fonte: Elaborada pela autora.

Solução numérica para equações diferenciais ordinárias 147


Então,
Tabela 7
Notação de Butcher – Passo 2

a2 b21
c1 c2

Fonte: Elaborada pela autora.

Para θ1 ∈ (0,1], escrevemos:


Tabela 8
Notação de Butcher – Passo 3

θ1 θ1

1 1
1
21 2θ1

Fonte: Elaborada pela autora.

Uma das escolhas das constantes mais consagradas para esse método é dada
pela Tabela 9.
Tabela 9
Notação de Butcher para o método do Ponto Médio

1 1
2 2
0 1

Fonte: Elaborada pela autora.

Ou seja, c1 = 0, c2 = 1 e a2 = 1 , resultando em: u(t ) = u(t ) + hk2, com:


i+1 i

2
i i
k1 = f(t , u(t ))

 h
 
h 
k2  f  t i  , u t i  k1 
 2 2 

Isso coincide com o método do ponto médio apresentado anteriormente.


1 1
Agora, se adotarmos c1 = , c2 = e a2 = 1, temos o disposto na Tabela 10.
2 2
Tabela 10
Notação de Butcher para o método de Heun

1 1

1 1
2 2

Fonte: Elaborada pela autora.

Com isso, obtemos:

    1 1 
u t i 1  u t i  h  k 1  k 2 
2 2 
Com:

k1 = f(ti,u(ti))
k2 = f(ti + h; u(t1) + k1 · h)

148 Cálculo Numérico


Isso coincide com o método de Euler modificado ou método de Heun. Na se-
quência, abordamos o método RK3.

Três pontos de integração e o método de Runge-Kutta de terceira ordem


Dando prosseguimento a apresentação dos métodos de Runge-Kutta, temos os
métodos de terceira ordem.

Assim como fizemos nos métodos de segunda ordem, desta vez, escolhemos
R = 3 e, dessa forma, podemos encontrar uma família de métodos de terceira
ordem que dependem do valor das constantes ar, brs e cr que devem ser determina-
das por meio da comparação da expansão de F(t,u, h) em série de potências com
o método de Taylor.

Também podemos escrever os métodos de RK3 ordem de maneira tabular.


Nesse caso, fazemos conforme Tabela 11.
Tabela 11
Notação de Butcher para o método de RK3

a2 b21

a3 b31 b32
c1 c2 c3

Fonte: Elaborada pela autora.

Com isso, obtemos um sistema de equações com seis equações e oito incógni-
tas da forma (16).

 c1  c2  c3  1

c2a2  c3a3  1
 2
 1
c2a22  c3a32 
 3 (16)
 1
 c3b32a2 
 6
 b21  a2

 b31  b32  a3

Nesse caso, precisamos fixar duas variáveis: θ2 = a2 e θ3 = a3, de maneira que


montemos o sistema de equações (17) com as variáveis a2, a3, c1, c2, c3, b21, b31 e b32
unicamente determinadas.

 1 1 1
c1  1  2  2  3 
 2 3 2 3
 33  2
 c2 
 62  3  2 
 2  32
 c3 
 63  3  2  (17)
 b21  2

 1
 b31  3 
 6c32
 1
 b32 
 6c32

Solução numérica para equações diferenciais ordinárias 149


Alguns métodos de terceira ordem são mais conhecidos, um deles é chamado
de método clássico de Runge-Kutta de terceira ordem.

Para esse método clássico usamos o disposto na Tabela 12.


Tabela 12
Método clássico de RK3

1/2 1/2
1 –1 2

1/6 4/6 1/6

Fonte: Elaborada pela autora,

Obtendo:

   
u t i 1  u t i 
h
6
 k1  4k 2  k3 
Com:

k1 = f(ti, u(ti))
 h
 
h 
k2  f  t i  , u t i  k1 
 2 2 
k3 = f(ti + h, u(ti) + 2hk2 – hk1)
Com isso, temos mais um método numérico que pode ser adotado para encon-
trarmos uma solução aproximada para um determinado PVI: o método de RK4, sen-
do um dos mais utilizados nesse contexto. Vejamos mais sobre ele na sequência.

Definição do método de Runge-Kutta de quarta ordem


O método de Runge-Kutta de quarta ordem (RK4) é um dos métodos mais uti-
lizados dessa categoria por apresentar um erro por passo na ordem de quinta po-
5
tência (h ).

Para ele, usamos R = 4 e podemos montar a Tabela 13 para as variáveis.


Tabela 13
Runge-Kutta de quarta ordem

a2 b21
a3 b31 b32
a4 b41 b42 b43
c1 c2 c3 c4

Fonte: Elaborada pela autora.

O sistema de equações obtido é não linear e composto por 8 equações e 13


variáveis. Dessa forma, temos novamente um sistema com infinitas soluções. Fa-
zendo b21 = a2; b31 = a3 – b32 e b41 = a4 – b42 – b43, escrevemos conforme (18).

150 Cálculo Numérico


 c1  c2  c3  c4  1
 1
 c2a2  c3a3 +c4a 4 
 2
 1
 c2a 2  c3a 3  c4a 4 
2 2 2
 3
 1
 c2a32  c3a33  c4a34 
 4
 1 (18)
 c3b32a2  (a2b42  a3b43 )c4  6

 1
 a2 a3b32c3  a 4(a2b42  a3b43 )c4  8

 a22 b32c3  (a22b42  a32b43 )c4 
1
 12

 1
a2b32b43c4 
 24

Alguns métodos de quarta ordem são mais conhecidos do que outros. Por sua
vez, o método de Runge-Kutta clássico de quarta ordem segue a Tabela 14.
Tabela 14
Runge-Kutta de quarta ordem clássico

1 1
2 2
1 1
0
2 2
1 0 0 1
1 1 1 1
6 3 3 6
Fonte: Elaborada pela autora.

Podemos escrever seu procedimento iterativo como:

    h
u t i 1  u t i   k 1  2k 2  2k 3  k 4 
6
Onde:
i i
k1 = f(t , u(t ))
 h h 
k2  f  t i  , u t i  k1 
 2 2 
 
 h h 
 
k3  f  t i  , u t i  k 2 
 2 2 
i i
k4 = f(t + h, u(t ) + hk3)
Assim, o método de RK4 apresenta um erro de truncamento local na ordem da
5
quinta potência, ou seja O(h ), e outro erro de truncamento global na ordem de
4
quarta potência O(h ) (GILAT; SUBRAMANIAM, 2008).

Interpretação geométrica
Vamos novamente supor nosso PVI dado como (19)

u´ t   f  t , u  t  
 (19)
 u  a   f  t 0 

Solução numérica para equações diferenciais ordinárias 151


com t ∈ [a,b] e t0 = a. Seja f, nesse contexto, uma função diferenciável nas variáveis
t e y com n + 1 derivadas.
Como vimos, em um método de Runge-Kutta de quarta ordem é necessário
que calculemos quatro inclinações (k1, k2, k3 e k4), para, então, encontrarmos uma
média ponderada entre essas outras quatro inclinações.
0 0
A primeira das inclinações é dada por k1 = f(t , u(t )), da mesma forma que já
mostramos nos métodos de Euler, de ponto médio e de Runge-Kutta de menor
ordem. A segunda inclinação (k2) também já é conhecida e pode ser escrita como
 h  h 
k 2  f  t 0  , u  t 0  k1 .  
 2  2 
Calculamos k3 a partir da inclinação de k2, como pode ser visto Figura 15.

Figura 15
Representação geométrica de k3
0 0
u(t) k1 = f(t , u(t ))

u1  h
 h
k 2  f  t 0  , u t 0  k1· 
 2 2
 h
  h
k 3  f  t 0  , u t 0  k 2· 
 2 2

0 0
(t + h/2, u(t ) + k2 · h/2)

u(t0)

t0 t1 t
h/2
Fonte: Elaborada pela autora.

Para calcularmos a quarta inclinação, k4, trazemos a reta de inclinação k3 para


0 0
o ponto (t , u(t )), conforme Figura 16. Agora, precisamos calcular um novo valor
para u(t) ao final do intervalo e denotar esse valor por u1e  t   t 0  h , u t 0  k 3·h e    
k4 = f(t0 + h, u(t0) + k3 · h).

Figura 16
Representação geométrica de k4

u(t)   
u1e  t   t 0  h , u t 0  k 3·h 
u1
 h
  h
k 3  f  t 0  , u t 0  k 2· 
 2 2
0 0
k4 = f(t + h, u(t ) + k3 · h)

u(t0)

t0 t1 t
h/2
Fonte: Elaborada pela autora.

152 Cálculo Numérico


Ao obtermos as quatro inclinações, precisamos calcular uma inclinação k, que
1
será a média ponderada entre k1, k2, k3 e k4, para podermos escrever o valor de u(t )
ao final do intervalo. Usamos para essa interpretação geométrica os valores da Tabe-
1
la 14 (RK4). Assim, a ponderação que realizamos para k é k   k 1  2k 2  2k 3  k 4  .
6
1
Com k determinado, conseguimos calcular com facilidade o valor para u(t ) =
u(t0) + k · h. Esse resultado pode ser observado na Figura 17.

Figura 17
Representação geométrica do Método de Runge-Kutta de quarta ordem
Site
u(t) O site Wolfram Alpha
demonstra soluções exatas
u1 e numéricas usando os
u(t1) métodos explícito e implí-
cito de Euler, o de Heun, e
o clássico de Runge-Kutta.
Todos eles são métodos
numéricos simples para
equações diferenciais ordi-
nárias. A partir da animação
disponível, é possível
u(t0) usarmos os controles des-
lizantes para variar o valor
inicial, ou para alterarmos
t0 t1 t o número de etapas ou o
h/2 método aplicado.

Fonte: Elaborada pela autora. Disponível em: https://


demonstrations.
Chegamos, portanto, em uma interpretação geométrica (Figura 15) para o mé- wolfram.com/NumericalMethodsFor
DifferentialEquations/. Acesso em: 18
todo de RK4.
ago. 2022.

Exemplo 6
Usaremos o mesmo PVI do Exemplo 5, mas, agora, queremos calcular a aproximação para
u(t) = 2,5 usando h = 0,5 por meio do método RK4. Usando o mesmo PVI, temos a
oportunidade de comparar os resultados obtidos a partir de outros métodos. Faremos uma
tabela comparativa (Tabela 14) ao final deste exemplo.

 0 ,3 t
u  t ´  1, 2u  t   7e
Seja o PVI dado por: 
 u 0  3
Para a primeira iteração, temos:

k1 = f(t0, u(t0)) = f(0, 3) = 3,4

 h
 
h
k 2  f  x0  , u t 0  k 1 .   f 0, 25;3  3, 4.0, 25  1, 874
 2 2

 h
 
h
k 3  f  x0  , u t 0  k 2 .   f 0, 25;3  1, 874.0, 25  2, 332
 2 2
0
k4 = f(x0 + h, u(t ) + k3 · h) = f(0,5; 3 + 2,332 · 0,5) = 1,026
1
Agora determinamos k   k 1  2k 2  2k 3  k 4   2, 140
6
u(t1) = u(t0) + k · h = 3 + 2,140 · 0,5 = 4,070
As próximas iterações seguem o mesmo raciocínio e seus resultados podem ser
observados na Tabela 15.

Solução numérica para equações diferenciais ordinárias 153


Tabela 15
Tabela de iterações do Exemplo 6

i i i i
i t u(t ) = EM u(t ) = PM u(t ) = RK4
0 0,0 3 3 3
1 0,5 3,946239 3,9371022 4.070
2 1,0 4,1877461 4,1745827 4.3202955
EM – Euler modificado 3 1,5 4,0633147 4,0489113 4.1675657
PM – Ponto médio 4 2,0 3,7634826 3,7493028 3.8337667
RK4 – Runge-Kutta de quarta
5 2,5 3,3936295 3,3803909 3.4352959
ordem
Fonte: Elaborada pela autora.

Vejamos como a Figura 18 representa as soluções disso.

Figura 18
Solução exata e soluções aproximadas calculadas pelos métodos de Euler modificado, de ponto médio e de RK4
4.5

3.5

A curva representa a solução 2.5


exata, as soluções aproximadas
2
são obtidas pelos métodos
numéricos EM e RK4, assim, 1.5
os  representam as soluções
de RK4, os x representam as 1
soluções de Euler modificado, e os
+ representam as soluções do 0.5

método de ponto médio.


0
–0.5 0 0.5 1 1.5 2 2.5 3
Fonte: Elaborada pela autora.

Portanto, vemos que o método de Runge-Kutta de quarta ordem obteve a me-


lhor aproximação se compararmos com a solução analítica em relação aos demais
métodos.

6.2 Métodos lineares de passos múltiplos


Vídeo Anteriormente, apresentamos métodos com base na expansão de Taylor (Euler
e Taylor de alta ordem) e outros em integração numérica (Runge-Kutta) para apro-
ximações numéricas de problemas de valor inicial (PVI). Esses métodos são chama-
dos de métodos de passo simples, pois só exigem a informação do ponto anterior
para o cálculo de um determinando ponto da malha.

Acreditamos que a maior vantagem de um método de passo simples seja a


possibilidade de poder usarmos a condição inicial dada (auto iniciável) para sua
inicialização, e, como são métodos que dependem apenas do passo anterior, seu
algoritmo é de fácil implementação.

Contudo, se pensarmos na estrutura básica de um método com base em inte-


gração numérica, teremos expressões como:

t i 1
   u  t    f  t , u  t  dt
u t i 1 i

ti

154 Cálculo Numérico


No método de Heun, temos uma estrutura de ordem 2 que para aproximarmos
i i+1
a integral de t até t utilizamos dois pontos (inicial e final). Isso é equivalente a
utilizarmos a regra do trapézio para integração numérica, ou seja, estamos aproxi-
mando a integral por meio de uma reta.

Entretanto, podemos realizar aproximações para a integral por meio de uma


função polinomial, e, como sabemos, dependendo da ordem desse polinômio, são
necessários mais do que dois pontos.

O que faremos, diferentemente dos métodos de Runge-Kutta, onde a posição


i i+1 i i+1
desses pontos está entre t e t , é utilizarmos pontos anteriores a t e t .

Quando trabalhamos dessa maneira, dizemos que adotamos uma estratégia de


i+1
múltiplos passos, ou seja, para encontrarmos f(t ), além de utilizarmos o passo
i
anterior f(t ), também adotamos os resultados dos passos (pontos) que são ante-
riores a eles. Entre esses métodos, apresentamos os métodos de Adams com base
em interpolação de múltiplos passos. Por enquanto, consideramos apenas os mé-
todos lineares de passo s que podem ser expressos conforme (20).

αs · u(ti+s ) + αs–1 · u(ti+s–1) + … + α0 · u(ti)


= h[βs · f(ti+s, u(ti+s)) + βs–1f(ti+s–1, u(ti+s–1)) (20)
+ … + β0 · f(ti,u(ti))]
Por simplicidade, podemos escrever de acordo com (21).

     
s ·u t i  s  s 1 ·u t i  s 1  0 ·u t i  h s ·f i  s  s 1 ·f i  s 1    0 ·f i ) (21)

i i i
Assim, com f(t ,u(t )) = f , α e β dependentes de um método particular, sendo
Figura 19
que αs ≠ 0 e |α0| + |β0| ≠ 0. Além disso, se βs = 0 teremos um método explícito
John Couch Adams
(Adams-Bashforth), caso contrário, teremos um método implícito (Adams-
-Moulton). Explicamos esses dois métodos a seguir com seus respectivos
exemplos.

6.2.1 Método de Adams-Bashforth


Os métodos de Adams foram os primeiros e, provavelmente, são um
dos mais conhecidos métodos de passos múltiplos para a resolução de
equações diferenciais.
mons
Com

John Couch Adams (1819–1892), astrônomo britânico, baseou-se nos


edia

métodos teóricos propostos por Cauchy para apresentar um método novo


ikim
K/W

que usou na integração da equação de Bashforth.


GD

Aliás, foi em um trabalho de Francis Bashforth (1819–1912), de 1883, que o


método proposto por Adams foi apresentado, sendo, também por isso, conhecido John Couch Adams contribuiu
com teorias para o campo da
por método de Adams-Bashforth. astronomia e estudos sobre
o magnetismo terrestre e a
Relembraremos a formulação do PVI enunciada anteriormente e que utilizamos gravitação. Além disso, também
no desenvolvimento dos métodos de passo simples, para que possamos desenvol- ocupou cargos relevantes,
como a presidência da Royal
ver os métodos de Adams. Astronomical Society e a direção
do Observatório de Cambridge.

Solução numérica para equações diferenciais ordinárias 155


Temos que encontrar u(t) dado em (22).

 du
  f  t , u  t 
 dt (22)
 u  t 0   u0


Para isso, podemos integrar a equação diferencial no intervalo onde procura-


i+s i+s+1
mos a solução, [t ; t ] e, dessa forma, obtemos um esquema recursivos para
passos múltiplos (s passos) conforme (23).

t is
   ut
u t is i  s 1
   f  t , u  t  dt (23)
t i  s 1

Nos métodos de Adams, o integrando f(t,u(t)) é aproximado na forma polino-


mial p(t). Para o método de Adam-Bashforth, escolhemos um polinômio interpola-
dor de Lagrange p(t) de grau s – 1. Ou seja,

s 1 
t  t ik 
  
s 1
p  t    f t i , u t i  i j
 (24)
j 0 
 k 0 , k  j t  t i  k 

Logo, a integral passa a ser escrita como em (25).

t is s 1

 p  t  dt  h jf  t i  j , u  t i  j   (25)
t i  s 1 j 0

Onde:

t is
1 s 1
t  t ik
j 
h   i j  t i k dt (26)
t i  s 1 k  0 , k  j t

Com base na interpolação adotada, podemos escrevemos o procedimento ite-


rativo como em (27):

s 1
   
u t i  s  u t i  s 1  hjf t i  j , u t i  j
j 0
   (27)

com os coeficientes definidos anteriormente em (20) e (21).

É importante observarmos que o método exige s – 1 pontos anteriores, portan-


to, não é possível iniciarmos o processo de cálculo diretamente com um método
de múltiplos passos (CHAPRA; CANALE, 2016). Para contornarmos essa situação,
iniciamos o problema com um método de passo simples, como Euler, por exemplo,
depois, continuamos o estudo do PVI com múltiplos passos.

Para s = 2, a fórmula de recorrência é escrita conforme (28).

      
1
u t i 2  u t i 1  h jf t i  j , u t i  j (28)
j 0

Portanto, podemos escrever:

u(ti+2) = u(ti+1) + h(β1fi+1 + β0fi)


156 Cálculo Numérico
Nesse caso, temos um método de Adams-Bashforth (MAB) de dois passos, onde
i+2
vemos claramente que para calcular u(t ) precisamos conhecer o comportamen-
i+2 i+1 i
to da função em dois pontos anteriores a t , sendo eles t e t.

Entretanto, ainda precisamos calcular os valores para β1 e β0. Para isso, precisa-
mos fazer uma mudança de variável e substituir em (26) dada por:
t is
1 s 1
t  t ik
j 
h  k 
0,k  j t
i j
 t ik
dt
t i  s 1

i+s–1
Dessa forma, fazendo t = t + hρ, podemos escrever:
s  j 1
s 1
 s k 1  1 s 1
     k  d
1 1
j   d  
0
k 0 , k  j j k j! s  j  1! 0k 0,k  s  j1

Logo,
s  j1
 1 s 1
    k  d
1
j  
j! s  j  1! 0k 0,k  s  j1
(29)

Assim, usando a equação (29), podemos calcular β0 e β1:


1
1
0       2  1  1 d  
0
2
1
3
1      2  0  1 d 
0
2

Portanto, podemos escrever uma fórmula de recorrência, para o método de


Adams-Bashforth, com s = 2:

    h
   
u t i 2  u t i 1  [3f t i 1 , u t i 1  f t i , u t i 
2   
Vejamos a representação com base na Figura 20.
Figura 20
Região de estabilidade absoluta

Nome do método Método Adams-Bashforth (Passo 2)

Recursividade/Relação
1
u j2  u j1   h fj  3fj1
2
 

0.5

Região de absoluta
estabilidade do método –1.0 –0.8 –0.6 –0.4 –0.2

–0.5

Fonte: Elaborada pela autora.


Solução numérica para equações diferenciais ordinárias 157
Assim como no método de Runge-Kutta, quando aumentamos o número de
passos para os métodos de Adams, passamos a ter uma melhor precisão. Claro
que a quantidade de passos influencia diretamente o tempo computacional. Dessa
forma, é necessário ponderarmos o custo computacional e o erro obtido em cada
uma das classes s (passos).

Apresentaremos as relações recursivas para o método de Adams-Bashforth


para s = 3 e s = 4, pois são as escolhas mais comuns quando adotamos esse tipo
de método para a solução de um PVI.

Assim, para s = 3 escrevemos:


t i 3
   u  t   h  f  t , u  t 
u t i 3 i 2

t i 2

      
2
u t i 3  u t i 2  h jf t i  j , u t i  j
j 0

i+3 i+2 i+2 i+2 i+1 i+1


Dessa forma, temos: u(t ) = u(t ) + h[β2f(t ), u(t )) + β1f(t , u(t )) +
i i
β0f(t ,u(t ))]
Para calcularmos os βj, faremos uma analogia à obtenção de coeficientes por
um método de integração.
i+3
Vamos supor que: t – ti+2 = ti+2 – ti+1 = ti+1 – ti = h, ou seja, igualmente espa-
i+3 i+2 i+2
çados. Como o intervalo de integração é: [t ,t ], podemos transladar t até a
i i+1 i+2 i+3
origem de modo que [t , t , t , t ] = [–2h, –h, 0, h]
2
Considerando uma base [1, t, t ] e substituindo f(t) por cada um dos elementos
dessa base, obtemos o disposto em (30).

1dt  h  h 0 1  1 1  2 1


0

1
h2
tdt   h 0 0  1  h   2  2h   (30)
0
2
1
h3
t dt   h 0 0  1  h   2  2h  
2 2 2 2
3  
0

Podemos escrever a expressão (30) em forma matricial.

 
1
 1 1 1   0   
    1 
 0 1 2   1    2 
0 1 4     
  2  1
 
3
5 4 23
Resolvendo esse sistema, encontramos: 0  , 1   e 2  .
12 3 12
i+3 i+2 i+2 i+2 i+1 i+1 i i
Sendo u(t ) = u(t ) + h[β2f(t , u(t )) + β1f(t , u(t )) + β0f(t ,u(t ))] e
conhecendo os valores para βj, podemos escrever conforme (29).

158 Cálculo Numérico


Site

   
u t i 3  u t i  2
h
        
 23f t i 2 , u t i 2  16f t i 1 , u t i 1  5f t i , u t i 
12  
(31) Pensando na abordagem
computacional, sugerimos o
material interativo, Métodos
lineares de várias etapas
Assim, obtendo uma equação de recorrência para o método de Adams-Bash- para primeira ordem EDO,
forth para s = 3. que apresenta demonstra-
ções de alguns métodos
Fazendo o mesmo procedimento, é possível escrevermos facilmente a equação distribuídos em cinco
passos, com diferentes
(32) de recorrência para s = 4.
alcances e graus de impli-
citude, disponível no site

   
u t i  4  u t i 3 
h 
24 
           
55f t i 3 , u t i 3  59f t i 2 , u t i 2  37f t i 1 , u t i 1  9f t i , u t i  (32)

Wolfram Alpha. O material
traz, de maneira iterativa,
as regiões de estabilidade
absoluta do método de
Exemplificaremos e compararemos os resultados com alguns métodos de pas- maneira gráfica e permite
um melhor entendimento
so simples. Como ainda não resolvemos um PVI utilizando o método de Adams-
sobre suas aplicações.
-Bashforth de quarta ordem, é por ele que começamos com o Exemplo 7.
Disponível em: https://
demonstrations.wolfram.com/
Exemplo 7 LinearMultistepMethodsFor
FirstOrderODEs/. Acesso em: 18 ago.
O método de Adams-Bashfort com s = 4 (quatro estágios) pode ser escrito como: 2022.
t i4
     f  t , u  t  dt
u t i  4  u t i 3 
t i 3

      
3
u t i  4  u t i 3  h jf t i  j , u t i  j
j 0
u(ti+4 ) = u(ti+3) + h[β3fi+3 + β2fi+2 + β1fi+1 + β0fi]

Vejamos a Figura 21 e como o método é representado nela.


Figura 21
Representação geométrica do método de Adams-Bashforth para s = 4

u(t)

f(t, u(t))

t
(i) (i+1)
t
(i+2)
t
(i–3)
t (i+4)
t t

–3h –2h –h 0 h

Fonte: Elaborada pela autora.


2 3
Seja uma base [1, t, t , t ], ao substituirmos f(t) por cada um dos elementos dessa
base, obtemos o disposto em (33).

Solução numérica para equações diferenciais ordinárias 159


1

1dt  h  h 0 1  1 1  2 1  3 1


0

1
h2
tdt   h 0 0  1  h   2  2h   3  3h  
0
2
(33)
1
h3
  h 0 0  1  h   2  2h   3  3h  
2 2 2 2
t 2
dt 
3  
0

1
h4
t dt   h 0 0  1  h   2  2h   3  3h  
3 3 3 3 3
4  
0

Podemos escrever a expressão (33) em forma matricial. Ficando:

1 1 1 1   0   1 
    
 0 1 2 3   1    1 / 2 
0 1 4 9   2   1 / 3 
     
 0 1 8 27   3   1 / 4 
55 59 37 3
Resolvendo esse sistema, encontramos: 0  , 1   , 2  e 3  
24 24 24 8
Logo, podemos escrever:

   
u t i  4  u t i 3 
h  i 3
24 
55f  59f i 2  37f i 1  9f i 

Observemos como a Figura 22 representa graficamente isso.


Figura 22
Região de estabilidade do método de Adams-Bashforth de quarta ordem

Nome do método Método Adams-Bashforth (Passo 4)

Recursividade/Relação u j 4  u j 3 
1
24

h 9fj  37fj1  59j2  55fj3 
1.0

0.5

Região de absoluta estabilidade


do método –0.3 –0.2–0.1 0.1 0.2 0.3 0.4

–0.5

–1.0

Fonte: Elaborada pela autora.

160 Cálculo Numérico


Portanto, notemos que o método de Adams-Bashforth de quarta ordem é mais
preciso que os métodos de Adams-Bashforth com menos passos, contudo, ele é
computacionalmente mais pesado por realizar mais cálculos, sendo necessária
uma avaliação prévia com relação à capacidade de máquina para tal aplicação.

6.2.2 Método de Adams-Moulton


Acreditamos que tenha sido a Primeira Grande Guerra que deu um forte im-
pulso ao crescimento dos métodos numéricos. A grande quantidade de cálculos e
a complexidade dos problemas que a balística exige não poderiam ser efetuadas
facilmente sem a ajuda desses processos alternativos. A primeira contribuição para
a melhoria dos métodos existentes foi dada pelo matemático americano Forest Ray
Moulton (1872-1952), em 1925, propondo uma classe de métodos conhecida por
Adams-Moulton (MAM).

O método de Adams-Moulton diferencia-se do Adams-Bashforth apenas pela


inclusão de valores de interpolação no polinômio que dizem respeito ao próprio
instante o qual desejamos calcular. Com isso, conforme pontuamos, o método de
Adams-Moulton é um método implícito, enquanto o método de Adams-Bashforth
é um método explícito.

Para o método de Adam-Moulton escolhemos um polinômio interpolador de


Lagrange p(t) de grau s. Ou seja,

s 
t  t ik 
  
s
p  t    f t i , u t i  i j

j 0 
 k 0 , k  j t  t i  k 

Logo, a integral passa a ser escrita como:

t is

  
s

 p  t  dt  hjf t i  j , u t i  j
t i  s 1 j 0

Onde:

t is
1 s
t  t ik
j 
h  k 
0, k  j t
i j
 t ik
dt
t i  s 1

Com base na interpolação adotada, podemos escrever o procedimento iterativo


como:

      
s
u t i  s  u t i  s 1  hjf t i  j , u t i  j
j 0

com os coeficientes definidos em (20) e (21).

Da mesma forma como acontece com Adams-Bashforth, esse método exige


pontos anteriores. Logo, não é possível iniciarmos o processo de cálculo direta-
mente com um método de múltiplos passos. Para contornarmos essa situação, ini-
ciamos o problema com um método de passo simples, como o de Euler, e depois
continuamos o estudo do PVI com múltiplos passos.

Solução numérica para equações diferenciais ordinárias 161


Entenderemos o método de Adams-Moulton para s = 2, 3 e 4, assim como pro-
posto para o método de Adams-Bashforth. Iniciamos o desenvolvimento do méto-
do para s = 2. Assim, queremos encontrar u(t) dado que:

 du
  f  t , u  t 
 dt
 u  t 0   u0


Para isso, podemos integrar a equação diferencial no intervalo onde procura-


i+s–1 i+s
mos a solução: [t ; t ] e, dessa forma, obtemos um esquema recursivos para
passos múltiplos (s passos) da forma (34).

t is
   ut
u t is i  s 1
   f  t , u  t  dt (34)
t i  s 1

e temos que f(t, u(t)) pode ser aproximado por um polinômio interpolador:
f(tk, u(tk )), com k = i, i + 1, i + 2, …, i + s. Dessa forma, escrevemos conforme (35).

t is t is
    
u t i  s  u t i  s 1  
f  t , u  t   dt  u t i  s 1    p  t  dt (35)
t i  s 1 t i  s 1

Com isso,
is
jf  t i  j , u  t i  j  
s

 p  t  dt  h
j 0
t i  s 1

Dessa forma, para s = 2 escrevemos:

2 
t  t ik 
  
2
p  t    f t i , u t i  i j

j 0 
 k 0 , k  j t  t i  k 

Em outras palavras, trabalhamos com polinômios de Lagrange de grau 2.

Fazendo uma mudança de variável semelhante a que foi feita no método de


Adams-Bashforth, escrevemos conforme (36).

 1s j 1 s
j      k  1  d
j! s  j!  0k 0,k  s  j1
(36)

Portanto, para s = 2, temos:


i 2
     f  t , u  t  dt
u t i  2  u t i 1 
i 1

2 
   
u t i 2  u t i 1  h   jf t i  j , u t i  j
 j0
  

i+2 i+1 i+2 i+2 i+1 i+1 i i
Dessa forma: u(t ) = u(t ) + h[β2 f(t , u(t )) + β1f(t , u(t )) + β0f(t ,u(t ))]

Nesse ponto, precisamos encontrar [β2, β1, β0], tal que o método seja exato para
polinômios até ordem 2. Podemos obter esses coeficientes de maneira análoga à

162 Cálculo Numérico


resolvida no método de Adams-Bashforth que é baseada na obtenção dos coefi-
cientes de um método para integração.

Assim, novamente, precisamos supor que os nós estão igualmente espaçados


k
entre os t , com distância h entre eles. Além disso, para o intervalo de integração
i+1 i+2 i+1
dado por [t , t ], transladamos t para a origem. Essa ideia pode ser observada
na Figura 23.
Figura 23
Representação geométrica para o método de Adams-Moulton com s = 2

u(t)

f (t, u(t))

(i)
t
(i+1)
t t
(i+2)
t

–h 0 h

Fonte: Elaborada pela autora.


2
Considerando a base [1, t, t ] e substituindo f(t) por cada um dos elementos da
base, obtemos o que está descrito em (37).

1dt  h  h 0 1  1 1  2 1


0
1
h2
tdt   h 0  h   1 0  2  h  
0
2 (37)

1
h3
t dt   h 0  h   1 0  2  h  
2 2 2 2
3  
0

Também podemos escrever a expressão (37) em forma matricial:

 
1
 1 1 1   0   
    1 
 1 0 1   1    2 
 1 0 1    
  2  1
 
3.
1 2 5
Resolvendo esse sistema encontramos 0   , 1  3 e 2 
12 12

Solução numérica para equações diferenciais ordinárias 163


i+2 i+1 i+2 i+2 i+1 i+1 i i
Sendo u(t ) = u(t ) + h[β2f(t , u(t )) + β1f(t , u(t )) + β0f(t ,u(t ))] e
conhecendo os valores para βj, podemos escrever conforme (38).

   
u t i  2  u t i 1 
h 
12 
        
5f t i 2 , u t i 2  8f t i 1 , u t i 1  f t i , u t i 

(38)

Desse modo, obtendo uma equação de recorrência para o método de Adams-


-Moulton para s = 2. Para s = 3 e s = 4, apenas escreveremos as equações de
recorrência, pois o procedimento matemático é igual ao que acabamos de realizar.

Assim, para s = 3, temos o exposto em (39).

   
u t i 3  u t i  2 
h 
24 
           
9f t i 3 , u t i 3  19f t i 2 , u t i 2  5f t i 1 , u t i 1  f t i , u t i 

(39)

Já para s = 4, temos a equação (40).

u( t i  4 )  u( t i 3 )  h / 720[251f ( t i  4 , u( t i  4 ))  646f ( t i 3 , u( t i 3 ))
(40)
264f ( t i 2 , u( t i 2 ))  106f ( t i 1 , u( t i 1 ))  19f ( t i , u( t i ))]

6.3 Métodos do tipo preditor-corretor


Vídeo Apesar de esquemas implícitos, como o de Adams-Moulton, gerarem respostas
mais acuradas, há uma dificuldade adicional associada à necessidade de serem
i+1 i+1 i+1
utilizados os valores presentes em f(t ,u(t )) para calcularmos o próprio u(t ).
Nesse contexto, surgem os métodos chamados de preditor-corretor.

A estratégia de predição-correção consiste basicamente em contornarmos o


problema de formulações implícitas por meio de uma etapa de predição, utilizando
um método explícito, em que se aproxima o valor presente u t
i1
, e uma etapa  
de correção em que, com o uso de uma formulação implícita, é recalculado o valor
presente aproximado u t
i1
.  
Artigo

https://www.fc.unesp.br/Home/Departamentos/Matematica/revistacqd2228/v07a02-comparacao-entre-metodos-numericos.pdf

Para sabermos mais sobre a comparação entre os métodos numéricos de passo simples e
métodos de previsão-correção, recomendamos o artigo Comparação entre métodos numéricos:
Runge-Kutta de quarta ordem e previsor-corretor, dos autores Rafael de Lima Sterza e Analice
Costacurta Brandi, publicado na Revista Eletrônica Paulista de Matemática, em 2016.

Acesso em: 22 jul. 2022.

Essa etapa de predição por meio de um método explícito pode ser realizada por
diversos métodos vistos anteriormente, como o de Euler, de Runge-Kutta ou mes-
mo o de Adams-Bashforth. Cada uma dessas variações gera novos métodos com
novos resultados. Inclusive, na etapa de correção, também existe a possibilidade
de utilizarmos diferentes métodos implícitos.

164 Cálculo Numérico


6.3.1 Método de Euler para predição-correção
Consideraremos o PVI dado por:

 du
  f  t , u  t 
 dt
 u t0   a


Para ilustrarmos a estratégia de preditor-corretor, formulamos o método implí-


cito de Euler a partir da equação:
i+1 i i+1 i+1
u(t ) = u(t ) + hf(t , u(t ))
Uma predição da resposta pode ser calculada utilizando o método de Euler ex-
plícito, conforme:

ũ(ti+1) = u(ti) + hf(ti, u(ti))


Então, utilizamos u t 
i1
no esquema implícito, resultando em:

u(t(i+1)) = u(ti) + hf(ti+1, ũ(ti+1))


Usando novamente o PVI enunciado no início, outra estratégia de predição pode
ser formulada utilizando o método explícito de Euler a partir da equação:

ũ(ti+1) = u(ti) + hf(ti, u(ti))


Contudo, agora usaremos como estratégia de correção o método trapezoidal
dado por:

    h
     
u t i 1  u t i  f t i , u t i  f t i 1 , u t i 1 
2 

Com isso, temos dois exemplos de métodos compostos para predição-correção.

Essa composição também pode ser realizada adotando métodos de passos múl-
tiplos. Ao combinarmos os métodos de Adams teremos um método de predição-
-correção (ou preditor-corretor).

Tendo como base que f(t, y) é uma função contínua que satisfaz uma condição
de Lipschits para a variável y e assumindo um PVI dado por:

 y´  f  t , y 
 , at b
y  a   t 0  

com isso, temos:

 h
 PREDITOR : pk 1  y k  24  9fk 3  37fk 2  59fk 1  55fk 

CORRETOR : y
 k 1  y k 
h
24
 fk 2  5fk 1  19fk  9 t k 1 , pk 1 

Portanto, quando adotamos um par de fórmulas para previsão-correção com-


posto por Adams-Bashforth e Adams-Moulton de mesma ordem, e se h for escolhi-
do convenientemente, em geral, são necessárias poucas iterações para atingirmos
a convergência desejada.

Solução numérica para equações diferenciais ordinárias 165


6.4 Sistemas de equações diferenciais
Vídeo Apesar da extensão dos conceitos ser poderosa no sentido de aplicabilidade,
a estratégia numérica de solução herda vários aspectos já discutidos para o caso
de primeira ordem. Isso se deve ao fato de que procuramos traduzir a equação
diferencial de ordem superior em um sistema de equações diferenciais de primeira
ordem por meio de substituições de variáveis simples.

6.4.1 Substituição de variáveis para


geração do sistema de EDO
Inicialmente, estenderemos a notação do problema de valor inicial apresentado
anteriormente como:

 f  t , u  t 
du
dt

para contemplarmos derivadas de ordem n. Assim, escrevemos conforme (41).

Dnu  du d2u dn 1u 


 f  t , u , , , ,  (41)
dt n  dt dt 2 dt n 1 


Assim, definindo uma equação diferencial de ordem superior de maneira


análoga.

Para essa situação, é necessário estipularmos condições iniciais para cada


2
uma das derivadas até ordem n – 1. Ou seja, u  t 0   00 , du  t 0   10 , d u  t 0   02 ,
dt dt 2
d3u dn 1u
 t 0   0 , ..., n 1  t 0   0 .
3 n  1
dt 3 dt
Com isso, podemos transformar a equação diferencial em um sistema de equa-
ções diferenciais associando cada derivada de ordem j, com j de 0 a n – 1, a uma
d ju
variável v j = j . Desse modo, a EDO fica conforme (42) com as respectivas condi-
dt
ções iniciais.

dn u
 f  t , v 0 , v1 , v 2 , , v n 1  (42)
dt n
d ju
É importante notarmos que, ao escolhermos v j = , construímos um sistema
dt j
de equações diferenciais lineares (43).

 du
 dt  f1  t , v 0 , v1 , , v n 1 

 d2u
 2  f2  t , v 0 , v1 , , v n 1 
 dt (43)
 

d u
n
 n  fn  t , v 0 , v1 , , v n 1 
 dt

Esse sistema pode ser resolvido pelos diferentes métodos vistos anteriormente.
Trazemos algumas dessas possibilidades nas próximas seções.

166 Cálculo Numérico


Vídeo
6.4.2 Solução usando os métodos de Euler
Os métodos de passo simples apresentados para solução numérica de um PVI
podem ser facilmente estendidos para solução de sistemas de equações diferen-
ciais sujeita à imposição de um valor inicial.

Esse procedimento consiste simplesmente em dar um passo no tempo utilizan-


do o método escolhido para cada equação do sistema. Vejamos dois métodos a
seguir.

Método explícito de Euler


Para o caso do método explícito de Euler, escrevemos o processo iterativo para
cada uma das n equações diferenciais provenientes da EDO de ordem n. Ou seja,
para cada uma das equações, temos:

dv j
 f  t , v 0 , v1 , v 2 , , v n 1 
dt

Portanto,

vj(ti+1) = vj(ti ) + hf(t, v0, v1, v2, …, vn–1) (44)

Vejamos como proceder a partir do Exemplo 8.

Exemplo 8
Queremos usar o método de Euler para obtermos a solução de um sistema de equações
diferenciais do tipo:

 du
 dt  w

 dw  u  et
 dt

com u(0) = 1, w(0) = 0, t ∈ [0;0,2] e h = 0,1.

Pela regra de Euler, escrevemos:

 u i 1   u i   wi 

 i 1   i   h  
 w   w  ui  et i 

Fazendo i = 0, temos:

 u1   u0   w0 
 1   0 h 
 w   w  u0  et0 

Assim,

 u1  1  0  1 
 1      0, 1   
 w   
0 1  1 0, 2

Solução numérica para equações diferenciais ordinárias 167


Agora, fazendo i = 1, temos:

 u2   u1   w1 
 2   1  h 
 w   w  u1  et1 

Assim,

 u2   1   0, 2   1, 02 
 2      0, 1  
0 ,2   
 w   
0 , 2 1  e  0, 4221

Com esses resultados podemos escrever as aproximações: u(0,2) ≈ 1,02 e


w(0,2) ≈ 0,4221.

Método de Heun
Vimos que o método de Euler pode ser repensado de modo que possamos utili-
zar uma média entre o valor final e inicial, dando origem ao método de Euler modi-
ficado (método de Heun). Assim, para termos uma aproximação melhor, utilizamos
uma função que é a média entre o valor inicial e final (45).

fi 1  t , v 0 , v1 , v 2 , , v n 1   fi  t , v 0 , v1 , v 2 , , v n 1 
f (45)
2

Onde, em (45), fi denota a função f calculada no passo de tempo i.

Precisamos calcular as inclinações k1 e k2 de modo que:

   
v j t i 1  v j t i 
h
2
 k1  k 2  (46)

Onde:
i
• k1 = f(t ,v0, v1, v2,…,vn–1)
i i i i i
• k2 = f(t + h,v0 (t ) + hk1, v1(t ) + hk1, v2(t ) + hk1, …, vn–1(t ) + hk1)

Vejamos como proceder com base no Exemplo 9.

Exemplo 9
Seja um sistema de equações diferenciais do tipo:

 du
 dt  w

 dw  u  et
 dt

com u(0) = 1, w(0) = 0, t ∈ [0;0,2] e h = 0,1.

A partir dele, queremos aproximar a solução utilizando o método de Heun. Com


isso, escrevemos:
 u i 1   u i  h
 i 1    i    k 1  k 2 
 w   w  2
Com:
  u    w0 
• k 1  f  t 0 ,  0     t0 
  w 0   u0  e 

168 Cálculo Numérico


 u  
• k 2  f  t 0  h ,  0   hk 1 
 w0  
Fazendo i = 0, temos:
 w 0   0  0
• k1    
t   0  
u0  e 0  1  e  2

•  u    1 0    1    0, 2 
k 2  f  t 0  h ,  0   hk 1   f  0  h ,    h     f  0, 1;      
  0
w    
0   
2 0, 2  2, 1052
•  u1   u0  h
 1    0    k1  k 2 
 w   w  2
Assim,

 u1  1 0, 1  0  0, 2    1, 01 
 1          
 w  0 2  2 2, 1052  0, 20526 
Agora, fazendo i = 1, temos:

 w 1   0, 20526  0, 20526 


• k1   t  
 
0 ,1   
u1  e 1  1, 01  e   2, 1152 

 u     1, 01  0, 20526    1, 03053   0, 41678 


• k 2  f  t 1  h ,  1   hk 1   f  0,1  h ,   h    f  0, 2;     
  w1    0, 20526   2, 1152    0, 41678    2, 2519 

 u2   u1  h
•  2    1    k1  k 2 
 w   w  2

Logo,

 u2   1, 01  0, 1  0, 20526  0, 41678    1, 0411 


 2         
 w  0, 20526  2   2, 1152   2, 2519   0, 42362

Com esses resultados podemos escrever as aproximações: u(0,2) ≈ 1,0411 e


w(0,2) ≈ 0,42362.

Vídeo
6.4.3 Solução usando o método de Runge-
Kutta de quarta ordem
Analogamente ao que foi desenvolvido para o método de Euler, podemos es-
tender a aplicação do método de Runge-Kutta de quarta ordem para o sistema de
equações diferenciais decorrente da EDO da ordem superior.

As constantes de taxa de variação instantânea


No método de Runge-Kutta de quarta ordem, a aproximação é feita de maneira
iterativa com base em uma inclinação da predição calculada a partir de quatro ta-
xas de variação auxiliares: k1, k2, k3, k4.

Primeiramente, calculamos k1 em relação ao ponto inicial do intervalo de inte-


gração no tempo (i). Com base em k1, calculamos a inclinação no ponto médio do

Solução numérica para equações diferenciais ordinárias 169


i
intervalo (t + h / 2), k2. Com essas duas constantes, retornamos ao ponto inicial do
intervalo para novamente estimarmos a taxa de variação no ponto médio, k3. Por
fim, com k1, k2 e k3 definidos, calculamos k4 referente ao ponto final do intervalo de
i+1
integração no tempo (t ).

Dessa forma, as constantes k são calculadas para o caso de múltiplas EDO como:
i i i
• k1 = f(t , u(t )) = f(t , v0, v1, v2, …, vn–1)




h
2
 
h
2
h
2
  h
   
h 
k 2  f  t i  , v 0 t i  k 1 , v1 t i  k 1 , v 2 t i  k 1 , , v n 1 t i  k 1 
2 2 




h
2
 
h
2
h
2
  h
   
h 
k 3  f  t i  , v 0 t i  k 2 , v1 t i  k 2 , v 2 t i  k 2 , , v n 1 t i  k 2 
2 2 
i+1 i i i i
• k4 = f(t , v0(t ) + k3, v1(t ) + k3, v2(t ) + k3, …, vn–1(t ) + k3)

Estando em posse das constantes k, o procedimento iterativo é facilmente descrito


por meio de uma taxa média ponderada de variação no intervalo a partir de (47).

   
v j t i 1  v j t i 
h
6
k1  2k2  2k3  k 4  (47)

Vejamos como proceder com base no Exemplo 10.

Exemplo 10
Seja um sistema de equações diferenciais do tipo:

 du
 dt  w

 dw  u  et
 dt

com u(0) = 1, w(0) = 0, t ∈ [0;0,2] e h = 0,1.

A partir disso, queremos aproximar a solução utilizando o método de RK4. Com


isso, escrevemos:

 u i 1   u i  h
 i 1    i    k 1  2k 2  2k 3  k 4 
 w   w  6

Fazendo i = 0, temos:
  u   0
• k 1  f  t 0 ,  0     
  w 0   2

 h  u  h   0, 1 
• k 2  f  t 0  ,  0   k 1    
 2  w 0  2  2, 0513

 h  u  h  0, 1026 
• k 3  f  t 0  ,  0   k 2    
 2  w 0  2  2, 0563

  u0   0, 2056 
• k 4  f  t 0  h,  w   hk 3    

  0  2, 1154 

 u1   u0  h
•  1    0    k 1  2k 2  2k 3  k 4 
 w   w  6

170 Cálculo Numérico


Assim,

 u1  1 0, 1  0  0, 1  0, 1026  0, 2056   1, 0102


 1         2   2     
 w  0 6  2 2, 0513 2, 0563 2, 1154   0, 2055

Agora, fazendo i = 1, temos:


  u   0, 2055
• k 1  f  t 1 ,  1     
  w 1   2, 1154 

 h  u  h  0, 3113
• k 2  f  t 1  ,  1   k 1    
 2  w 1  2  2, 1823

 h  u  h  0, 3146 
• k 3  f  t 1  ,  1   k 2    
 2  w 1  2  2, 1876 

 u   0, 4243
• k 4  f  t 1  h ,  1   hk 3    
  1
w  2, 2630 

 u2   u1  h
•  2    1    k 1  2k 2  2k 3  k 4 
 w   w  6
Logo,

 u2  1, 0102 0, 1  0, 2055 0,3 3113 0, 3146  0, 4243  1, 0415 
 2        2   2     
 w  0, 2055 6  2, 1154  2, 1823 2, 1876  2, 2630  0, 4241

Com esses resultados, podemos escrever as aproximações: u(0,2) ≈ 1,0415 e


w(0,2) ≈ 0,4241.

CONSIDERAÇÕES
FINAIS
Neste capítulo, apresentamos métodos com base em estratégias chamadas de
passo simples e múltiplos passos. Descrevemos os métodos com base na expansão de
Taylor (Euler e Taylor de alta ordem) e aqueles em integração numérica (Runge-Kutta).
Ao tratarmos dos métodos de passos múltiplos, apresentamos os métodos de
Adams: explícitos, como na formulação de Adams-Bashforth; e implícitos, como na
formulação de Adams-Moulton, ambos com base na interpolação de múltiplos passos.
Os métodos de predição foram apresentados como estratégia para contornarmos
as desvantagens de métodos implícitos, acoplando-os a métodos explícitos como
preditores.
Portanto, vimos ao longo das seções abordadas que é possível resolvermos sis-
temas de equações diferenciais usando os métodos estudados ao longo do capítulo.
Também é viável transformarmos equações de alta ordem em sistemas de ordem
reduzida, tendo os métodos já avaliados como ferramentas numéricas de solução.
Desse modo, esperamos que, após a leitura, a motivação de pesquisar aumente e
avance junto aos estudos referentes ao cálculo numérico e, com isso, também sejam
expandidas as possibilidades de aplicações computacionais de métodos matemáticos
que permitem modelar fenômenos físicos que nos rodeiam.

Solução numérica para equações diferenciais ordinárias 171


ATIVIDADES
Atividade 1
Identifique ao menos uma das facilidades na aplicação de métodos de passo
simples.

Atividade 2
Dentre os métodos RK, podemos escolher diferentes valores para h e, desse
modo, obtemos diferentes valores para x0 = a; xj+1 = xj+k, com j = 0, 1, 2, ... e
y0 = y(a). Com isso, podemos escrever o seguinte Algoritmo:

k1  
f xj , y j 
 1 1 
k2  f  x j  h , y j  hk 1 
 2 2 
 1 1 
k3  f  x j  h , y j  hk 2 
 2 2 
k4  
f x j  h , y j  hk 3 
h
y j 1  y j   k1  2k 2  2k3  k 4 
6
Se f(x, y) não depende de y, então, o algoritmo se reduz à fórmula de Simpson.
Considerando o trecho apresentado e os métodos de Runge-Kutta, descreva a
ordem do método de RK aplicada nesse caso.

Atividade 3
Descreva a ordem do erro de truncamento local para o método de Adams-Bash-
forth de 4 passos.

REFERÊNCIAS
BURDEN, R. L.; FAIRES, J. D. Análise numérica. 3. ed. São Paulo: Cengage Learning, 2016.
BUTCHER, J. C.; GOODWIN, N. Numerical methods for ordinary differential equations. 2. ed. Nova York: Wiley,
2008.
CHAPRA, S. C.; CANALE, R. P. Métodos numéricos para engenharia. 7. ed. Porto Alegre: AMGH, 2016.
GILAT, A.; SUBRAMANIAM, V. Métodos numéricos para engenheiros e cientistas: uma introdução com
aplicações usando o MATLAB. Porto Alegre: Bookman, 2008.
JUSTO, D. A. R. et al. (org.). Cálculo Numérico: um livro colaborativo. Porto Alegre: UFRGS, 2020. Disponível
em: https://www.ufrgs.br/reamat/CalculoNumerico/livro-sci/livro-sci.pdf. Acesso em: 18 ago 2022.
KUTTA, M. Beitrag zur näherungsweisen Integration totaler Differentialgleichungen. Zeitschrift für
Mathematik und Physik, v. 46, p. 435-453. Disponível em: https://www.worldcat.org/title/beitrag-zur-
naherungsweisen-integration-totaler-differentialgleichungen/oclc/493965375. Acesso em: 18 ago. 2022.
RUNGE, C. Ueber die numerische Auflösung von Differentialgleichungen. Mathematische Annalen, v. 46, p.
167-178, 1895. Disponível em: http://eudml.org/doc/157756. Acesso em: 18 ago. 2022.

172 Cálculo Numérico


Resolução das atividades
1 Erros numéricos
1. Podemos considerar o sistema de numeração romano um sistema aditivo ou
um sistema posicional? Explique.
O sistema de numeração romano, usado em algumas representações até hoje,
como em relógios e para marcar itens, é um sistema dito aditivo e podemos
perceber essa dinâmica, por exemplo, quando precisamos escrever números
como 20 (XX) e 30 (XXX) dentre muitos outros exemplos.
Ele é um típico sistema de numeração aditivo, mas que teve alguns avanços
quando comparado a outros sistemas aditivos que não permitiam a escrita rápida
de números muito grandes.

Imagestockdesign/Shutterstock
Numerais romanos
1=I 10 = X 100 = C 1000 = M
2 = II 20 = XX 200 = CC 2000 = MM
3 = III 30 = XXX 300 = CCC 3000 = MMM
4 = IV 40 = XL 400 = CD
5=V 50 = L 500 = D
6 = VI 60 = LX 600 = DC
7 = VII 70 = LXX 700 = DCC
8 = VIII 80 = LXXX 800 = DCCC
9= IX 90 = XC 900 = CM

2. É possível converter um número na base 10 para um número na base


hexadecimal através de divisões sucessivas? Explique essa conversão e
converta o número (9)10 para essa base.
Como a base hexadecimal é composta por um número de algarismos maior do
que a base 10, qualquer número menor do que 10 não precisa ser convertido,
sendo diretamente escrito na sua forma decimal, apenas corrigindo a sua base.
Assim, para o número (9)10 , teremos: (9)10 = (9)16
Contudo, caso esse número seja maior do que 9, por exemplo, se tivéssemos
(10)10 teríamos como conversão: (10)10 = (A)16
Por meio da divisão, precisamos fazer: 10 : 16 = 0 – Resto 10. Nesse caso,
precisamos compreender quem é o representante para 10 na base hexadecimal,
e esse elemento é a letra A. Portanto, (A)16 = (10)10

3. Ao escrevermos o número de Euler da forma



1 1 1 1 1
e = 2,718 … e e       
n 0
n ! 0! 1! 2! 3!
No primeiro caso devemos usar qual tipo de ajuste numérico para obter um
número finito? E no segundo caso? Quais são os erros envolvidos em cada um
dos casos?

Resolução das atividades 173


Ao escrevermos o número de Euler da forma e = 2,718 …, precisamos fazer um
arredondamento para que obtenhamos um número finito. Nesse caso, teríamos
o valor: e ≈ 2,72, que acarretará um erro de arredondamento.

1 1 1 1 1
Já no segundo caso, e   n!  0!  1!  2!  3!  , como temos uma série numérica,
n 0
podemos transformar e para uma forma finita por meio de um truncamento nos
termos da série. Portanto, teremos um típico erro de truncamento.

2 Sistemas de equações lineares


1. Explique de maneira breve e simplificada o que faz a matriz elementar M1 e a
matriz elementar M2 ao multiplicarmos uma matriz de coeficientes A por cada
uma delas, respectivamente.
As matrizes elementares M1 e M2 zeram, respectivamente, todos os elementos
abaixo das posições (1, 1) e (2, 2).

2. Explique com suas palavras a importância de um algoritmo na implementação


de um método numérico direto, como no caso da fatoração LU.
O algoritmo permitirá que entendamos o passo a passo para a implementação
do método. Com ele, também é possível identificarmos os erros numéricos que
são propagados em cada etapa de cálculo e, com isso, é possível avaliarmos se o
método adotado é eficiente, ou não, para a obtenção da solução para o problema
abordado.

3. Explique com suas palavras o que significa a análise de convergência de um


método e qual a sua importância para garantir o resultado encontrado.
Basicamente, a análise de convergência é o que permite decidirmos se o método
nos leva a uma solução que se aproxima da solução exata ou não. Os métodos
ditos numéricos, em geral, são descritos por processos iterativos que, por sua vez,
só são válidos se a solução aproximada convergir para a solução exata.
Quando analisamos a ordem de convergência e taxa de convergência, já estamos
considerando que o método converge (primeira análise a ser verificada). A
ordem de convergência e a taxa de convergência nos mostra como essa solução
aproximada converge para a solução real e em qual velocidade.

3 Zeros de funções reais


1. O teorema 1 expressa que, se f:[a,b] → ℝ, y = f(x) é uma função contínua tal
que f(a) ⋅ f(b) < 0, então existe x* ∈ (a,b) tal que f(x*) = 0, onde x* é chamada
de solução exata.
Explique por que precisamos garantir que f(a)f(b) < 0.
Ao garantirmos que f(a)f(b) < 0, estamos dizendo que a função intercepta o eixo
x em algum ponto do intervalo ]a,b[ e, portanto, se f(a)f(b) < 0, podemos garantir
a existência de raiz da função.

174 Cálculo Numérico


2. De acordo com Gilat e Subramaniam (2008, p. 76), “a tolerância é a máxima
quantidade na qual a solução exata pode desviar de uma solução numérica
aproximada”.
Partindo dos conceitos vistos no capítulo e dessa afirmação, quais fatores
podem determinar a tolerância de um método numérico? Use como referência
o método do ponto fixo.
Nos casos em que é possível encontrar a solução analítica, teremos que f(x k) = 0
e, portanto, |x k - x k-1| = 0. Contudo, quando optamos por um método numérico e
precisamos avaliar a tolerância como um critério de parada, é necessário avaliar
duas situações:
1. |f(x k)| ≤ tolerância
2. |x k - x k-1| ≤ tolerância

3. Assumindo que:

 f  xk  
x k 1  x k   , k 0
 f   x  
 k 

é a equação que rege o método de Newton-Raphson, identifique umas das


dificuldades para a utilização desse método numérico.
O método de Newton-Raphson depende de um bom palpite inicial, por exemplo,
x0. Esse mesmo conceito foi visto para o método do ponto fixo, ao afirmarmos:
quando |g´(p)| = 0, temos o método de Método de Newton; e, no método do
ponto fixo, se x0 não estiver próximo da raiz, ele pode divergir.
Além disso, uma das dificuldades em sua implementação é dependermos da
existência da derivada no ponto x k , avaliado a cada iteração.

4 Interpolação e ajuste de curvas


1. Explique com suas palavras o motivo da matriz de Vandermonde ter um
determinante diferente de zero e, portanto, o sistema de equações a ela
associado apresentar sempre solução.
Como a matriz de Vandermonde é formada por colunas que são progressões
geométricas, podemos dizer que essa matriz é formada por vetores linearmente
independentes. Logo, o determinante será sempre não nulo.
Todo sistema de equações lineares pode ser transcrito com notação matricial.
Nesse sentido, caso a matriz dos coeficientes possuir um determinante diferente
de zero, portanto, ela é formada por vetores linearmente independentes,
permitindo-nos afirmar que o sistema possui solução e ela é única.

2. O erro nos métodos de interpolação de Lagrange e de Newton estão associados


ao grau do polinômio interpolador? Explique.
Sim, mas não é apenas o grau do polinômio interpolador que determina o erro do
método. Inclusive, mesmo que associado ao grau do polinômio interpolador, isso
não quer dizer que quanto maior o grau do polinômio teremos um erro menor.
Além do grau do polinômio, ainda é necessário compreendermos o tamanho do
domínio em relação aos pontos avaliados e a posição desses pontos em relação à
avaliação que se deseja calcular.

Resolução das atividades 175


3. Descreva a necessidade do uso de derivadas parciais para o cálculo dos
métodos dos mínimos quadrados.
Quando calculamos as derivadas parciais para cada uma das variáveis do
problema em um ponto específico, também estamos calculando o que chamamos
de gradiente da função.
Ao compararmos cada uma dessas derivadas a zero, estamos calculando o ponto
crítico dessa função, que, nesse caso, é um ponto de mínimo. Portanto, como
a ideia do método é minimizarmos a função (a soma dos erros quadráticos), ao
usarmos uma ferramenta do cálculo para funções de múltiplas variáveis que
permite a análise de pontos críticos, também estamos encontrando o ponto que
minimiza a função do erro quadrático.

5 Integração numérica
1. Explique a razão pela qual a integração de Riemann não é considerada um
método numérico, mas sim um método analítico.
Na integração de Riemann, quando aplicamos o limite, para um intervalo Δx
tendendo a zero, ao somatório das áreas dos retângulos formados por f(x i)
Δx i, para todo i = 0, ..., n, estamos dizendo que a integral está sendo calculada
no domínio contínuo. Sendo assim, a solução para esse método é exata e não
aproximada, além disso não depende da discretização do domínio.

2. Descreva por qual motivo, na regra do trapézio simples, as medidas da base


maior e base menor da figura geométrica do trapézio, devem ser as imagens
do polinômio interpolado para os pontos x0 e x1.
Isso acontece pois precisamos considerar a altura h como a diferença entre x
­ 1 = x0.
Logo, as bases (maior e menor) devem estar em relação às medidas obtidas no
eixo y, e não no eixo x.

3. Para que a regra de Simpson simples tenha valor exato, qual deve ser o grau do
polinômio interpolado? Justifique sua resposta e compare esse resultado com
a regra do trapézio.
Se f(x) = p3(x), então, f(4)(x) = 0 e, portanto, o erro será igual a zero. Dessa forma,
podemos afirmar que a regra de Simpson tem valor exato se f for um polinômio de
até grau 3. A mesma verificação pode ser pensada para a regra do trapézio. Nesse
segundo caso, se f(x) = p2(x), então, f(3) = 0. Com isso, para a regra do trapézio,
temos o valor exato se f for um polinômio de até grau 2.

6 Solução numérica para equações diferenciais ordinárias


1. Identifique ao menos uma das facilidades na aplicação de métodos de passo
simples.
Uma vantagem dos métodos de passo simples é a facilidade na mudança do
incremento h. No método de Euler, por exemplo, a redução do tamanho de h
permite uma melhora na resposta encontrada (ou seja, a solução aproximada)
quando comparada à solução analítica.

176 Cálculo Numérico


2. Dentre os métodos RK, podemos escolher diferentes valores para h e, desse
modo, obtemos diferentes valores para x0 = a; x j+1 = x j+k , com j = 0, 1, 2, ... e y0
= y(a). Com isso, podemos escrever o seguinte Algoritmo:

k1  
f xj , y j 
 1 1 
k2  f  x j  h , y j  hk 1 
 2 2 
 1 1 
k3  f  x j  h , y j  hk 2 
 2 2 
k4  
f x j  h , y j  hk 3 
h
y j 1  y j   k1  2k 2  2k3  k 4 
6

Se f(x, y) não depende de y, então, o algoritmo se reduz à fórmula de Simpson.


Considerando o trecho apresentado e os métodos de Runge-Kutta, descreva a
ordem do método de RK aplicada nesse caso.
O algoritmo apresentado é representativo do método de Runge-Kutta de quarta
ordem (método de passo simples). Pois tal padrão é identificado pelos valores de
k calculados.

3. Descreva a ordem do erro de truncamento global para o método de


­Adams-Bashforth de 4 passos.
No método de Adams-Bashforth (MAB), como o polinômio interpolador em s pontos
é de ordem s + 1, temos que o erro de truncamento para o MAB de s passos será
de s + 1, fazendo com que o erro global seja de ordem s, e o erro local de ordem
s + 1, portanto, para s = 4, temos erro de global de ordem 4.

Resolução das atividades 177


Cálculo

Cálculo Numérico
Numérico
MARINA
VARGAS

MARINA VARGAS

Código Logístico
ISBN 978-65-5821-174-7

59850 9 786558 211747

Você também pode gostar