Você está na página 1de 226

Cálculo Numérico

Andrey Dione Ferreira


Volta Redonda, RJ.
e-mail: andrey.ferreira@ifrj.edu.br

IFRJ

25 de maio de 2017

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 1 / 135


Sumário

1. Informações sobre o curso 4. Solução de Sistemas Lineares


2. Introdução Métodos Diretos
Método da Eliminação de Gauss
Conceitos Básicos
Fatoração LU
Aritmética de ponto flutuante Fatoração de Cholesky
Noções de erros Métodos Interativos
Polinômios de Taylor Método de Gauss Jacobi
3. Raízes de Equações Álgébricas e Método de Gauss-Seidel
Transcedentais 5. Ajuste de Curvas
Método da Bisseção Método dos Mínimos Quadrados
Regressão Linear - Caso Discreto
Método da Falsa Posição
Regressão Linear - Caso Contínuo
Método de Ponto Fixo ou Método Intera- Ajuste Não-Linear
tivo Linear (MIL) Interpolação Polinomial
Método de Newton-Raphson (MNR) 6. Integração Numérica
Método da Secante 7. Referências

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 2 / 135


Objetivo

Conhecer e aplicar métodos numéricos para solucionar problemas matemáticos que envolvam funções
polinomiais, algébricas, transcendentais, sistemas lineares, integrais, bem como desenvolver, compreen-
der e analisar os resultados obtidos a partir de algoritmos computacionais que implementam métodos
numéricos.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 3 / 135


Ementa

1. Parte 1:
• Introdução: Natureza e objetivo do cálculo numérico.
• Construção de algoritmos.
• Aritmética de ponto flutuante.
• Aproximação por arredondamento e truncamento.
• Estudos de erros: erro absoluto e relativo.
• Resolução numérica de equações polinomiais, algébricas e transcendentais.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 4 / 135


Ementa

1. Parte 1:
• Introdução: Natureza e objetivo do cálculo numérico.
• Construção de algoritmos.
• Aritmética de ponto flutuante.
• Aproximação por arredondamento e truncamento.
• Estudos de erros: erro absoluto e relativo.
• Resolução numérica de equações polinomiais, algébricas e transcendentais.
2. Parte 2
• Métodos numéricos diretos e iterativos para solucionar sistemas lineares.
• Interpolação polinomial.
• Integração numérica.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 4 / 135


Referências

Básica:
1. SPERANDIO, Décio. SILVA, Luiz Henry M. e MENDES, Joãoo Teixeira. CÁLCULO NUMÉ-
RICO: Características matemáticas e computacionais dos métodos numéricos. 1a Edição, São
Paulo, Brasil: Pearson Prentice Hall, 2003.
2. BURDEN, Richard L., FAIRES, J. Douglas. Análise Numérica. 8 ed. São Paulo, Brasil: Cengage
Learning, 2008.
3. RUGGIERO, Márcia A G. LOPES, Vera Lúcia R.. Cálculo Numérico: Aspectos teóricos e compu-
tacionais . 2. São Paulo, Brasil: Makron Books , 2005.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 5 / 135


Avaliações
Parte 1
Uma avaliação escrita E1 = 10 e uma avaliação prática P 1 = 10, gerando uma média
N 1 = 0, 6 × E1 + 0, 4 × P 1
Parte 2
Uma avaliação escrita E2 = 10 e uma avaliação prática P 2 = 10 com média
N 2 = 0, 5 × E2 + 0, 5 × P 2

Média M:
N1 + N2
M= .
2

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 6 / 135


Avaliações
Parte 1
Uma avaliação escrita E1 = 10 e uma avaliação prática P 1 = 10, gerando uma média
N 1 = 0, 6 × E1 + 0, 4 × P 1
Parte 2
Uma avaliação escrita E2 = 10 e uma avaliação prática P 2 = 10 com média
N 2 = 0, 5 × E2 + 0, 5 × P 2

Média M:
N1 + N2
M= .
2
Condições de aprovação direta:
• Se M > 6.0 : Aprovado e com direito de Avaliação Suplementar (AS)
• Se 4.0 6 M : Direito a Avaliação Suplementar
• Se M < 4.0: Reprovado

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 6 / 135


Avaliações
Parte 1
Uma avaliação escrita E1 = 10 e uma avaliação prática P 1 = 10, gerando uma média
N 1 = 0, 6 × E1 + 0, 4 × P 1
Parte 2
Uma avaliação escrita E2 = 10 e uma avaliação prática P 2 = 10 com média
N 2 = 0, 5 × E2 + 0, 5 × P 2

Média M:
N1 + N2
M= .
2
Condições de aprovação direta:
• Se M > 6.0 : Aprovado e com direito de Avaliação Suplementar (AS)
• Se 4.0 6 M : Direito a Avaliação Suplementar
• Se M < 4.0: Reprovado
(
M + AS
, se fez AS
Cálculo Numérico M édia Andrey
F inal (M F) =
Dione Ferreira - 2andrey.ferreira@ifrj.edu.br 6 / 135
Outras informações

Para
• Material complementar (apostilas, vídeos e outros);
• Calendário;
• Ficar menos perdido;

Acesse: http://site.ifrj.edu.br/andrey-ferreira/

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 7 / 135


Introdução
Fases de resolução de problemas físicos

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 8 / 135


Conceitos Básicos:

• Problema Numérico;
• Método Numérico;
• Algoritmo; e
• Interações.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 9 / 135


Conceitos Básicos
Problema Numérico

Problema 1
Determinar as soluções da equação

x6 − 20x5 − 110x4 + 50x3 − 5x2 + 70x − 100 = 0 (1)

é um problema numérico, uma vez que os dados de entrada e saída do problema são conjuntos
numéricos.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 10 / 135


Conceitos Básicos
Problema Numérico

Problema 1
Determinar as soluções da equação

x6 − 20x5 − 110x4 + 50x3 − 5x2 + 70x − 100 = 0 (1)

é um problema numérico, uma vez que os dados de entrada e saída do problema são conjuntos
numéricos.

Problema 2
Determinar a solução de  2
 d y
 = x2 + y 2 , x ∈ (0, 5)
dx2 (2)
 y(0) = 0
y(5) = 1.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 10 / 135


Podemos transformar o problema 2 em um problema numérico via, por exemplo, um método de
diferenças finitas. Nesse caso, podemos ter

Problema 3
Determinar yi , i = 1, · · · , m − 1 tal que

 yi+1 − 2yi + yi − 1 = h2 (x2i + yi2 ), i = 1, · · · , m − 1
y0 = 0 (3)
 ym = 1,

onde yi ≈ y(xi ), h = 5/m e xi = ih.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 11 / 135


Conceitos Básicos
Método Numérico

Definição 1 (Método Numérico)


Método numérico é um conjunto de procedimentos utilizados para transformar um modelo matemático
num problema numérico ou um conjunto de procedimentos usados para resolver um problema numérico.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 12 / 135


Conceitos Básicos
Método Numérico

Definição 1 (Método Numérico)


Método numérico é um conjunto de procedimentos utilizados para transformar um modelo matemático
num problema numérico ou um conjunto de procedimentos usados para resolver um problema numérico.

Na escolha ou construção de um método numérico, devemos avaliar os seguinte aspectos


1. precisão e capacidade desejada para os resultados;

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 12 / 135


Conceitos Básicos
Método Numérico

Definição 1 (Método Numérico)


Método numérico é um conjunto de procedimentos utilizados para transformar um modelo matemático
num problema numérico ou um conjunto de procedimentos usados para resolver um problema numérico.

Na escolha ou construção de um método numérico, devemos avaliar os seguinte aspectos


1. precisão e capacidade desejada para os resultados;
2. capacidade do método em conduzir aos resultados desejados (velocidade de convergência); e

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 12 / 135


Conceitos Básicos
Método Numérico

Definição 1 (Método Numérico)


Método numérico é um conjunto de procedimentos utilizados para transformar um modelo matemático
num problema numérico ou um conjunto de procedimentos usados para resolver um problema numérico.

Na escolha ou construção de um método numérico, devemos avaliar os seguinte aspectos


1. precisão e capacidade desejada para os resultados;
2. capacidade do método em conduzir aos resultados desejados (velocidade de convergência); e
3. esforço computacional despendido (tempo de processamento, economia de memória necessária para
a resolução).

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 12 / 135


Conceitos Básicos
Algoritmo

Definição 2 (Algoritmo)
Um algoritmo é uma sequência finita (digamos de tamanho n) de regras, raciocínios ou operações que,
aplicada a um número finito de dados, permite solucionar classes semelhantes de problemas.

Observação:
• Cada passo de um algoritmo envolve um número finito de operações;
• Ao fim dos n passos, um algoritmo deve fornecer valores ao menos "próximos"da solução do problema
matemático;
• O valor de n não precisa ser conhecido (algoritmos interativos).

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 13 / 135


Conceitos Básicos
Métodos interativos

Envolvem:
• Interação (repetição do processo) ou aproximações sucessivas;

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 14 / 135


Conceitos Básicos
Métodos interativos

Envolvem:
• Interação (repetição do processo) ou aproximações sucessivas;
• Tentativa inicial: Primeira aproximação para a solução do problema numérico;

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 14 / 135


Conceitos Básicos
Métodos interativos

Envolvem:
• Interação (repetição do processo) ou aproximações sucessivas;
• Tentativa inicial: Primeira aproximação para a solução do problema numérico;
• Equação de recorrência: Equação por meio da qual, são realizadas as interações;

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 14 / 135


Conceitos Básicos
Métodos interativos

Envolvem:
• Interação (repetição do processo) ou aproximações sucessivas;
• Tentativa inicial: Primeira aproximação para a solução do problema numérico;
• Equação de recorrência: Equação por meio da qual, são realizadas as interações;
• Teste de parada: Instrumento por meio do qual finaliza-se o processo interativo.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 14 / 135


Aritmética de ponto flutuante
Aritmética de ponto flutuante
Base decimal e binária

De forma geral, um número x ∈ R na base β é representado por


x = (am am−1 . . . a1 a0 , b1 b2 . . . bn )β ,

isto é,
x = am β m + am−1 β m−1 + · · · + a1 β 1 + a0 β 0 + b1 β −1 + b2 β −2 + · · · + bn β −n , (4)
onde
ai , i = 0, 1, 2, . . . , e bj , j = 1, 2, . . . , n
pertencem ao conjunto
A = {k ∈ N; 0 6 k 6 β − 1} .

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 16 / 135


Exemplos:

Sistema decimal (β = 10): A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};


Sistema octal (β = 8): A = {0, 1, 2, 3, 4, 5, 6, 7};
Sistema binário (β = 2): A = {0, 1}.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 17 / 135


Exemplos:

Sistema decimal (β = 10): A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};


Sistema octal (β = 8): A = {0, 1, 2, 3, 4, 5, 6, 7};
Sistema binário (β = 2): A = {0, 1}.
Exercício: Dado o número real x na base indicada, escreva-o na forma da expressão (4).
a) (1995)10

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 17 / 135


Exemplos:

Sistema decimal (β = 10): A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};


Sistema octal (β = 8): A = {0, 1, 2, 3, 4, 5, 6, 7};
Sistema binário (β = 2): A = {0, 1}.
Exercício: Dado o número real x na base indicada, escreva-o na forma da expressão (4).
a) (1995)10
b) (19, 95)10

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 17 / 135


Exemplos:

Sistema decimal (β = 10): A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};


Sistema octal (β = 8): A = {0, 1, 2, 3, 4, 5, 6, 7};
Sistema binário (β = 2): A = {0, 1}.
Exercício: Dado o número real x na base indicada, escreva-o na forma da expressão (4).
a) (1995)10
b) (19, 95)10
c) (10111)2

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 17 / 135


Exemplos:

Sistema decimal (β = 10): A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};


Sistema octal (β = 8): A = {0, 1, 2, 3, 4, 5, 6, 7};
Sistema binário (β = 2): A = {0, 1}.
Exercício: Dado o número real x na base indicada, escreva-o na forma da expressão (4).
a) (1995)10
b) (19, 95)10
c) (10111)2
d) (1011, 101)2

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 17 / 135


Mudança de base: Decimal para binária

Passo 1: Divide-se sucessivamente a parte inteira de x na base 10 por 2, até que o último quociente
seja igual a 1.
am am−1 . . . a1 a0 2
r0 q1 2
r1 q2 2
r2 q3
..
.
qe 2
re 1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 18 / 135


Mudança de base: Decimal para binária
Passo 2: Compõe-se i que representará a parte inteira do número na base binária da seguinte forma:

i = 1re . . . r1 r0 .

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 19 / 135


Mudança de base: Decimal para binária
Passo 2: Compõe-se i que representará a parte inteira do número na base binária da seguinte forma:

i = 1re . . . r1 r0 .

Passo 3: Multiplica-se a parte fracionária de x na base 10 por 2. Desse resultado tomasse a parte
inteira como sendo o primeiro dígito de f , que representará a parte fracionária, desse número na base
binária. Repete-se esse procedimento até que a parte fracionária do último produto seja igual a zero ou
apareça uma dízima.

0, b1 b2 . . . bn 0, b11 b12 . . . b1n 0, b1k−1 bk−1


2 . . . bk−1
n
×2 ×2 ×2
···
f1 , b11 b12 . . . b1n f1 , b21 b22 . . . b2n fk , 00 . . . 0

f = 0, f1 f2 . . . fk .

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 19 / 135


Mudança de base: Decimal para binária
Passo 2: Compõe-se i que representará a parte inteira do número na base binária da seguinte forma:

i = 1re . . . r1 r0 .

Passo 3: Multiplica-se a parte fracionária de x na base 10 por 2. Desse resultado tomasse a parte
inteira como sendo o primeiro dígito de f , que representará a parte fracionária, desse número na base
binária. Repete-se esse procedimento até que a parte fracionária do último produto seja igual a zero ou
apareça uma dízima.

0, b1 b2 . . . bn 0, b11 b12 . . . b1n 0, b1k−1 bk−1


2 . . . bk−1
n
×2 ×2 ×2
···
f1 , b11 b12 . . . b1n f1 , b21 b22 . . . b2n fk , 00 . . . 0

f = 0, f1 f2 . . . fk .
Finalmente:
x = (am am−1 . . . a1 a0 , b1 b2 . . . bn )10 = (1re . . . r1 r0 , f1 f2 , . . . , fk )2 .
Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 19 / 135
Mudança de base: Binária para decimal
Seja x = (1re . . . r1 r0 , f1 f2 . . . fk )2 . Para converter este número para a base binária, basta
1. Representá-lo conforme (4)

x = am β m + am−1 β m−1 + · · · + a1 β 1 + a0 β 0 + b1 β −1 + b2 β −2 + · · · + bn β −n ,

e
2. efetuar as operações.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 20 / 135


Mudança de base: Binária para decimal
Seja x = (1re . . . r1 r0 , f1 f2 . . . fk )2 . Para converter este número para a base binária, basta
1. Representá-lo conforme (4)

x = am β m + am−1 β m−1 + · · · + a1 β 1 + a0 β 0 + b1 β −1 + b2 β −2 + · · · + bn β −n ,

e
2. efetuar as operações.
Exemplo:

x Representação na base 10

(10111)2 1 × 24 + 0 × 23 + 1 × 22 + 1 × 21 + ×20 = (23)10

(10111, 101)2 (23)10 + 1 × 2−1 + 0 × 2−2 + 1 × 2−3 = (23, 625)10

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 20 / 135


Aritmética de ponto flutuante

Dois tipos de erros por arredondamento podem surgir:


1. No processo de conversão de base:

Ex :(0, 6)10 = (0, 10011001 . . . )2 ;

2. Na representação finita de dígitos que as máquinas utilizam.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 21 / 135


Aritmética de ponto flutuante

Dois tipos de erros por arredondamento podem surgir:


1. No processo de conversão de base:

Ex :(0, 6)10 = (0, 10011001 . . . )2 ;

2. Na representação finita de dígitos que as máquinas utilizam.


Como os números são representados na aritmética de ponto flutuante?
Considere uma aritmética de ponto flutuante de t dígitos. Um números real na base β nessa aritmé-
tica tem a forma geral
±(.d1 d2 . . . dt ) × β E (5)
onde (.d1 d2 . . . dt ) é uma fração de β, que chamamos de mantissa, 0 6 dj 6 β − 1, j = 1, . . . , t;
E ∈ (m, M ), com os valores de m e M dependendo da máquina utilizada. (Em geral m = −M )

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 21 / 135


Aritmética de ponto flutuante

• O número máximo de dígitos t é determinado pelo comprimento da palavra no computador;

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 22 / 135


Aritmética de ponto flutuante

• O número máximo de dígitos t é determinado pelo comprimento da palavra no computador;


• Um bit é um digito da mantissa, quando é empregado a base 2;

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 22 / 135


Aritmética de ponto flutuante

• O número máximo de dígitos t é determinado pelo comprimento da palavra no computador;


• Um bit é um digito da mantissa, quando é empregado a base 2;
• Considerando β = 10, na aritmética de ponto flutuante adota-se o arredondamento usual (por falta
ou por excesso);

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 22 / 135


Aritmética de ponto flutuante

• O número máximo de dígitos t é determinado pelo comprimento da palavra no computador;


• Um bit é um digito da mantissa, quando é empregado a base 2;
• Considerando β = 10, na aritmética de ponto flutuante adota-se o arredondamento usual (por falta
ou por excesso);
• Um número não poderá ser representado na máquina com sistema de aritmética de ponto flutuante
se o expoente E estiver fora dos limites m e M :
• Erro de underflow se resultar E < m;
• Erro de overflow se resultar E > M .

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 22 / 135


Aritmética de ponto flutuante

• O número máximo de dígitos t é determinado pelo comprimento da palavra no computador;


• Um bit é um digito da mantissa, quando é empregado a base 2;
• Considerando β = 10, na aritmética de ponto flutuante adota-se o arredondamento usual (por falta
ou por excesso);
• Um número não poderá ser representado na máquina com sistema de aritmética de ponto flutuante
se o expoente E estiver fora dos limites m e M :
• Erro de underflow se resultar E < m;
• Erro de overflow se resultar E > M .

Um sistema de ponto flutuante depende, portanto, das variáveis β, t, m, M e pode ser representado
pela função
F = F (β, t, m, M ).

A precisão da máquina com o sistema F fica definido pelo número de dígitos da mantissa.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 22 / 135


Exemplos:

1. Considerando o sistema de pausearitmética de ponto flutuante F (10, 3, −4, 4), temos a seguinte
representação nesse sistema para o número x
x Representação

−279, 15 −0, 279 × 103


1, 35 0, 135 × 103
0, 024712 0, 247 × 10−1
10.093 0, 101 × 102

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 23 / 135


Exemplos:

1. Considerando o sistema de pausearitmética de ponto flutuante F (10, 3, −4, 4), temos a seguinte
representação nesse sistema para o número x
x Representação

−279, 15 −0, 279 × 103


1, 35 0, 135 × 103
0, 024712 0, 247 × 10−1
10.093 0, 101 × 102

2. Considerando o sistema de aritmética de ponto flutuante F (2, 10, −15, 15)


x Representação

(23)10 0, 10111000000 × 2101


(−7, 125)10 −0, 1110010000 × 211

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 23 / 135


Representação no computador

No sistema F (2, 10, −15, 15), a representação de (23)10 fica assim:

0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 1

Valor do expoente
Sinal da Mantissa

Sinal do expoente
Valor da Mantissa

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 24 / 135


Representação no computador

Já para (−7, 125)10 = −0, 1110010000 × 211 tem-se:

1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1

Valor do expoente
Sinal da Mantissa

Sinal do expoente
Valor da Mantissa

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 25 / 135


Noções de erros
Noções de erros

Principais fontes de erros:


1. erro nos dados de entrada;

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 27 / 135


Noções de erros

Principais fontes de erros:


1. erro nos dados de entrada;
2. erros no estabelecimento do modelo matemático;

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 27 / 135


Noções de erros

Principais fontes de erros:


1. erro nos dados de entrada;
2. erros no estabelecimento do modelo matemático;
3. erros de arredondamento durante a computação (dependem de como os números são representados
na máquina);

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 27 / 135


Noções de erros

Principais fontes de erros:


1. erro nos dados de entrada;
2. erros no estabelecimento do modelo matemático;
3. erros de arredondamento durante a computação (dependem de como os números são representados
na máquina);
4. erros de truncamento; e

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 27 / 135


Noções de erros

Principais fontes de erros:


1. erro nos dados de entrada;
2. erros no estabelecimento do modelo matemático;
3. erros de arredondamento durante a computação (dependem de como os números são representados
na máquina);
4. erros de truncamento; e
5. erros humanos e de máquinas.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 27 / 135


Erro de truncamento

É o erro inerente ao método numérico. este erro surge quando substituimos um pricedimento mate-
mático infinito por um finito.

Exemplo 1
A série de Taylor da função f definida por f (x) = ex em torno de x = 0 é expressa por:

x2 x3 x4
ex = 1 + x + + + + ··· ,
2! 3! 4!
então
1 1 1
e=1+1+ + + + ··· .
2! 3! 4!
Desejando-se calculara o valor de e utilizando-se os cincos primeiros terms da série, tem-se:

e ≈ 2, 708.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 28 / 135


Erro Absoluto e Erro Relativo

Seja x o valor aproximado para uma quatidade cujo valor exato é x. Então definimos:
Erro absoluto em x : |x − x|
x − x
Erro relativo em x :
x

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 29 / 135


Propagação de Erro: Instabilidade numérica

Como o erro se propaga em uma seqência de operações?

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 30 / 135


Propagação de Erro: Instabilidade numérica

Como o erro se propaga em uma seqência de operações?


Estabilidade numérica: Caso a propagação do erro não seja significativa, dizemos que o pro-
blema (método) é estável numéricamente. Caso contrário, se pequenas perturbações afetam de forma
significativa o resultado, dizemos que o problema é instável numericamente.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 30 / 135


Propagação de Erro: Instabilidade numérica

Como o erro se propaga em uma seqência de operações?


Estabilidade numérica: Caso a propagação do erro não seja significativa, dizemos que o pro-
blema (método) é estável numéricamente. Caso contrário, se pequenas perturbações afetam de forma
significativa o resultado, dizemos que o problema é instável numericamente.

Exemplo 2
Calcular os termos da sequência {yi }i∈N , onde
1
xn
Z
yn = dx. (6)
0
x+5

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 30 / 135


Propagação de Erro: Instabilidade numérica

Como o erro se propaga em uma seqência de operações?


Estabilidade numérica: Caso a propagação do erro não seja significativa, dizemos que o pro-
blema (método) é estável numéricamente. Caso contrário, se pequenas perturbações afetam de forma
significativa o resultado, dizemos que o problema é instável numericamente.

Exemplo 2
Calcular os termos da sequência {yi }i∈N , onde
1
xn
Z
yn = dx. (6)
0
x+5

Note que {yn } é decrescente (y0 > y1 > y2 > y3 > · · · ) e yi > 0, i = 1, 2, 3, · · · .

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 30 / 135


Propagação de Erro: Instabilidade numérica
Note que, de (6) podemos escrever a seguinte equação de recorrência (VERIFIQUE!)
1
yn = − 5yn−1 , n > 1. (7)
n

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 31 / 135


Propagação de Erro: Instabilidade numérica
Note que, de (6) podemos escrever a seguinte equação de recorrência (VERIFIQUE!)
1
yn = − 5yn−1 , n > 1. (7)
n
Z 1
1
y0 = = ln(6) − ln(5) ≈ 0, 18232156. (8)
0
x+5

Tomando y0 ≈ 0, 182 e usando a equação de recorrência (7) temos

y1 ≈ 0, 090
y2 ≈ 0, 050
y3 ≈ 0, 083 (y3 > y2 )
y4 ≈ −0, 165 (y4 < 0).

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 31 / 135


Propagação de Erro: Instabilidade numérica
Note que, de (6) podemos escrever a seguinte equação de recorrência (VERIFIQUE!)
1
yn = − 5yn−1 , n > 1. (7)
n
Z 1
1
y0 = = ln(6) − ln(5) ≈ 0, 18232156. (8)
0
x+5

Tomando y0 ≈ 0, 182 e usando a equação de recorrência (7) temos

y1 ≈ 0, 090
y2 ≈ 0, 050
y3 ≈ 0, 083 (y3 > y2 )
y4 ≈ −0, 165 (y4 < 0).

Isso significa que a fórmula de recorrência (7) fornece um método instável.


Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 31 / 135
Propagação de Erro: Instabilidade numérica
Porém, rescrevendo (7) como
1 yn
yn−1 = − , n = k, k − 1, · · · , 1, 0 (9)
5n 5
Se for fornecido yk , podemos calcular yi , i < k. Considerando, por exemplo, y8 ≈ 0, 019 temos

y7 ≈ 0, 021
y6 ≈ 0, 025
y5 ≈ 0, 028
y4 ≈ 0, 034
y3 ≈ 0, 043
y2 ≈ 0, 058
y1 ≈ 0, 088
y0 ≈ 0, 182

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 32 / 135


Propagação de Erro: Instabilidade numérica
Porém, rescrevendo (7) como
1 yn
yn−1 = − , n = k, k − 1, · · · , 1, 0 (9)
5n 5
Se for fornecido yk , podemos calcular yi , i < k. Considerando, por exemplo, y8 ≈ 0, 019 temos

y7 ≈ 0, 021
y6 ≈ 0, 025
y5 ≈ 0, 028
y4 ≈ 0, 034
y3 ≈ 0, 043
y2 ≈ 0, 058
y1 ≈ 0, 088
y0 ≈ 0, 182

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 32 / 135


Polinômios de Taylor
Polinômios de Taylor
Teorema 1
N
Se n ∈ ∗ e f é uma função que derivável n vezes no intervalo fechado [a − δ, a + δ] e n + 1 vezes no
intervalo aberto (a − δ, a + δ), onde δ > 0, então para todo x ∈ (a − δ, a + δ), têm-se

f 0 (a) f (2) (a) f (n−1) (a)


f (x) = f (a) + (x − a) + (x − a)2 + · · · + (x − a)(n−1) + Rn (x), (10)
1! 2! (n − 1)!
onde
f (n) (ξx )(x − a)
Rn (x) =
n!
e ξ é um ponto intermediário entre x e a.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 34 / 135


Polinômios de Taylor
Teorema 1
N
Se n ∈ ∗ e f é uma função que derivável n vezes no intervalo fechado [a − δ, a + δ] e n + 1 vezes no
intervalo aberto (a − δ, a + δ), onde δ > 0, então para todo x ∈ (a − δ, a + δ), têm-se

f 0 (a) f (2) (a) f (n−1) (a)


f (x) = f (a) + (x − a) + (x − a)2 + · · · + (x − a)(n−1) + Rn (x), (10)
1! 2! (n − 1)!
onde
f (n) (ξx )(x − a)
Rn (x) =
n!
e ξ é um ponto intermediário entre x e a.

Observação:


X f (k) (a)
f (x) = (x − a)k
k!
k=0

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 34 / 135


Polinômios de Taylor
Teorema 1
N
Se n ∈ ∗ e f é uma função que derivável n vezes no intervalo fechado [a − δ, a + δ] e n + 1 vezes no
intervalo aberto (a − δ, a + δ), onde δ > 0, então para todo x ∈ (a − δ, a + δ), têm-se

f 0 (a) f (2) (a) f (n−1) (a)


f (x) = f (a) + (x − a) + (x − a)2 + · · · + (x − a)(n−1) + Rn (x), (10)
1! 2! (n − 1)!
onde
f (n) (ξx )(x − a)
Rn (x) =
n!
e ξ é um ponto intermediário entre x e a.

Observação:


X f (k) (a)
f (x) = (x − a)k
k!
k=0

• Raio de convergência para séries de potência?


Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 34 / 135
Polinômios de Taylor
Observações

• Note que se h = x − a, podemos escrever

f 0 (a) f (2) (a) 2 f (n−1) (a) n−1


f (a + h) = f (a) + h+ h + ··· + h + Rn (x),
1! 2! (n − 1)!

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 35 / 135


Polinômios de Taylor
Observações

• Note que se h = x − a, podemos escrever

f 0 (a) f (2) (a) 2 f (n−1) (a) n−1


f (a + h) = f (a) + h+ h + ··· + h + Rn (x),
1! 2! (n − 1)!

• Truncando a expressão (10) podemos escrever

f 0 (a) f (2) (a) f (n−1) (a)


f (x) ≈ f (a) + (x − a) + (x − a)2 + · · · + (x − a)(n−1) ,
1! 2! (n − 1)!
com um erro de truncamento estimado por
M
|Rn (x)| 6 (x − a)n ,
n!
onde M = max |f (n) (t)|.
a6t6x

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 35 / 135


Polinômios de Taylor

Exemplo 3
Seja f definida por f (x) = ex . Vamos desenvolver a série de Taylor para f em torno de a = 0,
calcular e−1 com os cinco primeiros termos dessa série e estimar o erro cometido.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 36 / 135


Polinômios de Taylor

Exemplo 3
Seja f definida por f (x) = ex . Vamos desenvolver a série de Taylor para f em torno de a = 0,
calcular e−1 com os cinco primeiros termos dessa série e estimar o erro cometido.

Solução: Para f (x) = ex e a = 0 temos que

f (0) = f 0 (0) = f 00 (0) = · · · = f (n) (0) = · · · = 1.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 36 / 135


Polinômios de Taylor

Exemplo 3
Seja f definida por f (x) = ex . Vamos desenvolver a série de Taylor para f em torno de a = 0,
calcular e−1 com os cinco primeiros termos dessa série e estimar o erro cometido.

Solução: Para f (x) = ex e a = 0 temos que

f (0) = f 0 (0) = f 00 (0) = · · · = f (n) (0) = · · · = 1.

Temos
x2 x3
ex = 1 + x + + + ···
2! 3!
e o raio de convergência é infinito.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 36 / 135


Então, para os cinco primeiros termos temos
1 1 1
e−1 ≈ 1 − 1 + − + = 0, 375. (11)
2! 3! 4!
Com estimativa para o erro de truncamento dada por
M
|R5 (−1)| 6 |(−1)|.
5!

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 37 / 135


Então, para os cinco primeiros termos temos
1 1 1
e−1 ≈ 1 − 1 + − + = 0, 375. (11)
2! 3! 4!
Com estimativa para o erro de truncamento dada por
M
|R5 (−1)| 6 |(−1)|.
5!

Sendo M = max|et |, −1 6 t 6 0, então M = 1, assim:

|R5 (−1)| 6 0, 008333 < 10−2 .

Ou seja, a aproximação para e−1 dada por (11) tem pelo menos uma casa decimal correta.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 37 / 135


Polinômios de Taylor

Exemplo 4
Quantos termos da série de Taylor da função f definida por f (x) = ln(x − 1), em torno de x = 2,
devem ser considerados para calcularmos ln(1.5) com erro absoluto cometido na aproximação inferior
a 0.001?

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 38 / 135


Raízes de Equações Álgébricas e
Transcedentais
Raízes de Equações Álgébricas e Transcedentais

Objetivo: Buscar solução de equações do tipo

f (x) = 0.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 40 / 135


Raízes de Equações Álgébricas e Transcedentais

Objetivo: Buscar solução de equações do tipo

f (x) = 0.

Existem basicamente duas etapas nesses métodos:


• Isolamento das raízes: Consiste em achar um intervalo fechado [a; b] que contém a raiz.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 40 / 135


Raízes de Equações Álgébricas e Transcedentais

Objetivo: Buscar solução de equações do tipo

f (x) = 0.

Existem basicamente duas etapas nesses métodos:


• Isolamento das raízes: Consiste em achar um intervalo fechado [a; b] que contém a raiz.
• Refinamento: Partindo de uma aproximaçãoo inicial refinamos a solução até que certos critérios
sejam satisfeitos.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 40 / 135


Fase I: Isolamento das Raízes

Objetivo: Encontrar um intervalo [a; b] com amplitude pequena que contenha uma raiz de f . Para
isso, utilizaremos duas estratégias: Análise gráfica e Tabelamento da função.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 41 / 135


Fase I: Isolamento das Raízes

Objetivo: Encontrar um intervalo [a; b] com amplitude pequena que contenha uma raiz de f . Para
isso, utilizaremos duas estratégias: Análise gráfica e Tabelamento da função.
A análise gráfica é baseada na ideia de que, a partir da equação f (x) = 0, podemos obter uma
equaçãoao equivalente g(x) − h(x) = 0, onde g e h sejam funções mais simples e de fácil análise gráfica.

f (ξ) = 0 ⇔ g(ξ) = h(ξ).

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 41 / 135


Exemplo
Seja f (x) = e−x − x. Então f (x) = g(x) − h(x) com g(x) = e−x e h(x) = x.

0.9

0.8

0.7

0.6

0.5 y = e−x
y=x
0.4

0.3

0.2

0.1

Cálculo Numérico 0 Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 42 / 135


Teorema 2

Seja f : [a, b] → R uma função contínua em [a, b]. Se f (a)f (b) < 0 então existe pelo menos um
ξ ∈ (a, b) tal que f (ξ) = 0.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 43 / 135


Teorema 2

Seja f : [a, b] → R uma função contínua em [a, b]. Se f (a)f (b) < 0 então existe pelo menos um
ξ ∈ (a, b) tal que f (ξ) = 0.

Da análise gráfica, vemos que f (x) = e−x − x tem uma raiz no intervalo [0, 1]. Tabelando alguns
valores para pontos espaçados por 0.25 de f temos

x 0 0.25 0.5 0.75 1.0


f (x) 1 0.528 0.106 -0.277 -0.632

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 43 / 135


Teorema 2

Seja f : [a, b] → R uma função contínua em [a, b]. Se f (a)f (b) < 0 então existe pelo menos um
ξ ∈ (a, b) tal que f (ξ) = 0.

Da análise gráfica, vemos que f (x) = e−x − x tem uma raiz no intervalo [0, 1]. Tabelando alguns
valores para pontos espaçados por 0.25 de f temos

x 0 0.25 0.5 0.75 1.0


f (x) 1 0.528 0.106 -0.277 -0.632

Observação: Note que, sendo f 0 (x) = −e−x − 1 < 0, podemos garantir a unicidade da raiz.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 43 / 135


4 4

2 2

0 0

−2 −2

−4 −4
0 1 2 3 0 1 2 3

4 4

2 2

0 0

−2 −2

−4 −4
0 1 2 3 0 1 2 3
Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 44 / 135
Fase II: Refinamento

Nesta etapa, partiremos de uma solução inicial x0 e formaremos uma sequência {xk }, k ∈ N tal que
lim xk = ξ.
k→∞

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 45 / 135


Método da Bisseção
É baseado no Teorema 2.
A ideia é reduzir a amplitude do intervalo até atingir uma precisão requerida b − a < ε.

15

10

−5

−10

−15
0 0.5 1 1.5 2 2.5 3

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 46 / 135


Método da Bisseção
Peudocódigo
Algoritmo 1: Método da Bisseção
Dados: ε, a,b, f
Resultado: ξ
1 enquanto b − a > ε faça
a+b
2 ξ=
2
3 se f (ξ) ∗ f (a) > 0 então
4 a=ξ
5 fim
6 senão
7 b=ξ
8 fim
9 fim
a+b
10 ξ=
2
11 retorna ξ

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 47 / 135


Método da Bisseção
Análise da convergência
Teorema 3
Seja f uma função contínua em [a; b], onde f (a)f (b) < 0. Então o método da Bisseção gera uma
sequência {xk } que converge para a raiz ξ quando k → ∞.

Demonstração. O método gera três sequências, a saber {ak }k∈N , {bk }k∈N e {xk }k∈N .
a0 6 a1 6 a2 6 · · · b0 ⇒ ∃M ∈ R tal que lim ak = M
k→∞

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 48 / 135


Método da Bisseção
Análise da convergência
Teorema 3
Seja f uma função contínua em [a; b], onde f (a)f (b) < 0. Então o método da Bisseção gera uma
sequência {xk } que converge para a raiz ξ quando k → ∞.

Demonstração. O método gera três sequências, a saber {ak }k∈N , {bk }k∈N e {xk }k∈N .
a0 6 a1 6 a2 6 · · · b0 ⇒ ∃M ∈ R tal que lim ak = M
k→∞

b0 > b1 > b2 > · · · a0 ⇒ ∃m ∈ R tal que lim ak = m


n→∞

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 48 / 135


Método da Bisseção
Análise da convergência
Teorema 3
Seja f uma função contínua em [a; b], onde f (a)f (b) < 0. Então o método da Bisseção gera uma
sequência {xk } que converge para a raiz ξ quando k → ∞.

Demonstração. O método gera três sequências, a saber {ak }k∈N , {bk }k∈N e {xk }k∈N .
a0 6 a1 6 a2 6 · · · b0 ⇒ ∃M ∈ R tal que lim ak = M
k→∞

b0 > b1 > b2 > · · · a0 ⇒ ∃m ∈ R tal que lim ak = m


n→∞

ak 6 xk 6 bk .
b0 − a0
bk − ak = ⇒ lim bk − ak = 0 ⇒ m = M.
2k n→∞
Como ak 6 xk 6 bk , temos que lim xk = m.
n→∞

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 48 / 135


Método da Bisseção
Análise da convergência
Teorema 3
Seja f uma função contínua em [a; b], onde f (a)f (b) < 0. Então o método da Bisseção gera uma
sequência {xk } que converge para a raiz ξ quando k → ∞.

Demonstração. O método gera três sequências, a saber {ak }k∈N , {bk }k∈N e {xk }k∈N .
a0 6 a1 6 a2 6 · · · b0 ⇒ ∃M ∈ R tal que lim ak = M
k→∞

b0 > b1 > b2 > · · · a0 ⇒ ∃m ∈ R tal que lim ak = m


n→∞

ak 6 xk 6 bk .
b0 − a0
bk − ak = ⇒ lim bk − ak = 0 ⇒ m = M.
2k n→∞
Como ak 6 xk 6 bk , temos que lim xk = m.
n→∞
Além disso, para cada interação f (ak )f (bk ) < 0
   
Cálculo
0 > lim f (ak )f (bk ) =Andrey
Numérico
lim f (ak ) lim f (bk ) = f lim ak f lim bk = f 2 (m) > 0.
Dione Ferreira - andrey.ferreira@ifrj.edu.br 48 / 135
n→∞ n→∞ n→∞ n→∞ n→∞
Método da Bisseção
Estimativa do Número de interações

b0 − a0
bk − ak < ε ⇔ <ε
2k
b0 − a0
⇒ 2k >
ε

log(b0 − a0 ) − log(ε)
⇒k> .
log(2)

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 49 / 135


Método da Bisseção
Estimativa do Número de interações

b0 − a0
bk − ak < ε ⇔ <ε
2k
b0 − a0
⇒ 2k >
ε

log(b0 − a0 ) − log(ε)
⇒k> .
log(2)

Exemplo 5
Para a função f (x) = e−x − x considerada anteriormente, isolamos uma raiz no intervalo [0.5, 0.75].
Considerando uma precisão ε = 10−8 , temos

log(0.75 − 0.5) − log(10−8 )


k> = 24.575.
log(2)

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 49 / 135


Método da Falsa Posição
Note que o método da bisseção não usa nem um fator que tente indicar o quão próximos estão
extremos dos intervalos da solução.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 50 / 135


Método da Falsa Posição
Ideia: Ao invés de tomar a média aritmética usual, utilizar uma média aritmética ponderada com
pesos |f (a)| e |f (b)|.

|f (b)|a + |f (a)|b af (b) − bf (a)


x= =
|f (a)| + |f (b)| f (b) − f (a)

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 51 / 135


Método da Falsa Posição
Pseudocódigo
Algoritmo 2: Método da Falsa Posição
Dados: ε, a,b, f
Resultado: ξ
1 enquanto b − a > ε faça
af (b) − bf (a)
2 ξ=
f (b) − f (a)
3 se f (ξ) ∗ f (a) > 0 então
4 a=ξ
5 fim
6 senão
7 b=ξ
8 fim
9 fim
af (b) − bf (a)
10 ξ=
f (b) − f (a)
11 retorna ξ
Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 52 / 135
Método de Ponto Fixo ou Método Interativo Linear (MIL)

Seja f uma função real contínua em um intervalo [a, b] onde esta possui uma raiz. A ideia deste
método é escrever f (x) = x − ϕ(x), ∀x ∈ [a, b].

⇒ f (x) = 0 ⇔ x = ϕ(x). (achar um ponto fixo de ϕ) (12)


A função ϕ é chamada função de interação do método.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 53 / 135


Método de Ponto Fixo ou Método Interativo Linear (MIL)

Seja f uma função real contínua em um intervalo [a, b] onde esta possui uma raiz. A ideia deste
método é escrever f (x) = x − ϕ(x), ∀x ∈ [a, b].

⇒ f (x) = 0 ⇔ x = ϕ(x). (achar um ponto fixo de ϕ) (12)


A função ϕ é chamada função de interação do método.
Através da equação (12) montamos um método interativo, ou seja, dado x0 ∈ [a, b]

xk+1 = ϕ(xk ). (13)

Observação: A função de interação ϕ não é única e a convergência do método depende de sua


escolha e regularidade.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 53 / 135


Método de Ponto Fixo ou Método Interativo Linear (MIL)

Teorema 4 (Critério de convergência para o MIL)

Seja ξ uma raiz ξ da função f isolada no intervalo [a, b]. Seja ϕ uma função de interação da função f
tal que:
i) ϕ e ϕ0 são contínuas em [a, b];
ii) |ϕ0 (x)| 6 M < 1, ∀x ∈ [a, b];
iii) x0 ∈ [a, b].
Então a sequência {xk }k∈N gerada pelo método interativo xk+1 = ϕ(xk ) converge para ξ.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 54 / 135


Método de Ponto Fixo ou Método Interativo Linear (MIL)
Demonstração. Seja ξ ∈ [a, b] tal que f (ξ) = 0 ⇔ ξ = ϕ(ξ).
xk+1 = ϕ(xk ) ⇔ xk+1 − ξ = ϕ(xk ) − ϕ(ξ).
Pelo Teorema do Valor Médio, existe ck entre xk e ξ tal que
ϕ(xk ) − ϕ(ξ) = ϕ0 (ck )(xk − ξ) (14)
0
⇒ |xk+1 − ξ| = |ϕ (ck )||xk − ξ| 6 M |xk − ξ|. (15)

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 55 / 135


Método de Ponto Fixo ou Método Interativo Linear (MIL)
Demonstração. Seja ξ ∈ [a, b] tal que f (ξ) = 0 ⇔ ξ = ϕ(ξ).
xk+1 = ϕ(xk ) ⇔ xk+1 − ξ = ϕ(xk ) − ϕ(ξ).
Pelo Teorema do Valor Médio, existe ck entre xk e ξ tal que
ϕ(xk ) − ϕ(ξ) = ϕ0 (ck )(xk − ξ) (14)
0
⇒ |xk+1 − ξ| = |ϕ (ck )||xk − ξ| 6 M |xk − ξ|. (15)

Aplicando essa relação para k − 1, k − 2, · · · , 0 e usando o fato que x0 ∈ [a, b] tem-se


|xk+1 − ξ| 6 M k+1 |x0 − ξ|. (16)
Como M < 1 tem-se
0 6 lim |xk+1 − ξ| 6 lim M k+1 |x0 − ξ| = 0
k→+∞ k→+∞
Logo,
lim xk+1 = ξ.
k→+∞

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 55 / 135
Exemplo
Conforme já vimos, f (x) = e−x − x possui uma raiz no intervalo [0.5, 0.75]. Uma forma de escrever
f (x) = x − ϕ(x) é escolher ϕ(x) = e−x . Verificando as condições de convergência

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 56 / 135


Exemplo
Conforme já vimos, f (x) = e−x − x possui uma raiz no intervalo [0.5, 0.75]. Uma forma de escrever
f (x) = x − ϕ(x) é escolher ϕ(x) = e−x . Verificando as condições de convergência
i) Claramente ϕ(x) = e−x e ϕ0 (x) = −e−x são contínuas em [a, b];

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 56 / 135


Exemplo
Conforme já vimos, f (x) = e−x − x possui uma raiz no intervalo [0.5, 0.75]. Uma forma de escrever
f (x) = x − ϕ(x) é escolher ϕ(x) = e−x . Verificando as condições de convergência
i) Claramente ϕ(x) = e−x e ϕ0 (x) = −e−x são contínuas em [a, b];
ii) A função ϕ0 satisfaz máx |ϕ0 (x)| 6 0.6065.
x∈[0.5,0.75]

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 56 / 135


Exemplo
Conforme já vimos, f (x) = e−x − x possui uma raiz no intervalo [0.5, 0.75]. Uma forma de escrever
f (x) = x − ϕ(x) é escolher ϕ(x) = e−x . Verificando as condições de convergência
i) Claramente ϕ(x) = e−x e ϕ0 (x) = −e−x são contínuas em [a, b];
ii) A função ϕ0 satisfaz máx |ϕ0 (x)| 6 0.6065.
x∈[0.5,0.75]
iii) Tomando x0 ∈ [0.5, 0.75] temos a garantia da convergência. Podemos, por exemplo, tomar
0.5 + 0.75
x0 = = 0.625.
2

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 56 / 135


Exemplo
Conforme já vimos, f (x) = e−x − x possui uma raiz no intervalo [0.5, 0.75]. Uma forma de escrever
f (x) = x − ϕ(x) é escolher ϕ(x) = e−x . Verificando as condições de convergência
i) Claramente ϕ(x) = e−x e ϕ0 (x) = −e−x são contínuas em [a, b];
ii) A função ϕ0 satisfaz máx |ϕ0 (x)| 6 0.6065.
x∈[0.5,0.75]
iii) Tomando x0 ∈ [0.5, 0.75] temos a garantia da convergência. Podemos, por exemplo, tomar
0.5 + 0.75
x0 = = 0.625.
2
Assim, obtemos a sequência
x1 = ϕ(x0 ) = ϕ(0.625) = 0.53526... (17)
x2 = ϕ(x1 ) = ϕ(53526) = 0.58551... (18)
x3 = ϕ(x2 ) = ϕ(0.58551) = 0.55681... (19)
x4 = ϕ(x3 ) = ϕ(0.55681) = 0.57302... (20)
x5 = ϕ(x4 ) = ϕ(0.57302) = 0.56381... (21)
x6 = ϕ(x5 ) = ϕ(0.56903) = 0.56903... (22)
..
Cálculo Numérico Andrey Dione Ferreira. - andrey.ferreira@ifrj.edu.br 56 (23)
/ 135
Exemplo

Figura 1: Exemplo de aplicação do MIL para f (x) = e−x − x


Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 57 / 135
Um critério de parada para o MIL
Qual xk oferece uma boa aproximação para a raiz ξ de acordo com uma dada tolerância ε?

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 58 / 135


Um critério de parada para o MIL
Qual xk oferece uma boa aproximação para a raiz ξ de acordo com uma dada tolerância ε?
Podemos, por exemplo, usar como critério de parada as seguintes condições
Erro absoluto: |xk+1 − xk | 6 ε

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 58 / 135


Um critério de parada para o MIL
Qual xk oferece uma boa aproximação para a raiz ξ de acordo com uma dada tolerância ε?
Podemos, por exemplo, usar como critério de parada as seguintes condições
Erro absoluto: |xk+1 − xk | 6 ε

|xk+1 − xk |
Erro relativo: 6ε
|xk+1 |

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 58 / 135


Um critério de parada para o MIL
Qual xk oferece uma boa aproximação para a raiz ξ de acordo com uma dada tolerância ε?
Podemos, por exemplo, usar como critério de parada as seguintes condições
Erro absoluto: |xk+1 − xk | 6 ε

|xk+1 − xk |
Erro relativo: 6ε
|xk+1 |
Para o nosso exemplo, considerando ε = 0, 006 e o erro absoluto, teríamos
|x1 − x0 | = |0.53526 − 0.62500| = 0.08974 > ε (24)
|x2 − x1 | = |0.58551 − 0.53526| = 0.05025 > ε (25)
|x3 − x2 | = |0.55681 − 0.58551| = 0.02870 > ε (26)
|x4 − x3 | = |0.57302 − 0.55681| = 0.01621 > ε (27)
|x5 − x4 | = |0.56381 − 0.57302| = 0.00921 > ε (28)
|x6 − x5 | = |0.56903 − 0.56381| = 0.00522 < ε (29)
e consideraríamos a seguinte aproximação para ξ

Cálculo Numérico
ξ ≈ 0.56903.
Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 58 / 135
Método de Newton-Raphson (MNR)
A ideia é construir a função de interação ϕ com ϕ0 (ξ) = 0 e garantir um intervalo que contenha uma
raiz para uma função f , além disso que ϕ0 (x)  1 o que faz a convergência ser muito mais rápida.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 59 / 135


Método de Newton-Raphson (MNR)
A ideia é construir a função de interação ϕ com ϕ0 (ξ) = 0 e garantir um intervalo que contenha uma
raiz para uma função f , além disso que ϕ0 (x)  1 o que faz a convergência ser muito mais rápida.
Suponha que f adimita desenvolvimento em série de Taylor em torno do ponto xn . Então
f 00 (yn )
f (x) = f (xn ) + (x − xn )f 0 (xn ) + (x − xn )2 , yn entre x e xn .
2!
Sendo ξ raiz de f , então
f 00 (yn )
f (xn ) + (ξ − xn )f 0 (xn ) + (ξ − xn )2 = 0, yn entre ξ e xn .
2!
Daí

f (xn ) (ξ − xn )2 f 00 (yn )
ξ = xn − 0
− , yn entre ξ e xn
f (xn ) 2f 0 (xn )

f (xn )
ξ ≈ xn − .
f 0 (xn )
Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 59 / 135
Portanto, teremos a função de interação ϕ dada por
f (x)
ϕ(x) = x −
f 0 (x)
e o processo de interação conhecido como Método de Newton-Raphson dado por
f (xk )
xk+1 = xk − , k = 0, 1, 2, · · · .
f 0 (xk )

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 60 / 135


MNR - Interpretação Geométrica

f (xn )
f 0 (xn ) = tg(α) =
xn − xn+1
f (xn )
⇒ xn+1 = xn − .
f 0 (xn )

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 61 / 135


Critério de convergência para o MNR

Teorema 5

Sejam f, f 0 , f 00 , funções contínuas num intervalo [a, b], onde existe uma raiz ξ. Suponha que f 0 (ξ) 6= 0.
então existe um intervalo [a, b] ⊂ [a, b], contendo a raiz ξ, tal que se x0 ∈ [a, b], a sequência gerada pelo
processo interativo
f (xn )
xn+1 = xn − 0
f (xn )
converge para a raiz ξ.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 62 / 135


Exemplo

Considere f (x) = e−x −x, que possui uma raiz no intervalo [0.5, 0.75]. Vamos achar uma aproximação
para a raiz ξ de f nesse intervalo considerando x0 = 0.625 e precisão ε = 0.006. Como

f 0 (x) = −e−x − 1

teremos
f (xn ) e−xn − x
xn+1 = xn − 0
= xn + −x .
f (xn ) e n +1
Assim,
e−x0 − x
x1 = x0 + = 0.56654, |x1 − x0 | = 0.0584 > ε
e−x0 + 1
e−x1 − x
x2 = x1 + = 0.56714, |x2 − x1 | = 0.0006 < ε
e−x1 + 1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 63 / 135


Observação:
A condição de que x0 ∈ [a, b] não é uma condição de fácil verificação, visto que o Teorema 5 garante
a existência do intervalo, mas não como determiná-lo.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 64 / 135


Observação:
A condição de que x0 ∈ [a, b] não é uma condição de fácil verificação, visto que o Teorema 5 garante
a existência do intervalo, mas não como determiná-lo.

Figura 2: Não converge

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 64 / 135


Observação:
A condição de que x0 ∈ [a, b] não é uma condição de fácil verificação, visto que o Teorema 5 garante
a existência do intervalo, mas não como determiná-lo.

Figura 3: Converge para outra raiz

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 65 / 135


Ordem de convergência
Vimos que o método de Newton-Raphson é um caso particular do Método Interativo Linear, cons-
truído com o objetivo de acelerar a convergência do método.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 66 / 135


Ordem de convergência
Vimos que o método de Newton-Raphson é um caso particular do Método Interativo Linear, cons-
truído com o objetivo de acelerar a convergência do método.
Mas como medir qual método converge mais rápido?

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 66 / 135


Ordem de convergência
Vimos que o método de Newton-Raphson é um caso particular do Método Interativo Linear, cons-
truído com o objetivo de acelerar a convergência do método.
Mas como medir qual método converge mais rápido?

Definição 3
Seja {xn } uma sequência que converge para um número ξ e seja ek = xk − ξ o erro na interação k. Se
existe p > 1 e C > 0 tal que
|ek+1 |
lim = C,
k→∞ |ek |p

dizemos que a sequência converge com ordem p e com constante assintótica C.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 66 / 135


Ordem de convergência
Vimos que o método de Newton-Raphson é um caso particular do Método Interativo Linear, cons-
truído com o objetivo de acelerar a convergência do método.
Mas como medir qual método converge mais rápido?

Definição 3
Seja {xn } uma sequência que converge para um número ξ e seja ek = xk − ξ o erro na interação k. Se
existe p > 1 e C > 0 tal que
|ek+1 |
lim = C,
k→∞ |ek |p

dizemos que a sequência converge com ordem p e com constante assintótica C.

Note que sendo a sequência convergente, para valores suficientemente grandes de k,

|ek+1 | ≈ |ek |p

com |ek | < 1.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 66 / 135


Determinemos a ordem de convergência do MIL e do MNR.
• Para o MIL temos
xk+1 − ξ = ϕ(xk ) − ϕ(ξ) = ϕ0 (ck )(xk − ξ).
Logo,
xk+1 − ξ |ek+1 |
= ϕ0 (ck ) ⇒ = |ϕ0 (ck )|.
xk − ξ |ek |

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 67 / 135


Determinemos a ordem de convergência do MIL e do MNR.
• Para o MIL temos
xk+1 − ξ = ϕ(xk ) − ϕ(ξ) = ϕ0 (ck )(xk − ξ).
Logo,
xk+1 − ξ |ek+1 |
= ϕ0 (ck ) ⇒ = |ϕ0 (ck )|.
xk − ξ |ek |
|ek+1 |
lim = lim |ϕ0 (ck )| = |ϕ0 (ξ)| = C.
k→∞ |ek | k→∞

Portanto, o MIL tem ordem de convergência p = 1 (convergência linear).

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 67 / 135


• Para o MNR temos
f (xn )
xn+1 − ξ = xn − ξ − . (30)
f 0 (xn )

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 68 / 135


• Para o MNR temos
f (xn )
xn+1 − ξ = xn − ξ − . (30)
f 0 (xn )
Pela fórmula de Taylor da função f em torno do ponto xn temos
f 00 (cn )
f (x) = f (xn ) + f 0 (xn )(x − xn ) + (x − xn )2 cn ∈ [x, xn ]
2
f 00 (cn )
⇒ 0 = f (xn ) + f 0 (xn )(ξ − xn ) + (ξ − xn )2 .
2

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 68 / 135


• Para o MNR temos
f (xn )
xn+1 − ξ = xn − ξ − . (30)
f 0 (xn )
Pela fórmula de Taylor da função f em torno do ponto xn temos
f 00 (cn )
f (x) = f (xn ) + f 0 (xn )(x − xn ) + (x − xn )2 cn ∈ [x, xn ]
2
f 00 (cn )
⇒ 0 = f (xn ) + f 0 (xn )(ξ − xn ) + (ξ − xn )2 .
2
Dividindo por f 0 (xn ) e fazendo en = xn − ξ segue que

f (xn ) f 00 (cn ) 2
0
= en − 0 en . (31)
f (xn ) 2f (xn )

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 68 / 135


Substituindo (31) em (30) temos
en+1 f 00 (cn )
2
=
en 2f 0 (xn )
Finalmente, tomando o módulo e passando o limite quando k → ∞ temos

|en+1 | f 00 (cn ) f 00 (ξ) 1 00
lim = lim 0 2f 0 (ξ) = 2 |ϕ (ξ)| = C.
=
n→∞ |en | 2 n→∞ 2f (xn )

Ou seja, o método de Newton-Raphson tem convergência quadrática.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 69 / 135


Método da Secante
No método de Newton-Raphson existe a necessidade de se conhecer a derivada da função que estamos
buscando raízes.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 70 / 135


Método da Secante
No método de Newton-Raphson existe a necessidade de se conhecer a derivada da função que estamos
buscando raízes.
Uma forma de contornar esse problema é considerarmos a seguinte aproximação
f (xk ) − f (xk−1 )
f 0 (xk ) ≈ (32)
xk − xk−1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 70 / 135


Método da Secante
No método de Newton-Raphson existe a necessidade de se conhecer a derivada da função que estamos
buscando raízes.
Uma forma de contornar esse problema é considerarmos a seguinte aproximação
f (xk ) − f (xk−1 )
f 0 (xk ) ≈ (32)
xk − xk−1

Neste caso, a função de interação ficaria


f (xk ) f (xk )
ϕ(xk , xk−1 ) = xk − = xk − (xk − xk−1 )
f (xk )−f (xk−1 ) f (xk ) − f (xk−1 )
xk −xk−1

ou ainda

xk−1 f (xk ) − xk f (xk−1 )


xk+1 = ϕ(xk , xk−1 ) =
f (xk ) − f (xk−1 )

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 70 / 135


Método da Secante
Condições suficientes de convergência

Teorema 6 (Condições suficientes de convergência - Método da Secante)


Seja f ∈ C 2 [a, b]. Nas condições do Teorema
√ para o Método de Newton, o método da Secante converge
supralinearmente (com ordem p = (1 + 5)/2 = 1.618), inicializando
1. com x−1 , x0 ∈ [a, b] : f (x−1 )f 00 (x) > 0, f (x0 )f 00 (x) > 0
2. com quaisquer x−1 , x0 ∈ [a, b] se |f (a)/f 0 (a)|, |f (b)/f 0 (b)| 6 |b − a|

Para a demonstração ver [2].

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 71 / 135


Exercícios:

Exercício 1
Implemente uma função que execute o método da falsa posição. Essa recebendo como entrada um
intervalo [a, b] que contenha a raiz ξ da equação f (x) = 0 e uma tolerância ε. A função f (x) deve ser
representada pelo arquivo f.m. Execute esse programa para ao menos dois exemplos enviando os
resultados e o código por e-mail.

Exercício 2
Faça um programa que execute o método da secante recebendo como entrada os dados iniciais x0 e x1 ,
e uma tolerância ε. A função f (x) deve ser representada pelo arquivo f.m. Execute esse programa para
ao menos dois exemplos enviando os resultados e o código por e-mail.

Observação: Os dois códigos acima devem contar o número de interações.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 72 / 135


Solução de Sistemas Lineares
Solução de Sistemas Lineares

···

 a11 x1 + a12 x2 a1n xn = b1
a21 x1 + a22 x2 ··· a2n xn = b2


.. .. .. .. .. (33)

 . . . . .

am1 x1 + am2 x2 ··· amn xn = bm
Na forma matricial
Ax = b
com A ∈ Rm×n
e x, b ∈ R
m
.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 74 / 135


Métodos Diretos

São aqueles que após um número finito de operações fornecem a solução exata do sistema. São
métodos baseados em escalonamento da matriz A.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 75 / 135


Métodos Diretos

São aqueles que após um número finito de operações fornecem a solução exata do sistema. São
métodos baseados em escalonamento da matriz A.
Definição 4 (Sistema Triangular Superior)
Um sistema é dito triangular superior quando a matriz associada é uma matriz triangular superior,
ou seja, aij = 0 para i > j.

···

 a11 x1 + a12 x2 + a13 x3 a1n xn = b1
0 + a22 x2 + a13 x3 ··· a2n xn = b2


.. .. .. .. .. .. (34)

 . . . . . .

0 + 0 + 0 ··· ann xn = bn

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 75 / 135


Se aij 6= 0 para i = 1, 2, · · · , n então o sistema admite uma única solução, a saber
bn
xn =
ann
1
xn−1 = (bn−1 − an−1 xn )
an−1n−1
..
.
n
!
1 X
xk = bk − akj xn
akk
j=k+1

..
.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 76 / 135


Algoritmo 3: Retro-Solução
R
Dados: A ∈ n×n e b ∈ n R
Resultado: x ∈ n R
bn
1 xn ← ;
ann
2 para k = n − 1, · · · , 1 faça !
n
1 X
3 xk ← bk − akj xn
akk
j=k+1
4 fim
5 retorna x

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 77 / 135


Método da Eliminação de Gauss

Definição 5
Dois sistemas lineares são ditos equivalentes se eles tem a mesma solução.

A ideia do método de eliminação de Gauss transformar um sistema linear Ax = b em um sistema


equivalente Sx = b̃, porém triangular superior. Dessa forma, a solução do sistema Sx = b̃ (que é a
mesma de Ax = b) pode ser obtida por retro-substituição.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 78 / 135


Método da Eliminação de Gauss

Definição 5
Dois sistemas lineares são ditos equivalentes se eles tem a mesma solução.

A ideia do método de eliminação de Gauss transformar um sistema linear Ax = b em um sistema


equivalente Sx = b̃, porém triangular superior. Dessa forma, a solução do sistema Sx = b̃ (que é a
mesma de Ax = b) pode ser obtida por retro-substituição.

Revisão: Operações elementares para encontrar um sistema equivalente:


• Trocar duas equações (duas linhas);
• Multiplicar uma equação por uma constante não nula;
• Somar duas equações;
• Qualquer combinação das operações anteriores;

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 78 / 135


Considere um sistema linear Ax = b tal que det(A) 6= 0, ou seja, este sistema admite uma única
solução.
Podemos representar esse sistema na forma estendida (A0 |b0 ), ou seja
 (0) (0) (0) (0) (0) 
a11 a12 a13 ··· a1n b1
 
 (0) (0) (0) (0) (0)
···

 a21 a22 a23 a2n b2 
 
 
 (0)
 a31
(0)
a32
(0)
a33 ···
(0)
a3n
(0)
b3

 (35)
 . .. .. .. .. .. 
 . .
 . . . . .


 
(0) (0) (0)
an1 an2 an3 ··· a(0)
nn b(0)
n

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 79 / 135


Etapa 1: Eliminar a incógnita x1 das equações k = 2, 3, · · · , n.
Seja
(0)
a
mk1 = k1 (0)
.
a11
Então, nesta etapa fazemos
(1) (0)
L1 = L1
(1) (0) (0)
Lk = Lk − mk1 L1 , k = 2, 3, · · · , n

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 80 / 135


Com isso, teremos a matriz
 (1) (1) (1) (1) (1) 
a11 a12 a13 ··· a1n b1
 
(1) (1) (1) (1)
···
 
 0 a22 a23 a2n b2 
 
 

 0
(1)
a32
(1)
a33 ···
(1)
a3n
(1)
b3

 (36)
 .. .. .. .. .. .. 
. . . . . .
 
 
 
(1) (1)
0 an2 an3 ··· a(1)
nn b(1)
n

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 81 / 135


Etapa 2: Eliminar a incógnita x2 das equações k = 3, 4, · · · , n.
Seja
(1)
a
mk1 = k2 (1)
.
a22
Então, nesta etapa fazemos
(2) (1)
L1 = L1
(2) (1)
L2 = L2
(2) (1) (1)
Lk = Lk − mk2 L2 , k = 3, 4, · · · , n

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 82 / 135


Obtendo, no final da etapa 2, o sistema
 (2) (2) (2) (2) (2) 
a11 a12 a13 ··· a1n b1
 
(2) (2) (2) (2)
···
 
 0 a22 a23 a2n b2 
 
 

 0 0
(2)
a33 ···
(2)
a3n
(2)
b3

 (37)
 .. .. .. .. .. .. 
. . . . . .
 
 
 
(2)
0 0 an3 ··· a(2)
nn b(2)
n

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 83 / 135


Com procedimentos análogos das etapas 1 e 2, podemos eliminar as incógnitas xk das equações
k + 1, k + 2, · · · , n e ao final de n − 1 etapas termos a matriz
 (n−1) (n−1) (n−1) (n−1) (n−1) 
a11 a12 a13 ··· a1n b1
 
(n−1) (n−1) (n−1) (n−1)
···
 
 0 a22 a23 a2n b2 
 
 

 0 0
(n−1)
a33 ···
(n−1)
a3n
(n−1)
b3

 (38)
 .. .. .. .. .. .. 
.
 
 . . . . . 
 
(n−1)
0 0 0 ··· ann b(n−1)
n

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 84 / 135


Algoritmo 4: Eliminação de Gauss
R
Dados: A ∈ n×n e b ∈ Rn
Resultado: x ∈ n R
Eliminação:
1 para k = 1, 2, · · · n − 1 faça
2 para i = k + 1, · · · , n faça
aij
3 m←
akk
4 para j = k + 1, · · · , n faça
5 aij ← aij − m ∗ akj
6 fim
7 bi ← bi − m ∗ bk
8 fim
9 fim
Retro-Solução:
bn
10 xn ←
ann
11 para k = n − 1, · · · , 1 faça !
n
1 X
12 xk ← bk − akj xn
akk
j=k+1
13 fim
14 retorna
Cálculo x
Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 85 / 135
Exercício: Estudar o código em Matlab com a implementação do método de eliminação de Gauss.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 86 / 135


Exercício: Estudar o código em Matlab com a implementação do método de eliminação de Gauss.
Observação: Outros métodos diretos podem ser estudados:
• Pivotamento parcial;
• Cálculo da matriz inversa.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 86 / 135


Note que
Ax = b ⇔ (LU )x = b.
Daí, fazendo y = U x, a solução x do sistema linear pode ser obtida da resolução dos sistemas triangu-
lares:
i) Ly = b
ii) Ux = y.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 87 / 135


Note que
Ax = b ⇔ (LU )x = b.
Daí, fazendo y = U x, a solução x do sistema linear pode ser obtida da resolução dos sistemas triangu-
lares:
i) Ly = b
ii) Ux = y.
Afirmação: O vetor y é o vetor constanste do lado direito obtido ao final do processo de Eliminação
de Gauss.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 87 / 135


Note que
Ax = b ⇔ (LU )x = b.
Daí, fazendo y = U x, a solução x do sistema linear pode ser obtida da resolução dos sistemas triangu-
lares:
i) Ly = b
ii) Ux = y.
Afirmação: O vetor y é o vetor constanste do lado direito obtido ao final do processo de Eliminação
de Gauss.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 87 / 135


Observação: Dado um sistema linear arbitrário Ax = b, para resolvermos pelo método de
eliminação de Gauss, temos que fazer O(n3 /3) operações aritméticas. Para resolvermos um sistema
triangular superior, necessitamos de O(n2 ) operações.
Assim, ao utilizarmos uma fatoração LU para resolvermos um sistema linear arbitrário, reduzimos
o número de operações de O(n3 /3) para O(2n2 ).
×10 5
3.5
Eliminação de Gauus
Fatoração LU

2.5
Números de operações

1.5

0.5

0
10 20 30 40 50 60 70 80 90 100
Dimensão do Sistema

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 88 / 135


Mas para obtermos a fatoração LU , isto é, determinarmos as matrizes específicas L e U , precisamos
de O(n3 ) operações.
Contudo, uma vez obtidas as fatorações, sistemas que utilizam a matriz A = LU , podem ser resol-
vidos para qualquer vetor b.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 89 / 135


Fatoração LU

Teorema 7
Dada uma matriz quadrada A de ordem n, seja Ak a matriz constituída das primeiras k linhas e
colunas de A. Suponha que det(Ak ) 6= 0 para k = 1, 2, · · · , (n − 1). Então, existe uma única matriz
triangular inferiror L = (mij ), com mii = 1, 1 6 i 6 n, e uma única matriz triangular superior
U = (uij ) tais que LU = A. Além disso, det(A) = u11 u22 · · · unn .

Demonstração. Ver [4] 

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 90 / 135


Fatoração LU

Teorema 8
Se a eliminação de Gauss pode ser realizada no sistema linear Ax = b sem trocas de linha, então a
matriz A pode ser fatorada no produto de uma matriz triangular inferior L e uma matriz triangular
(i) (i)
superior U , A = LU , em que mji = aji /aii ,
 (1) (1) (1)

···
 
a11 a12 a1n 1 0 ··· 0
   
 (2) (2)

···  m21 1 ··· 0
 
 0 a22 a2n  
U = e U =
 
.. .. .. ..  .. .. .. ..
 
 . . . .   . . . .


   
 
0 0 ··· a(n)
nn
mn1 mn2 ··· mnn

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 91 / 135


Fatoração LU

Exemplo 6
Resolver o seguinte sistema linear usando a fatoração LU :

 x + y + 3w = 4
2x + y − z + w= 1

 3x
 − y − z + 2w = −3
−x + 2y + 3z − w= 4

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 92 / 135


Fatoração de Cholesky

Definição 6
Uma matriz A : n × n é definida positiva se xT Ax > 0 para todo x ∈ R n
, x 6= 0.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 93 / 135


Fatoração de Cholesky

Definição 6
Uma matriz A : n × n é definida positiva se xT Ax > 0 para todo x ∈ R n
, x 6= 0.

Teorema 9
Fatoração de Cholesky Se A : n × n é simétrica e definida positiva, então existe uma única
matriztriangular inferior G : n × n com diagonal positiva, tal que A = GGT .

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 93 / 135


Métodos Interativos

Ideia: Segue a ideia dos métodos para o cálculo de raizes de funções reais, isto é, considerando um
sistema Ax = b, o reescrevemos na forma

x = Cx + g,

onde g ∈ R
n
eC∈ R
n×n
é a matriz de interação do método.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 94 / 135


Métodos Interativos

Ideia: Segue a ideia dos métodos para o cálculo de raizes de funções reais, isto é, considerando um
sistema Ax = b, o reescrevemos na forma

x = Cx + g,

R R
onde g ∈ n e C ∈ n×n é a matriz de interação do método.
Assim, montamos o processo interativo:
Dado x0

xk+1 = Cxk + g.

Como estabelecer um critério de parada de método interativo para solução de sistemas?

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 94 / 135


Definição 7
Seja V um espaço vetorial. Uma norma em V é uma aplicação k · k : V → R tal que
i) kvk > 0, ∀v ∈ V e kvk = 0 se, e somente se, v = 0;
ii) kαvk = |α|kvk, ∀v ∈ V e α ∈ R;
iii) ku + vk 6 kuk + kvk, ∀u, v ∈ V .

Observação: Quando V é um espaço vetorial de dimensão finita, todas as normas são equivalentes,
isto é, se k · ka e k · kb são duas normas para V , então existem m > 0 e M > 0 tal que

mkvka 6 kvkb 6 M kvka .

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 95 / 135


No caso de V = R
n×m
, comumente são utilizadas
( n
)
X
kAk1 = max |aij | Norma do máximo das colunas.
1<j<m
i=1
( m
)
X
kAk∞ = max |aij | Norma do máximo das linhas
1<i<m
j=1

n n
! 21
X X
kAk2 = |a2ij | Norma Euclidiana
i=1 j=1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 96 / 135


No caso particular em que V = R
n
, temos
n
X
kxk1 = |xi | Norma da soma.
i=1

kxk∞ = max |xi | Norma do máximo


1<i<n

n
! 12
X
kxk2 = |x2i | Norma Euclidiana
i=1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 97 / 135


No caso particular em que V = R n
, temos
n
X
kxk1 = |xi | Norma da soma.
i=1

kxk∞ = max |xi | Norma do máximo


1<i<n

n
! 12
X
kxk2 = |x2i | Norma Euclidiana
i=1

Vale ressaltar que as normas k · k1 , k · k∞ e k · k2 satisfazem

kAxk 6 kxk · kAk


kABk 6 kAk · kBk

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 97 / 135


Sendo x a solução de Ax = b, queremos que

lim kxn − xk = 0.
n→∞

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 98 / 135


Sendo x a solução de Ax = b, queremos que

lim kxn − xk = 0.
n→∞

Assim, dado um erro admissível ε > 0 podemos admitir os seguintes critérios de parada

kxk+1 − xk k 6 ε Erro Absoluto

kxk+1 − xk k
6 ε Erro Relativo
kxk k

kb − Axk k 6 ε Teste do Resíduo.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 98 / 135


Critério de Convergência
Teorema 10

R
Sejam C ∈ n×n uma matriz de interação para a resolução de um sistema linear e k · k uma norma
R
qualquer para n×n . Então, se kCk < 1 o método interativo gerado pela equação

x(k+1) = Cx(k) + g

é convergente.

Demonstração. Seja x a solução do sistema Ax = b. Então x satisfaz


x = Cx + g ⇔ x(k) − x = C x(k−1) − x


Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 99 / 135


Critério de Convergência
Teorema 10

R
Sejam C ∈ n×n uma matriz de interação para a resolução de um sistema linear e k · k uma norma
R
qualquer para n×n . Então, se kCk < 1 o método interativo gerado pela equação

x(k+1) = Cx(k) + g

é convergente.

Demonstração. Seja x a solução do sistema Ax = b. Então x satisfaz


x = Cx + g ⇔ x(k) − x = C x(k−1) − x


Definindo o erro em cada interação por e(k) = kx(k) − xk temos


ke(k) k 6 kCk · ke(k−1) k
6 kCk2 · ke(k−2) k
..
.
ke(k) k 6 kCkk · ke(0) k
Cálculo Numérico Andrey Dione
(k) Ferreira - andrey.ferreira@ifrj.edu.br 99 / 135
Método de Gauss Jacobi

Considerando o sistema linear Ax = b


···

 a11 x1 + a12 x2 a1n xn = b1
a21 x1 + a22 x2 ··· a2n xn = b2


.. .. .. .. .. (39)

 . . . . .

an1 x1 + am2 x2 ··· ann xn = bn

onde aii 6= 0 para i = 1, · · · , n. Então, em cada equação podemos isolara a variável xi escrevendo
 
n
1  X
xi = bi − aij xj  (40)

aii
j=1,
j6=i

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 100 / 135


Em forma matricial, as equações em (40) são equivalentes à
b1
 
 a12 a1n 
0 − ··· −
 a11 
 
x1  a11 a11 
 
 x1

  a21 a2n  b2
  
  − 0 ··· −

x2 x2  
 
  
 =  a22 a22 a22
 
+ (41)
 
 .. .. .. .. ..  ..  

 .

. .  ..
   
   . . . .

 
    xn 



 a an2
xn
|
n1
{z }
bn
 
− − ··· 0 x
| {z } ann ann ann
x | {z } | {z }
C
g

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 101 / 135


Em forma matricial, as equações em (40) são equivalentes à
b1
 
 a12 a1n 
0 − ··· −
 a11 
 
x1  a11 a11 
 
 x1

  a21 a2n  b2
  
  − 0 ··· −

x2 x2  
 
  
 =  a22 a22 a22
 
+ (41)
 
 .. .. .. .. ..  ..  

 .

. .  ..
   
   . . . .

 
    xn 



 a an2
xn
|
n1
{z }
bn
 
− − ··· 0 x
| {z } ann ann ann
x | {z } | {z }
C
g

Assim, temos o método interativo de Gauss Jacobi


Dado x0
 
n
(k+1) 1  X (k) 
xi =
aii
bi − aij xj  .
j=1,
j6=i

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 101 / 135


Algoritmo 5: Método de Gauss Jacobi
R
Dados: A ∈ n×n , b, x0 ∈ n e ε > 0 R
R
Resultado: x ∈ n solução do sistema
 
n
(1) 1  X (0) 
1 Inicialização: xi =
aii
bi − aij xi  .
j=1,
j6=i
(k+1) (k)
2 enquanto kx  −x k > ε faça

n
(k+1) 1  X (k) 
3 xi =
aii
bi − aij xj 
j=1,
j6=i
4 fim
5 retorna x

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 102 / 135


Um Critério de Convergência

Teorema 11 (Critério das Linhas)


Dado um sistema Ax = b, sejam αi tais que
n
1 X
αi = aij < 1, i = 1, · · · , n.
|aii |
j=1,
j6=i

Então o método de Gauss-Jacobi gera uma sequência {xk } que converge para a solução do sistema.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 103 / 135


Um Critério de Convergência

Teorema 11 (Critério das Linhas)


Dado um sistema Ax = b, sejam αi tais que
n
1 X
αi = aij < 1, i = 1, · · · , n.
|aii |
j=1,
j6=i

Então o método de Gauss-Jacobi gera uma sequência {xk } que converge para a solução do sistema.

Observação: Já vimos que para um método interativo convergir, sua matriz de interação C deve
satisfazer
kCk < 1.
No critério acima, apenas aplicamos essa restrição usando a norma do máximo das linhas.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 103 / 135


Método de Gauss-Seidel

A ideia do método é já utilizar de informações atualizadas e acelerar o método de Gauus Jacobi.


Numa interação k + 1 o método de Gauss-Jacobi calcula um elmento i fazendo
i−1 n
!
(k+1) 1 X (k)
X (k)
xi = bi − aij xj − aij xj
aii
j=1 j=i+1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 104 / 135


Método de Gauss-Seidel

A ideia do método é já utilizar de informações atualizadas e acelerar o método de Gauus Jacobi.


Numa interação k + 1 o método de Gauss-Jacobi calcula um elmento i fazendo
i−1 n
!
(k+1) 1 X (k)
X (k)
xi = bi − aij xj − aij xj
aii
j=1 j=i+1

Neste ponto, os elementos xk+1


1 , · · · , xk+1
i−1 já foram calculados e espera-se que essas entradas estejam
mais próximas da solução x do que os valores xk1 , · · · , xki−1 . Assim, o método de Gauss-Siedel é
desenvolvido fazendo
i−1 n
!
(k+1) 1 X (k+1)
X (k)
xi = bi − aij xj − aij xj
aii
j=1 j=i+1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 104 / 135


Algoritmo 6: Método de Gauss-Siedel
R
Dados: A ∈ n×n , b, x0 ∈ n e ε > 0 R
R
Resultado: x ∈ n solução do sistema
 
n
(1) 1  X (0) 
1 Inicialização: xi = bk − aij xj  .
aii

j=1,
j6=i
(k+1) (k)
2 enquanto kx −x k > ε faça !
i−1 n
(k+1) 1 X (k+1)
X (k)
3 xi = bi − aij xj − aij xj
aii
j=1 j=i+1
4 fim
5 retorna x

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 105 / 135


Teorema 12 (Critério de Sassenfeld)
Dado um sistema Ax = b, sejam βi tais que
i−1 n
!
1 X X
βi = |aij |βj + |aij |βj < 1, i = 1, · · · , n.
|aii |
j=1 j=i+1

Então o método de Gauss-Siedel gera uma sequência {xk } que converge para a solução do sistema.

Demonstração. Basta aplicar a Norma do Máximo das Linhas e o Teorema 10.




Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 106 / 135


Exercício Prático
Modifique o código utilizado para aplicar o método de Gauss-Jacobi,
obtendo um código que aplique o método de Gauss-Seidel.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 107 / 135


Exercício Prático
Modifique o código utilizado para aplicar o método de Gauss-Jacobi,
obtendo um código que aplique o método de Gauss-Seidel.

Pra Ajudar!
Escreva um código onde, dado um vetor x = (x1 , x2 , · · · , xn ), calcule
i−1 n
X X
αi = xn e βi = xn
n=1 n=i+1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 107 / 135


Ajuste de Curvas
Ajuste de Curvas
Motivação

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 109 / 135


Método dos Mínimos Quadrados
Regressão Linear - Caso Discreto
Método dos Mínimos Quadrados
Caso Discreto

Experimentos em Laboratórios: Dados para criação de um modelo que descreva que represente
um fenômeno e reduz repetições dos experimentos.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 111 / 135


Método dos Mínimos Quadrados
Caso Discreto

Experimentos em Laboratórios: Dados para criação de um modelo que descreva que represente
um fenômeno e reduz repetições dos experimentos.
Considere um conjunto de dados {(xk , f (xk )), k = 1, · · · , m}. O problema de ajuste de curvas
consiste em encontrar uma função ϕ de tal forma que o desvio em cada ponto dk definido por

dk = f (xk ) − ϕ(xk )

seja mínimo.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 111 / 135


Método dos Mínimos Quadrados
Caso Discreto

Experimentos em Laboratórios: Dados para criação de um modelo que descreva que represente
um fenômeno e reduz repetições dos experimentos.
Considere um conjunto de dados {(xk , f (xk )), k = 1, · · · , m}. O problema de ajuste de curvas
consiste em encontrar uma função ϕ de tal forma que o desvio em cada ponto dk definido por

dk = f (xk ) − ϕ(xk )

seja mínimo.
Ajuste Linear: A função ϕ é uma combinação linear de funções contínuas gi , i = 1, · · · , n escolhidas
de acordo com os dados do problema.

ϕ(x) = α1 g1 (x) + α2 g2 (x) + · · · + αn gn (x).

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 111 / 135


Exemplo:
x f (x)
1
0.10 0.19
0.20 0.36 0.9

0.50 0.75 0.8

0.65 0.87
0.7
0.70 0.91
0.80 0.96 0.6

0.90 0.99
0.5
1.10 0.99
1.23 0.94 0.4

1.35 0.87
0.3
1.57 0.67
1.70 0.51 0.2

1.75 0.43 0.1


0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1.80 0.36
Figura 4: Diagrama de dispersão.
1.94 0.11

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 112 / 135


Exemplo:
x f (x)
1
0.10 0.19
0.20 0.36 0.9

0.50 0.75 0.8

0.65 0.87
0.7
0.70 0.91 Logo, poderíamos escolher
0.80 0.96 0.6 g1 (x) = 1, g2 (x) = x e
0.90 0.99 g3 (x) = x2 .
0.5
1.10 0.99
1.23 0.94 0.4

1.35 0.87 ϕ(x) = α1 g1 (x)+α2 g2 (x)+α3 g3 (x).


0.3
1.57 0.67
1.70 0.51 0.2

1.75 0.43 0.1


0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
1.80 0.36
Figura 4: Diagrama de dispersão.
1.94 0.11

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 112 / 135


Método dos Mínimos Quadrados
Seja α = (α1 , α2 , · · · , αn ) ∈ R
n
. O método dos mínimos quadrados consiste em encontrar
ϕ(xk )
m z }| {
X
Arg minn F (α1 , α2 , · · · , αn ) = [f (xk ) − (α1 g1 (xk ) + · · · + αn gn (xk ))]2
α∈ R k=1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 113 / 135


Método dos Mínimos Quadrados
Seja α = (α1 , α2 , · · · , αn ) ∈ Rn
. O método dos mínimos quadrados consiste em encontrar
ϕ(xk )
m z }| {
X
Arg minn F (α1 , α2 , · · · , αn ) = [f (xk ) − (α1 g1 (xk ) + · · · + αn gn (xk ))]2
α∈ R k=1

∂F
= 0, ∀i = 1, · · · , n
∂αi
m
X
⇒ −2 [f (xk ) − (α1 g1 (xk ) + · · · + αn gn (xk ))]gi (xk ) = 0.
k=1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 113 / 135


 m m m m
X X X X
α g α g · · · α g f (xk )g1 (xk )



 1 1 (x k )g 1 (x k ) + 2 1 (xk )g2 (xk ) + + n 1 (xk )gn (xk ) =


 k=1 k=1 k=1 k=1

 m m m m
 X X X X
 α1
 g2 (xk )g1 (xk ) + α2 g2 (xk )g2 (xk ) + · · · + αn g2 (xk )gn (xk ) = f (xk )g2 (xk )
k=1 k=1 k=1 k=1

 ..
.



m m m m


 X X X X
gn (xk )g2 (xk ) + · · · + αn

 α1 gn (xk )g1 (xk ) + α2 gn (xk )gn (xk ) = f (xk )gn (xk )


k=1 k=1 k=1 k=1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 114 / 135


a11 α1 + a12 α2 + · · · + a1n αn = b1


a21 α1 + a22 α2 + · · · + a2n αn = b2


..


 .
an1 α1 + an2 α2 + · · · + ann αn = bn
onde
m m
X X
aij = gi (xk )gj (xk ) e bi = f (xk )gi (xk ).
k=1 k=1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 115 / 135


Exemplo
15
X
x f (x) a11 = g1 (xk )g1 (xk ) = 15
0.10 0.19 k=1
0.20 0.36 15
X
0.50 0.75 a12 = g1 (xk )g2 (xk ) = 16, 29 = a21
0.65 0.87 k=1 15
0.70 0.91
X
15 b1 = f (xk )g1 (xk ) = 9, 91
X
0.80 0.96 a13 = g1 (xk )g3 (xk ) = 22, 62 = a31 k=1
0.90 0.99 k=1 15
1.10 0.99 15
X
X b2 = f (xk )g2 (xk ) = 10, 28
1.23 0.94 a22 = g2 (xk )g2 (xk ) = 22, 62 k=1
1.35 0.87 k=1 15
1.57 0.67 15
X
b3 = f (xk )g3 (xk ) = 12, 66
1.70 0.51
X
a23 = g2 (xk )g3 (xk ) = 34, 92 = a32 k=1
1.75 0.43
k=1
1.80 0.36 15
1.94 0.11 X
a33 = g3 (xk )g3 (xk ) = 57, 09
Tabela 1: Dados do problema.
Cálculo Numérico k=1 Ferreira - andrey.ferreira@ifrj.edu.br
Andrey Dione 116 / 135
Aplicando um método direto para resolver o sistema, obtemos α1 = 0.00 α2 = 1.99 α3 = −0.99.
Ou seja, a função quadrática que melhor se ajusta a esses dados é dada por ϕ(x) = 1.99x − 0.99x2 .

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 117 / 135


Aplicando um método direto para resolver o sistema, obtemos α1 = 0.00 α2 = 1.99 α3 = −0.99.
Ou seja, a função quadrática que melhor se ajusta a esses dados é dada por ϕ(x) = 1.99x − 0.99x2 .

Tabela 2: Dados do problema.

x f (x)
1.2
0.10 0.19
0.20 0.36
1
0.50 0.75
0.65 0.87 0.8

0.70 0.91
0.80 0.96 0.6

0.90 0.99
1.10 0.99 0.4

1.23 0.94
0.2
1.35 0.87
1.57 0.67 0
1.70 0.51
1.75 0.43 −0.2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Cálculo 1.80 0.36
Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 117 / 135
Tabela 3: Dados
1.1
x f(x)
0.1815 0.1900 1
0.2906 0.3600
0.9
0.5127 0.7500
0.7413 0.8700 0.8
0.7632 0.9100
0.8098 0.9600 0.7

0.9278 0.9900
0.6
1.1547 0.9900
1.3258 0.9400 0.5

1.4465 0.8700
0.4
1.5858 0.6700
1.7971 0.5100 0.3
1.8457 0.4300
1.8485 0.3600 0.2

2.0200 0.1100
0.1
0 0.5 1 1.5 2

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 118 / 135


Obs: Para o exemplo anterior, ajustamos os dados a uma parábola, mas poderíamos usar outras
funções.
Exemplo: g1 (x) = 1 e g2 (x) = sen(πx/2).

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 119 / 135


Obs: Para o exemplo anterior, ajustamos os dados a uma parábola, mas poderíamos usar outras
funções.
Exemplo: g1 (x) = 1 e g2 (x) = sen(πx/2).

Qual a melhor escolha?


m
X
D= (f (xk ) − ϕ(xk ))2 .
k=1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 119 / 135


Exercício 3
Para o exemplo da Tabela 2 temos que
15
X
D= (f (xk ) − ϕ(xk ))2 = 0.0019.
k=1

Utilizando esses mesmos dados, faça um ajuste dos dados a uma função diferente do exemplo, calcule
o desvio e compare os resultados.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 120 / 135


Método dos Mínimos Quadrados
Regressão Linear - Caso Contínuo
Ajuste de Curvas
Caso Contínuo

No caso contínuo, não temos mais uma tabela e procuramos uma função ϕ, gerada a partir de uma
base β = {g1 , g2 , · · · , gn }, ou seja, ϕ(x) = α1 g1 (x) + α2 g2 (x) + · · · + αn gn (x) que melhor aprixoma uma
dada função f em um intervalo [a, b]. Em outras palavras, de forma que o desvio seja mínimo, sendo o
desvio, por exemplo, dado por Z b
D= (f (x) − ϕ(x))2 dx.
a

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 122 / 135


Ajuste de Curvas
Caso Contínuo

No caso contínuo, não temos mais uma tabela e procuramos uma função ϕ, gerada a partir de uma
base β = {g1 , g2 , · · · , gn }, ou seja, ϕ(x) = α1 g1 (x) + α2 g2 (x) + · · · + αn gn (x) que melhor aprixoma uma
dada função f em um intervalo [a, b]. Em outras palavras, de forma que o desvio seja mínimo, sendo o
desvio, por exemplo, dado por Z b
D= (f (x) − ϕ(x))2 dx.
a

Z b
D(α1 , α2 , · · · , αn ) = [f (x) − (α1 g1 (x) + α2 g2 (x) + · · · + αn gn (x))]2 dx (42)
a

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 122 / 135


De maneira análoga ao que foi feito no caso discreto, se derivarmos (42), com respeito a cada αi
e igualarmos à zeros, os valores de α = (α1 , α2 , · · · , αn )T ótimos são dados pela solução do sistema
Aα = b, onde A = [aij ], b = [bi ], i, j = 1, · · · , n, são dados por
Z b
aij =< gi , gj >= gi (x)gj (x)dx (43)
a
Z b
bi =< f, gi >= f (x)gi (x)dx (44)
a

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 123 / 135


Exemplo
Vamos determinar a melhor parábola que se aproxime da função f (x) = sen(πx) no intervalo [0, 1].

Resolução: Tomando as funções da base como g1 (x) = 1, g2 (x) = x e g3 (x) = x2 e calculando os


temos do sistema linear temos
Z 1
a11 = g1 (x)g1 (x)dx = 1
0
Z 1
1
a12 = g1 (x)g2 (x)dx = = a21
0
2 Z 1
Z 1
1 b1 = f (x)g1 (x)dx = 0.636
a13 = g1 (x)g3 (x)dx = = a31 0
0
3 Z 1
Z 1
1 b2 = f (x)g2 (x)dx = 0.318
a22 = g2 (x)g2 (x)dx = 0
0
3 Z 1
Z 1
1 b3 = f (x)g3 (x)dx = 0.189
a23 = g2 (x)g3 (x)dx = = a32 0
0
4
Z 1
1
a33 = g3 (x)g3 (x)dx =
0
25
Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 124 / 135
Resolvendo o sistema obtemos

α1 = −0, 027, α2 = 4.032 e α3 = −4.050.

1.2

0.8

0.6

0.4

0.2

−0.027 + 4.032*x−4.050*x2
sen(pi*x)
−0.2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 125 / 135


Método dos Mínimos Quadrados
Suponha que você tenha um diagrama de dispersão que indique que os dados devem ser ajustados
por uma função que não é linear com relação aos αi .

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 126 / 135


Método dos Mínimos Quadrados
Suponha que você tenha um diagrama de dispersão que indique que os dados devem ser ajustados
por uma função que não é linear com relação aos αi .
Exemplo:
4

Tabela 4: Dados
3.5
x f(x)
-1.0000 0.1570 3

-0.5000 0.2340 2.5


0.0000 0.3500
0.5000 0.5220 2

1.0000 0.7780
1.5
1.5000 1.1620
2.0000 1.7330 1

2.5000 2.5860
0.5
3.0000 3.8580
0
−1 −0.5 0 0.5 1 1.5 2 2.5 3

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 126 / 135


Método dos Mínimos Quadrados
Suponha que você tenha um diagrama de dispersão que indique que os dados devem ser ajustados
por uma função que não é linear com relação aos αi .
Exemplo:
4

Tabela 4: Dados
3.5
x f(x)
-1.0000 0.1570 3

-0.5000 0.2340 2.5


0.0000 0.3500
0.5000 0.5220 2
f (x) ≈ α1 eα2 x
1.0000 0.7780
1.5
1.5000 1.1620
2.0000 1.7330 1

2.5000 2.5860
0.5
3.0000 3.8580
0
−1 −0.5 0 0.5 1 1.5 2 2.5 3

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 126 / 135


Neste caso, podemos transformar esse problema em um problema de ajuste linear.
Por exemplo, se
f (x) = α1 eα2 x ⇒ ln(f (x)) = ln(α1 ) + α2 x.

Fazendo β1 = ln(α1 ) e β2 = α2 e z(x) = ln(f (x)) esse problema consiste em ajustar os dados de z
por uma reta.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 127 / 135


Exemplo

9
X
Tabela 5: Dados do problema. a11 = g1 (xk )g1 (xk ) = 9
k=1
x f (x) z = ln(f (x)) 9
X
-1.0000 0.1570 -1.851 a12 = g1 (xk )g2 (xk ) = 9 = a21
-0.5000 0.2340 -1.452 k=1
0.0000 0.3500 -1.049 9 ⇒ β1 = −1.050 e β2 = 0.800
X
0.5000 0.5220 -0.650 a22 = g2 (xk )g2 (xk ) = 24 ⇒ α1 = eβ1 = 0.349 e α2 = β2 = 0.800.
1.0000 0.7780 -0.251 k=1
⇒ ϕ(x) = 0.349e0.8x .
1.5000 1.1620 0.150 15
X
2.0000 1.7330 0.549 b1 = f (xk )g1 (xk ) = −2.254
2.5000 2.5860 0.950 k=1

3.0000 3.8580 1.350 15


X
b2 = f (xk )g2 (xk ) = 9.749
k=1

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 128 / 135


4
Dados
0.349e0.8x
3.5

2.5

1.5

0.5

0
−1 −0.5 0 0.5 1 1.5 2 2.5 3

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 129 / 135


Observações finais sobre ajustes de curvas.

• O ajuste de curvas permite extrapolar os valores tabelados. Ou seja, pode-se ter dois valores
medidos para um mesmo ponto.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 130 / 135


Observações finais sobre ajustes de curvas.

• O ajuste de curvas permite extrapolar os valores tabelados. Ou seja, pode-se ter dois valores
medidos para um mesmo ponto.
• Note que tanto no caso discreto quanto no caso contínuo, as entradas da matriz resultante são
obtidas por um produto interno:
m
X
Caso discreto: < gi , gj >= gi (xk )gj (xk )
k=1
Z b
Caso Contínuo: < gi , gj >= gi (x)gj (x).
a

Assim, se as funções da base forem ortogonais, o sitema é diagonal e a solução do mesmo é imediata.
(Ver Exercício 4).

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 130 / 135


Exercício 4
1
Usando os polinômios de Legendre g1 (x) = 1, g2 (x) = x e g3 (x) = (3x2 − 1), verifique que estes são
2
ortogonais no intervalo [−1, 1] e ache a melhor parábola que aproxima a função f (x) = cos(x) no
intervalo [−3, 3].

(OBS: Note que se o ajuste fosse feito no intervalo [−1, 1] o sistema fornecido seria diagonal. Como
o ajuste deve ser feito no intervalo [−3, 3], faça uma mudança de variável nas funções da base para
torná-las ortogonais nesse intervalo.)

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 131 / 135


Exemplo 7
Um dos modelos mais utilizados em curvas de lactação em bovinos é o chamado modelo Gamma
Generalizado. A cuva que descreve tal modelo pode ser expressa pelo gráfico da função

γ(x) = axb exp(−cx).

Proponha um algoritmo que utilize regressão linear (diga qual será a base) para ajustar os dados da
tabela abaixo ao modelo Gamma Generalizado e aplique-o dizendo os valores dos parâmetros a, b e c.
Esses dados estão no arquivo dadosRL.mat no diretório Professores\Cálculo Numérico\Ajuste de
Curvas.
O script scriptRegLin neste mesmo diretório já carrega os dados. Modifique este script de forma a
resolver o problema.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 132 / 135


x γ(x)
1 1.4966
2 2.9678
3 3.5604
4 3.1547
5 2.3803
6 1.5224
7 1.3439
8 0.7363
9 0.3268
10 0.6248
11 0.4651
12 0.1373
13 0.1546
14 0.1022

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 133 / 135


Exercício 5
Suponha que você queira aproximar a função f (x) = cos(x) no intervalo [−1, 1] por uma parábola.
Escreva o sistema que deve ser resolvido de forma a utilizarmos uma Regressão linear contínua para
obtermos a melhor aproximação. (obs: As entradas do sistema deve ser dada por valores numéricos,
não utilizar símbolos como somatórios ou integrais.)

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 134 / 135


Referências

F. S. Acton. Numerical methods that work. Maa, 1990.


S. Conte and C. De Boor. Elementary numerical analysis: an algorithmic approach. International series
in pure and applied mathematics.
B. P. Demidovič and I. A. Maron. Computational mathematics. Moscow: Mir Publishers, 1987.
G. E. Forsythe and C. B. Moler. Computer solution of linear algebraic systems, volume 7. Prentice-Hall
Englewood Cliffs, NJ, 1967.
D. Sperandio, J. T. Mendes, and L. H. Silva. Cálculo numérico: características matemáticas e compu-
tacionais dos métodos numéricos. Prentice Hall, 2003.

Cálculo Numérico Andrey Dione Ferreira - andrey.ferreira@ifrj.edu.br 135 / 135

Você também pode gostar