Escolar Documentos
Profissional Documentos
Cultura Documentos
Cálculo Numérico
Numérico
MARINA
VARGAS
MARINA VARGAS
Código Logístico
ISBN 978-65-5821-174-7
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:
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;
1 2 3 4 5 6 7 8 9
10 20 30 40 50 60 70 80 90
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.
Hindu
(300 a.C)
Hindu
(500 d.C)
Árabe
(900 d.C)
Árabe Ocidental
(1000 d.C)
Italiano
(1400 d.C)
Atual
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.
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.
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 + …
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.
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).
Figura 5
Unidades de medida de informação eletrônica
ia Co
d
ime
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:
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.
Com base nos conhecimentos adquiridos até o momento sobre base binária,
trabalhemos a partir daqui com as mudanças de base.
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
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.
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
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.
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.
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
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
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
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.
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.
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
Implementação computacional
Resultado numérico
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.
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.
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
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.
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.
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.
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
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.
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.
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.
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.
Objetivos de aprendizagem
Com o estudo deste capítulo, você será capaz de:
• relembrar processos de eliminação gaussiana;
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.
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.
Notemos que:
A(2) M1 ·A(1)
(m) ( m 1 )
A M m 1 · A
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
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
28 Cálculo Numérico
0
2. a22
2
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
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
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
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:
Mk In m eTk
Logo,
A n k k
k 1 I m eT A k
Mk
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 .
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,
j k 1,..., n
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
Exemplo 2
Seja um sistema de equações dado por:
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).
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.
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)
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
2 4 2 6
A3 0 3 6 3
0 0 12 3
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
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,
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
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.
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.
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
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
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)
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
fatoraLU([[3.,2.,4.],[1.,1.,2.],[4.,3.,2.]])
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
Algoritmo 2
b1
x1 =
l11
x
b
i
i 1
lx
j1 ij j
i
lii
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
b1 2
x1 2
l11 1
b2 l21x1 2 2 2 2 4
x2 2
l22 3 3
x1
• X
x n
b1
• B
bn
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
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
(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.
b i 1l y
i j1 ij j
yi , i 1, 2, , n
lii
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.
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,
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
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
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)
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
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
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.
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):
i1x2i
n
• Norma 2 (ou norma euclidiana): x 2
Definição 7
A distância entre dois pontos é dada pela expressão: d(x,y) = ‖x – y‖ para qualquer
norma.
Definição 8
(k) (k)
{x } → x em relação à norma ‖·‖ se ∀ε > ∃N(ε) / ‖x – x‖ < ε, ∀k ≥ N(ε)
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 ‖·‖
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‖
Definição 11
Se ‖·‖ é uma norma vetorial. Então, A = max A.x é uma norma matricial, chamada de
x =1
norma natural ou induzida.
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
Exemplo 11
1 1 x1 10 5
1 2 . x 5 cuja solução exata é x exato 5
2
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
1 1 100 10
1, 001 1 . 90 10, 1 b
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
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
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
max dii
cond D
min dii
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
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))
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.
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.
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
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
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".
a12 a1 n
0
a11 a11
a21 a2n
0
T a22 a22 T 1
a n1 a
n2 0
a
nn a nn
n a ij
a 1
j1 ii
j i
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.
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
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
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
Figura 3
Gráfico do sistema
de equações
formado pelas retas
r1 e r2
1
2
0
x
1
2
9
2
1 2
x x*
7 3
4
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):
(0)
Se β = max1≤j≤nβj < 1, então, o método de Gauss-Seidel converge independente de x ,
(k)
isso é, {x } → x.
5 1 1 23
2 1
4 32
4 1 32 117
3 1
4 128
• 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
x
k 1 x
lim
xk x
k 1 Ordem de convergência
Taxa de convergência
βk < ‖T‖, ∀k
Então,
||
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
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.
Exemplo 16
Seja a matriz A dada por:
10 2 1
A 0 5 2
1 2 20
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
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;
f(a)
x* b
a
f(b)
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
{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.
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.
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.
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 *
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
g (x1)
g (x*)
g (x2)
g (x0)
a x1 x* x2 x0 b 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
x2 g x1 4 x1 1, 50597
x3 g x2 4 x2 1, 57925
x 8 g x7 4 x7 1, 56174
import numpy as np
import scipy as sci
from scipy import optimize
#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
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.
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
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
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
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
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.
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.
f x f xk x xk f xk
x x k 2 f
c
2!
Logo, escreveremos:
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
f x0 f x1
x 0 ; x1 x 0 ; x 2 x1 ; , p
f x0 f x1
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.
2. Segundo passo
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.
f (xk)
xk+1
p xk x
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
–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.
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()
0.0
–0.1
–0.2
–0.3
–0.4
–0.5
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
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.
def f(x):
return x**2-x
def df(x):
return 2x-1
a,n,x,y=nr(0.25)
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
0.00
–0.02
–0.04
–0.06
–0.08
–0.10
–0.12
f x k f x k 1
f ´ x k , x xk (4)
x k x k 1
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
f (x)
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.
As aproximações
Possível
Secante 2 Média a rápida Boa Geral iniciais não preci-
divergência
sam cercar a raiz
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.
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
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.
Objetivos de aprendizagem
Com o estudo deste capítulo, você será capaz de:
• identificar e compreender os processos de interpolação polinomial;
84 Cálculo Numérico
A ideia é de aproximar f(x) por uma função g(x).
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)
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.
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.
Assim,
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.
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
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
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
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.
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
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)
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))
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,
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,
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,
92 Cálculo Numérico
Figura 9
Representação gráfica do polinômio P4(x)
y y
L1
L2
x x
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
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:
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.
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.
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
y 2 y 1 3940 3090
f x1 , x 2 425
x 2 x1 7 5
f x1 , x 2 f x 0 , x1 425 390
f x 0 , x1 , x 2 8, 75
x2 x0 7 3
Portanto,
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.
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]
Algoritmo 1
Para i = 1, ...,n
Para j = n, ...,i
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
p = dn
i = n – 1, ..., 0
p = di + (t – xi) · p
Saída: {p = pn(t)}
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:
Portanto,
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:
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!
f ´´ c f c
n
c f(c) f’(c)
2! n!
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.
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.
Pm
Discreto Contínuo
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)
f(xi)
xi x
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
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
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
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.
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.
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
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
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.
min 2 x dx (f x g x )2 dx
b b
a a
f(x)
g(x)
a b x
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.
Seja Pn x i a k x ik . Então,
n
k 0
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
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 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
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,
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.
• calcular a área sob funções por meio de métodos com domínio discretizado;
a C1 C2 C3 C4 C5 C6 b x
af x dx i0aif xi
b n
Pn (x)
a = x0 x1 b = xn x
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
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
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”.
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.
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,
af x dx a0y0 a1y1
b
onde a0 aL0 x dx e a1 L1 x dx
b b
a
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.
aw x f x dx f c · b a aw x dx
b b
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.
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.
y1
P1(2) (x)
h = (b – a)/2
P1(1) (x)
y0
h h
a = x0 x1 b = x2 x
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.
b a h2 f
af x dx 2 f a 2 j1 f x j f b
h n 1
b
(2)
12
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.
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
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
Erro = 0.28–0.25
=0.03
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
Erro = 0.27–0.25
=0.02
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
y0
h h
a = x0 x1 = m b = x2 x
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.
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
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.
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).
3h 3h5 4
f x dx y 0 3 y 1 3y 2 y 3 f , x 0 , x3
b
a 8 80
(4)
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
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
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.
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
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
f x dx f xi ai
i 1
a
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
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
f x dx aif xi
i 0
(6)
a
af x dx i0ai ·f xi R n 1
b n
(7)
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
1 dn 2
n
Pn x x 1 (9)
2 n ! dx n
n
2
ai
(10)
a x P' x
2
2
i n i
n Pn 1 x xPn x
Pn'
1 x2
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).
(11)
1Pi x ·Pj x dx 0 para i ≠ j
1
i j
Assim,
P x Pn x Q x R x
grau 2n grau n grau n grau n
1P x dx
P x Q x dx R x dx
1 1 1
1 n 1
0 por 11
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).
Logo:
Então,
do polinômio ≤ 2n – 1.
O que fazer quando a função f não for um polinômio de grau ≤ 2n – 1?
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
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,
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.
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.
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).
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.
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
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.
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.
u(t i1 ) t i 1
u(t i ) du i f t , u t dt (3)
t
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)
t1 – t0 = h = Δt
(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 ).
u(t)
u1
h = t1 – t0
tan ⍺ = k
u(t1)
u(t1) = u(t0) + kh
u(t0) ⍺
t0 t1 t
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
5.5
y
5.0
4.5
4.0
1.0 1.2 1.4 1.6 1.8 2.0
x
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.
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.
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 ).
u’ = f (t, u(t))
e
df t , u t df t , u t
u f t , u t u
dt du
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.
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)
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.
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.
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
u(0) = u0 = 1
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
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
f
f t i , u t i f t i 1 , u t i 1
(11)
2
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
Vejamos o Exemplo 4 que utiliza o método de Euler modificado para resolver um PVI.
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
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
4.5
3.5
2.5
1.5
Na sequência, trazemos outro ajuste que pode ser aplicado ao método de Euler.
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).
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
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.
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.
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.
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.
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.
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
a2 b21
c1 c2
θ1 θ1
1 1
1
21 2θ1
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
2
i i
k1 = f(t , u(t ))
h
h
k2 f t i , u t i k1
2 2
1 1
1 1
2 2
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)
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.
a2 b21
a3 b31 b32
c1 c2 c3
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
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
1/2 1/2
1 –1 2
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.
a2 b21
a3 b31 b32
a4 b41 b42 b43
c1 c2 c3 c4
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.
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
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.
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.
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.
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:
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.
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.
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
t i 1
u t f t , u t dt
u t i 1 i
ti
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.
du
f t , u t
dt (22)
u t 0 u0
t is
ut
u t is i s 1
f t , u t dt (23)
t i s 1
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
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
s 1
u t i s u t i s 1 hjf t i j , u t i j
j 0
(27)
1
u t i 2 u t i 1 h jf t i j , u t i j (28)
j 0
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)
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
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
t i 2
2
u t i 3 u t i 2 h jf t i j , u t i j
j 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
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).
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]
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
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
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
Recursividade/Relação u j 4 u j 3
1
24
h 9fj 37fj1 59j2 55fj3
1.0
0.5
–0.5
–1.0
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
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
s
u t i s u t i s 1 hjf t i j , u t i j
j 0
du
f t , u t
dt
u t 0 u0
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
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
1s j 1 s
j k 1 d
j! s j! 0k 0,k s j1
(36)
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 à
u(t)
f (t, u(t))
(i)
t
(i+1)
t t
(i+2)
t
–h 0 h
1
h3
t dt h 0 h 1 0 2 h
2 2 2 2
3
0
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
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)
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)
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 ))]
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.
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.
du
f t , u t
dt
u t0 a
h
u t i 1 u t i f t i , u t i f t i 1 , u t i 1
2
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
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
f t , u t
du
dt
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.
dv j
f t , v 0 , v1 , v 2 , , v n 1
dt
Portanto,
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
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
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
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
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)
Exemplo 9
Seja um sistema de equações diferenciais do tipo:
du
dt w
dw u et
dt
• 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:
u2 u1 h
• 2 1 k1 k 2
w w 2
Logo,
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.
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)
v j t i 1 v j t i
h
6
k1 2k2 2k3 k 4 (47)
Exemplo 10
Seja um sistema de equações diferenciais do tipo:
du
dt w
dw u et
dt
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
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
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.
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.
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
3. Assumindo que:
f xk
x k 1 x k , k 0
f x
k
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.
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.
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
Cálculo Numérico
Numérico
MARINA
VARGAS
MARINA VARGAS
Código Logístico
ISBN 978-65-5821-174-7