Tópicos - Universidade da Beira Interiorcbarrico/Disciplinas/ComputacaoCientifica/Downloads/... ·...

107
Tópicos Tópicos - Métodos numéricos - Métodos analíticos versus métodos numéricos - Necessidade de se usar métodos numéricos - Métodos iterativos - Problemas com equações não lineares - Problemas com equações lineares - Interpolação polinomial - Aproximação polinomial Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Transcript of Tópicos - Universidade da Beira Interiorcbarrico/Disciplinas/ComputacaoCientifica/Downloads/... ·...

Tópicos

Tópicos

- Métodos numéricos

- Métodos analíticos versus métodos numéricos

- Necessidade de se usar métodos numéricos

- Métodos iterativos

- Problemas com equações não lineares

- Problemas com equações lineares

- Interpolação polinomial

- Aproximação polinomial

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Métodos numéricos

Métodos numéricos

- Conduzem com eficiência

- a soluções aproximadas de um modelo matemático (e de um sistema real)

- São usados pelos modelos matemáticos para se obter soluções numéricas de problemas quando,

- não se pode ou

- não se deseja usar métodos analíticos.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Métodos analíticos versus métodos numéricos

Métodos analíticos versus métodos numéricos

- Um método analítico para resolver um dado modelo matemático é qualquer método

- baseado na análise matemática rigorosa, e

- cuja aplicação conduz a uma solução verdadeira (exata) ou analítica do modelo.

- Método numérico para resolver um dado modelo matemático é qualquer método

- baseado na análise matemática rigorosa,

- cuja aplicação, na maioria dos casos, conduz a uma solução aproximada (não exata) ou numérica.

- Em alguns casos (mas raros) um método numérico pode dar uma solução exata.

- Em resumo:

soluções analíticas são exatas enquanto soluções numéricas são aproximadas

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Necessidade de se usar métodos numéricos

Necessidade de se usar métodos numéricos

- Porquê aprender métodos numéricos?

- Os métodos numéricos são necessários?

- A partir da distinção apresentada antes (método analítico vs método numérico), pode-se ser levado a

concluir que

- é suficiente usar métodos analíticos na resolução de modelos matemáticos,

ou que

- não há necessidade de aprender métodos numéricos pois eles conduzem apenas a soluções aproximadas.

- Tal conclusão é enganadora.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Necessidade de se usar métodos numéricos

- Precisamos de aprender métodos numéricos pelas seguintes razões:

- Porque existem situações em que é preferível um método numérico ao analítico; por exemplo, se a

solução para um modelo envolve vários cálculos muito demorados.

- Porque a maioria dos problemas reais são, em geral, complexos e envolvem fenómenos não lineares, pelo

que os conhecimentos matemáticos podem não ser suficientes para se obter uma solução do problema.

- Porque quando os dados do problema requerem um tratamento que inclua, por exemplo, diferenciação

ou integração, terá de ser feito através de um método numérico.

- Como em geral o problema real é demasiado complexo para ser tratado analiticamente, deve-se

- construir modelos aproximados ou

- obter soluções aproximadas.

- Nos modelos aproximados,

- implica alterar e simplificar o modelo por forma a torná-lo tratável e, assim,

- obter uma solução exata de um modelo aproximado.

- Para se obter soluções aproximadas, deve-se

- usar métodos numéricos e assim

- produzir soluções aproximadas para o sistema real.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Métodos iterativos

Métodos iterativos

- Os métodos iterativos estão associados aos conceitos de

- iteração (ou aproximação sucessiva) e

- aproximação local.

- Iteração significa a repetição sucessiva de um processo.

- A aproximação local

- consiste em aproximar uma função por outra que seja de manuseio mais simples;

- exemplo: aproximar uma função não linear por uma função linear num determinado intervalo.

- Um método iterativo caracteriza-se por envolver os seguintes elementos:

- aproximação inicial, que consiste numa primeira aproximação para a solução do problema numérico, e

- teste de paragem, que é o instrumento por meio do qual o procedimento iterativo é finalizado.

- Define-se sequência de números, { xk } k = 1, 2, …, como uma transformação do conjunto dos inteiros

positivos no conjunto dos reais.

- Sequência iterativa gerada por f é a sequência resultante:

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

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Métodos iterativos

- Este processo gera uma sucessão de aproximações xk, cada uma com erro associado:

ek = a - xk,

sendo a um zero da função f; isto é, f(a) = 0.

- A sequência iterativa diz-se convergente se

limk ∞

xk = α

ou seja,

limk ∞

ek = 0.

- Um método iterativo

- é definido por uma equação iterativa,

- com a qual se constrói aproximações à solução do problema.

- A implementação da equação iterativa obriga

- ao conhecimento de uma aproximação inicial e

- à definição de um conjunto de condições que garantam que a aproximação calculada, numa certa

iteração, se encontra suficientemente próxima da solução.

- Quando estas condições forem verificadas, pode-se parar o processo.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Métodos iterativos

- Antes de se iniciar o processo iterativo, deve-se ter resposta para as seguintes questões:

1. Interessa saber se o método iterativo converge ou não para a solução procurada. Devem-se analisar as

condições necessárias e suficientes de convergência do método.

2. Tendo a garantia da convergência do método, deve-se saber qual a razão de convergência.

3. A implementação de um método iterativo exige a realização de um número infinito de operações para se

chegar à solução - critério de paragem.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Métodos iterativos

- Razão de convergência:

- seja {xk} uma sucessão convergente para a;

- se existirem constantes positivas P e C tais que,

limk ∞

∣α−xk+1 ∣

∣α −xk ∣P= C

então diz-se que a sucessão {xk} é convergente para a de ordem P com uma constante de convergência

assimptótica igual a C:

- P = 1, linear/1ª ordem (C < 1); dígitos ganhos por iteração: constante.

- P > 1, super-linear; dígitos ganhos por iteração: aumenta.

- P = 2, quadrática/2ª ordem; dígitos ganhos por iteração: duplica.

- Quanto maior for a ordem de convergência de um método iterativo

menor será, em princípio, o número de iterações necessárias para atingir uma dada precisão.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Métodos iterativos

- Critério de paragem:

- Face aos recursos limitados disponíveis, o processo iterativo deve terminar após um número finito de

operações.

- As condições de paragem, se verificadas, dão mais garantia de proximidade à solução.

- O valor obtido na última iteração é a melhor aproximação calculada.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Tópicos

Problemas com equações não lineares - Tópicos

- Forma geral do problema

- Características do problema

- Raízes e multiplicidade

- Métodos iterativos

- Localização e separação das raízes

- Estimativa para o erro de truncatura

- Critérios de paragem

- Método da Bissecção

- Método da Falsa Posição (ou da Corda Falsa)

- Método do Ponto Fixo

- Método de Newton-Raphson

- Método da Secante

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Forma geral do problema

Problemas com equações não lineares - Forma geral do problema

- Uma equação não linear na variável x é representada na forma

f(x) = 0,

em que

f : R R é uma função contínua não linear em x R;

a variável x diz-se independente, e

a variável y = f(x) é a variável dependente.

- Resolver a equação f(x) = 0 consiste em determinar

- as raízes da equação f(x) = 0, ou

- os zeros da função f(x).

- Na representação gráfica da função f(x) no plano XOY,

- os pontos de interseção da curva f(x) com o eixo dos XX definem as raízes reais de f(x) = 0.

- As raízes podem ser raízes reais e/ou complexas.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Características do problema

Problemas com equações não lineares - Características do problema

- Existem dois tipos de de equações não lineares:

- as algébricas e

- as transcendentes.

- As equações algébricas

- envolvem apenas as operações aritméticas básicas,

- um caso particular é a forma polinomial

pn(x) = anxn + an−1 xn−1 + ... + a1 x + a0 = 0, em que ai são números reais ou complexos.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Características do problema

- As equações transcendentes

- Envolvem funções

- polinomiais

- trigonométricas,

- exponenciais,

- logarítmicas,

- ...

- Exemplos:

- f (x) = x −e−x = 0,

- f (x) = (2x + 1)2 −4cos(π x) = 0.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Características do problema

- Um problema diz-se direto,

- se para x = p, pretende-se calcular o correspondente valor de f(p);

- problema que não oferece qualquer dificuldade

- Um problema diz-se inverso,

- se o objetivo é determinar os valores de x que satisfazem a equação f(x) = 0;

- problema que requer, na maioria dos casos, a utilização dum método numérico.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares – Zeros (raízes) e multiplicidade

Problemas com equações não lineares – Zeros (raízes) e multiplicidade

- Se f(a) = 0 diz-se que a é

- uma raiz da equação f(x) = 0 (ou um zero da função f(x))

- um zero pode ser de três tipos:

a) simples: f(a) = 0

b) duplo: f(a) = f'(a) = 0

c) triplo: f(a) = f'(a) = f''(a) = 0

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares – Zeros (raízes) e multiplicidade

- Definição:

A multiplicidade de um zero a da função f(x) é o supremo m dos valores k tais que,

Se m = 1 o zero diz-se simples, se m = 2 o zero diz-se duplo, …

- Teorema:

Se a for um zero da função f(x) e se f(x) for m vezes diferenciável em a

então a multiplicidade de a é m se e só se,

f(a) = f'(a) = ... = f(m-1)'(a) = 0, mas f(m)'(a) ≠ 0.

- Exemplos:

- f(x) = sin(x),

f(0) = 0 mas f'(0) 0,

portanto m = 1.

- f(x) = 1 - cos(x),

f(0) = f'(0) = 0 mas f''(0) 0,

portanto m = 2.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

limxα

∣f (x )∣

∣x −α ∣k= c < ∞

Problemas com equações não lineares – Utilização de métodos iterativos

Problemas com equações não lineares – Utilização de métodos iterativos

- A maior parte dos métodos numéricos pertence à classe dos métodos iterativos.

- Os métodos para resolver o problema f(x) = 0 podem ser classificados em dois grupos:

- os métodos de encaixe e

- os métodos de intervalo aberto.

- Os métodos de encaixe caracterizam-se por

- definir, em cada iteração, um intervalo que contém a raiz e

- construir, para a iteração seguinte, um intervalo encaixado neste que contém a raiz.

- Como os intervalos estão encaixados uns nos outros, têm amplitudes sucessivamente menores.

- Exemplos de métodos de encaixe: da Bissecção e da Falsa Posição.

- Nos métodos de intervalo aberto

- não é necessário definir um intervalo que contenha a raiz.

- O processo iterativo pode ser iniciado com uma única aproximação à raiz (ou duas).

- A convergência destes métodos depende dos valores iniciais atribuídos na primeira iteração.

- Exemplos: do Ponto Fixo, de Newton-Raphson e da Secante.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares – Utilização de métodos iterativos

- Independentemente do método utilizado, muitas vezes é possível obter um majorante para o erro.

- Teorema:

Seja

a a raiz exata e

xk um valor aproximado da raiz da equação

f(x) = 0 com a, xk [a, b].

Se

f(x) for diferenciável em [a, b] e

|f'(x)| ≥ m > 0, x [a, b]

então,

∣α−xk ∣ ≤∣f (xk)∣

m.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Localização e separação das raízes

Problemas com equações não lineares - Localização e separação das raízes

- Para se aplicar um método iterativo é necessário conhecer uma aproximação inicial.

- Para certos métodos, para haver convergência, a aproximação inicial deve estar suficientemente

próxima da raiz.

- Deste trabalho de análise feito à priori depende do sucesso na resolução do problema.

- Assim, antes de se aplicar um método iterativo,

- é necessário obter uma aproximação inicial,

- o que exige a separação das possíveis raízes em intervalos tão pequenos quanto possível.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Localização e separação das raízes

- O método mais prático consiste em analisar

- a representação gráfica de f(x), ou

- a combinação dos termos que formam a sua expressão analítica.

- Se o gráfico de f pode ser esboçado facilmente,

então são obtidas geometricamente estimativas para os zeros da função.

- Se a equação f(x) = 0 pode ser escrita na forma

g(x) = h(x)

onde g e h são facilmente representadas graficamente,

então os pontos a tais que g(a) = h(a) verificam f(a) = 0.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Localização e separação das raízes

- O processo consiste no seguinte:

- escolher um intervalo [a, b] onde se estima estar um zero da função

(ou seja, que contenha um ponto de interseção das duas funções);

- verificar que existe um ponto de interseção das duas funções no intervalo (a, b).

Confirmar esta observação, com base nos dois resultados seguintes:

1. Se f(x)

- é uma função real e contínua em [a, b], sendo a e b números reais,

- tendo f(a) e f(b) sinais contrários, f(a).f(b) < 0,

então

- existe pelo menos uma raiz real entre a e b.

2. Se f'(x)

- existe,

- é contínua e

- mantém o sinal no intervalo [a, b],

então

- existe no máximo uma raiz em [a, b].

Portanto, se estas duas condições se verificarem, então existe uma raiz em [a, b] e é única.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Localização e separação das raízes

- Por exemplo, para f(x) = |x| - ex,

- escolher o intervalo (-1, 0) como contendo o ponto de interseção das duas funções;

- verificar que existe um ponto de interseção de |x| com ex no intervalo (-1, 0), com base nos dois

resultados mencionados:

f(x) C((-1, 0))

f(-1) = 0.632 > 0 e f(0) = -1 < 0

f'(x) = -1 – ex < 0 em todo o intervalo (-1, 0)

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Localização e separação das raízes

- Chamam-se números de Rolle da equação f(x) = 0, definida em D R, ao conjunto

- dos pontos fronteira de D e

- dos zeros da função derivada de f (ou seja, as raízes de f'(x)).

- Quando ordenados por ordem crescente,

- entre dois números de Rolle consecutivos existe no máximo uma raiz real da equação.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Estimativa para o erro de truncatura

Problemas com equações não lineares - Estimativa para o erro de truncatura

- Seja

{ xk } k = 1,2,...

uma sequência de aproximações convergindo para uma raiz real simples a de f(x) = 0.

- Aplicando o TVM deduz-se uma expressão que dá um limite para o erro na aproximação xk para a :

k ≤∣f(xk)∣

M1

,

em que a constante M1 > 0 com |f'(x)| ≥ M1 para x Nr(a) = [ a - r, a + r ] [a, b]

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Critérios de paragem

Problemas com equações não lineares - Critérios de paragem

- Há duas possíveis interpretações computacionais para resolver a equação f(x) = 0:

- calcular um valor xk muito próximo de a onde f(a) = 0;

- calcular xk tal que |f(xk)| é muito pequeno (muito próximo de zero).

- Assim, o critério de paragem dos métodos iterativos contém três parâmetros: 1, 2 e kmax.

- O objetivo é terminar o processo após o cálculo de xk quando

∣xk −xk−1∣≤ 1 (ou ∣ xk −xk−1 ∣≤ 1 ∣ xk ∣) ou

∣ f(xk)∣≤ 2 ou

k = kmax

em que,

- e1, serve para verificar a proximidade de xk em relação a a (um zero da função),

- e2, serve para verificar se f(xk) está próximo de 0 (f(xk) 0), e

- k, serve para verificar se atingiu o máximo de iterações predefinido, kmax.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método da Bissecção

Problemas com equações não lineares - Método da Bissecção

- Método baseado no teorema do valor intermédio

- Consiste no seguinte:

- partir de um intervalo [a, b] que contém a raiz,

- construir uma sucessão de intervalos, sendo

cada um deles é o semi-intervalo do anterior que contém a raiz.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método da Bissecção

Seja [a, b] D e f(a).f(b) < 0.

Então (a, b) contém uma raiz real de f(x) = 0.

Seja I0 = [a, b] e x0 o ponto médio de I0.

Se f(a).f(x0) < 0

então (a, x0) contém uma raiz

senão (x0, b) contém uma raiz.

Suponha-se que f(a).f(x0) < 0.

Seja I1 = [a, x0] e x1 o ponto médio de I1.

Se f(a).f(x1) < 0

então (a, x1) contém uma raiz

senão (x1, x0) contém uma raiz.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método da Bissecção

- Algoritmo para o método da Bissecção

- Objetivo: Calcular uma raiz real de f(x) = 0 em [a, b], a (a, b)- Parâmetros de entrada: a, b, e1, e2 R+, kmax N; com f(a).f(b) < 0

fa f(a)k 0repita

m (a + b) / 2fm f(m)se fa.fm < 0 então { a (a, m) }

b msenão { a (m, b) }

a mfa fm

fim_sek k + 1se (|a – b| < e1) ou (|fm| < e2) ou (k > kmax) então

escolher a (a, b)interromper

fim_sefim_repita{ a (a, b) e |a – b| < e1 ou |fm| < e2 ou k > kmax }

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método da Bissecção

- Para um dado erro absoluto e1, em cada iteração k, utilizou-se o teste:

∣bk −ak ∣2

≤ 1

- de modo a que o erro cometido seja inferior à semi-amplitute do intervalo.

- Deste modo, sendo ck os sucessivos pontos médios,

∣ c1 −α ∣ ≤∣b −a ∣

2; ∣ c2 −α ∣ ≤

∣b −a ∣

22; ... ; ∣ cn −α ∣ ≤

∣b −a ∣

2n

- é possível estimar o número n de iterações necessárias,

- para garantir uma aproximação da raiz com um erro absoluto máximo de e:

b −a

2n≤ 1.

- Ou seja,

2n ≥b −a

1

ln(2n) ≥ ln((b−a)/1) n ≥ln ((b −a) / 1)

ln 2.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método da Bissecção

- Exemplo: f(x) = |x| - ex, com e1 = 10-6 e tomando [a, b] = [-1, 0]:

k ak bk k ak bk

1 -1.000000 0.000000 11 -0.567383 -0.566406

2 -1.000000 -0.500000 12 -0.567383 -0.566895

3 -0.750000 -0.500000 13 -0.567383 -0.567139

4 -0.625000 -0.500000 14 -0.567261 -0.567139

5 -0.625000 -0.562500 15 -0.567200 -0.567139

6 -0.593750 -0.562500 16 -0.567169 -0.567139

7 -0.578125 -0.562500 17 -0.567154 -0.567139

8 -0.570313 -0.562500 18 -0.567146 -0.567139

9 -0.570313 -0.566406 19 -0.567146 -0.567142

10 -0.568359 -0.566406 20 -0.567144 -0.567142

- A raiz da equação em estudo encontra-se no intervalo (-0.567144, -0.567142);

- O ponto médio é -0.567143 que é um valor aproximado da raiz com um erro absoluto menor que 10-6;

- O processo terminou na iteração k = 20, em que

b −a

2n= 0.00000095, ou seja, n ≥

ln ((b −a) / 1)ln 2

= 19.931569.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método da Bissecção

- As vantagens do método da Bissecção são:

- converge sempre (desde que exista raiz no intervalo inicial);

- possibilidade de prever um majorante para o erro cometido ao fim de um certo número de iterações;

- custo computacional de cada iteração muito baixo.

- As desvantagens do método da Bissecção:

- a maior está na sua convergência, que é muito lenta (muitas iterações) relativamente a outros métodos:

- a ordem de convergência do método da Bissecção é linear (P = 1),

- a constante de convergência é igual a 1/2 (C = 1/2).

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método da Falsa Posição

Problemas com equações não lineares - Método da Falsa Posição

- Pode ser encarado como um melhoramento do método da Bissecção.

- Em vez de se determinar o ponto médio, é determinado um ponto ck resultante da interseção

- da secante que passa pelos pontos

(ak, f(ak)) e (bk, f(bk))

- com o eixo dos XX.

- A partir da equação da secante,

y −f (bk) =f (bk) −f(ak)

bk −ak(x −bk)

e fazendo y = 0 obtém-se,

ck = bk −f (bk)

f(bk)−f (ak )(bk −ak )

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método da Falsa Posição

Algoritmo para o método da Falsa Posição

Objetivo: Calcular uma raiz real de f(x) em [a,b], a (a,b)Parâmetros de entrada: a, b, e1, e2 R+, kmax N; com f(a).f(b) < 0

fa f(a)k 0repita

m = b −f(b)

f (b)−f(a)(b −a)

fm f(m)se fa.fm < 0 então { a (a, m) }

b msenão { a (m, b) }

a mfa fm

fim_sek k + 1se (|a – b| < e1) ou |fm| < e2) ou (k > kmax) então

escolher a (a, b)interromper

fim_sefim_repita { a (a, b) e |a – b| < e1 ou |fm| < e2 ou k > kmax }

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método do Ponto Fixo

Problemas com equações não lineares - Método do Ponto Fixo

- Pretende-se determinar a solução a de uma equação não linear da forma,

x = g(x).

- Dada uma equação na forma f(x) = 0 é sempre possível fazer,

x = x + f(x), em que g(x) = x + f(x).

- De uma forma mais geral pode-se considerar,

g(x) = x + c(x).f(x)

onde c(x) é uma função

- contínua,

- não nula e

- limitada no intervalo [a, b], contendo a raiz a de f(x)

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método do Ponto Fixo

- Definição:

Um ponto fixo de uma função g(x) é um número real a tal que a = g(a).

Dada uma aproximação inicial x0 [a, b], calcula-se uma sucessão { xk } a tal que,

xk+1 = g(xk) , k = 0, 1, 2, ...

- Geometricamente os pontos fixos da função y = f(x)

são os pontos de intersecção de

y = g(x) com y = x.

Assim,

se f(x) = 0 x = g(x),

então determinar a raiz de f(x) = 0 em [a, b]

é procurar o ponto fixo de g(x) em [a, b].

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método do Ponto Fixo

- Exemplo: o cálculo de √a consiste na sucessão de aproximações

xk+1 =12( a

xk

+ xk)- Experimente-se para a = 16, começando com x0 = 10:

0 10.00000000

1 5.80000000

2 4.27931034

3 4.00911529

4 4.00001036

5 4.0000000

- O método utilizado tem por base a equação,

x = g (x ) =12( a

x+ x)

- que é equivalente a x2 = a e

- consiste na pesquisa de um ponto fixo da função g(x).

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método do Ponto Fixo

- Para a = 16 a função g(x) tem dois pontos fixos, em x = 4 e x = -4.

Ao partir-se de uma estimativa inicial negativa, o método encontra a raiz negativa de 16.

0 -10.00000000

1 -5.80000000

2 -4.27931034

3 -4.00911529

4 -4.00001036

5 -4.00000000

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método do Ponto Fixo

Teorema (quando existe ponto fixo)

Seja g(x) C([a, b]).

Se para todo o x [a, b], se verifica que g(x) [a, b] (isto é, g é uma contração)

então g(x) tem pelo menos um ponto fixo em [a, b].

Teorema (quando é único o ponto fixo):

Se g'(x) está definida em [a, b] e

existe uma constante positiva L < 1, tal que |g'(x)| ≤ L para todo o x [a, b],

então g(x) tem um único ponto fixo em [a, b].

Teorema do Ponto Fixo (quando converge o método do ponto fixo):

Sejam g(x), g'(x) C([a, b]), tais que

g(x) [a, b] para todo o x [a, b],

|g'(x)| < 1 para todo o x [a, b],

x0 [a, b].

Então

a sucessão { xk } gerada por xk+1 = g(xk), k = 0, 1, 2, ...

converge para o único ponto fixo a [a, b].

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método do Ponto Fixo

Algoritmo do método do Ponto Fixo

Objetivo: Calcular raiz real simples de f(x) = 0, a

Parâmetros de entrada: x0, e1, e2 e kmax; garantia de convergência

k 0

repita

k k + 1

x1 g(x0)

se (|x1 - x0| < e1) ou (|f(x1)| < e2) ou (k = kmax) então

a x1 { aproximação obtida }

interromper

senão

x0 x1

fim_se

fim_repita

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método do Ponto Fixo

Exemplo:

Determinar, com erro absoluto inferior a 5x10-5, o zero da função f(x) = 1 + x + ex no intervalo [-2, -1].

k xk xk+1 = g(xk) d

0 -2.00000 -1.13534 +5.0 x 10-1

1 -1.13534 -1.32131 +1.1 x 10-1

2 -1.32131 -1.26678 +3.2 x 10-2

3 -1.26678 -1.28174 +8.7 x 10-3

4 -1.28174 -1.27756 +2.4 x 10-3

5 -1.27756 -1.27872 +6.8 x 10-4

6 -1.27872 -1.27839 +1.9 x 10-4

7 -1.27839 -1.27848 +5.2 x 10-5

8 -1.27848 -1.27846 +1.5 x 10-5

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método de Newton-Raphson

Problemas com equações não lineares - Método de Newton-Raphson

- Em cada iteração xk

- a curva y = f(x) é aproximada pela sua tangente,

- a interseção da tangente com o eixo dos XX é a nova

aproximação xk+1.

- Equação tangente à curva no ponto (xk, f(xk)) é

y = f(xk) + f'(xk) (x - xk)

- A interseção da tangente com o eixo dos XX determina a

nova aproximação,

xk+1 = xk −f(xk)

f '(xk)

- A partir de uma aproximação inicial x0

gera-se uma sucessão { xk } que deverá convergir para um zero da função.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método de Newton-Raphson

- Por exemplo, para a função f(x) = x2 – a,

xk+1 = xk −f(xk)

f '(xk)= xk −

xk2 −a

2xk

=12( a

xk

+ xk)para o caso particular de a = 16, e x0 = 10,

a sucessão das aproximações tende para um zero de f(x) = x2 – 16.

k xk

0 10.00000000

1 5.80000000

2 4.27931034

3 4.00911529

4 4.00001036

5 4.00000000

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método de Newton-Raphson

Teorema (Critérios de convergência):

Seja f C2([a, b]). Se

(1) f(a).f(b) < 0

(2) f'(x) ≠ 0 para todo o x [a, b]

(3) f''(x) não muda de sinal em [a, b]

(4) ∣ f(a)

f '(a) ∣ < b −a e ∣ f(b)

f '(b) ∣ < b −a

Então,

para qualquer x0 [a, b],

a sucessão { xk } gerada pelo método de Newton-Raphson

converge para o único zero de f em [a, b].

Observações:

(1) + (2) garantem a existência de uma só solução em [a, b];

(2) + (3) garantem que a função é monótona, convexa ou côncava;

(4) garante que as tangentes à curva em (a, f(a)) e (b, f(b)) intersetam o eixo dos XX em (a, b).

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método de Newton-Raphson

Algoritmo

Objetivo: Calcular raiz real simples de f(x) = 0

Parâmetros de entrada: x0, e1, e2, kmax e garantia de convergência

k 0

f0 f(x0)

repita

x1 x0 – f0 / f'(x0)

k k + 1

f0 f(x1)

se (|x1 – x0| < e1)) ou (|f0| < e2) ou (k = kmax) então

a x1 { aproximação obtida }

interromper

fim_se

x0 x1

fim_repita

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método de Newton-Raphson

- Vantagens:

- Quando converge, tem convergência quadrática.

- Necessita apenas de um ponto, para estimativa inicial.

- Desvantagens:

- Exige uma boa aproximação inicial.

Caso contrário pode divergir, ou encontrar outra raiz.

- Exige o cálculo da derivada em cada iteração,

o que pode ser lento ou mesmo impossível.

- Exige que a derivada (no denominador) nunca se anule.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método da Secante

Problemas com equações não lineares - Método da Secante

- Baseia-se na aproximação de f(x) por uma reta, na vizinhança da raiz.

- O ponto de interseção da reta com o eixo dos XX é uma aproximação à raiz de f(x) = 0.

- Se ainda estiver longe da solução a, o processo é repetido iterativamente.

- Para iniciar o processo iterativo são escolhidos dois pontos: x0 e x1.

- O intervalo definido por eles não necessita de conter a raiz.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método da Secante

- O ponto de interseção da reta, que passa pelos dois pontos, com o eixo dos XX obtém-se a partir da

equação iterativa, cuja forma geral é

xk+1 = xk −(xk −xk−1)

f (xk)−f (xk−1)f (xk), k=1,2,....

- Embora sejam necessários dois pontos para iniciar o

processo iterativo, em cada iteração são calculados

- apenas um novo ponto, e

- o correspondente valor da função

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método da Secante

Exemplo:

- Determinar aproximações para a raiz real da função

x3 – 2x – 5 = 0,

tomando como aproximações iniciais os pontos

x0 = 3 e

x1 = 2.

- Foi calculada a seguinte sequência de iterações convergindo para a raiz real daquela função:

x2 = 2.058824,

x3 = 2.096559,

x4 = 2.094511,

x5 = 2.094511,

x6 = 2.094552,

x7 = 2.094552.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método da Secante

- Para que a sequência gerada por este método convirja para uma raiz real simples de f(x) é, em geral,

necessário que as aproximações iniciais, x0 e x1, estejam suficientemente próximas da raiz.

Teorema:

Seja f C2([a,b]) e a uma raiz simples de f(x) = 0 em [a,b].

Então existe r > 0 tal que

a sequência { xk } k = 2,3,... gerada pelo método da Secante

converge sempre que |xi - a| < r (i = 0,1).

Teorema:

Seja f C2([a,b]). Se (i), (ii), (iii) e (iv) do teorema sobre convergência do método de Newton-Raphson se

verificam, então para x0, x1 [a,b] a sequência gerada pelo método da Secante converge para a único

zero de f em [a,b].

Teorema (Ordem de convergência do método da Secante):

A ordem de convergência é 1+√52

= 1.618... (convergência superlinear).

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações não lineares - Método da Secante

Algoritmo

Objetivo: Cálculo de uma raiz real simples de f(x) = 0, a

Parâmetros de entrada: x0, x1, e1 (limite do erro absoluto), e2 e kmax

k 0f0 f(x0)

f1 f(x1)

repitad x1 - ( (x0 – x1) / (f1 – f0) ) . f1 )

x2 x1 – dk k + 1x0 x1

x1 x2

f0 f1

f1 f(x2)

se (|x1 – x0| < e1) ou (|f1| < e2) ou (k = kmax) então

a x1 { aproximação obtida }

interromperfim_se

fim_repita

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Tópicos

Problemas com equações lineares - Tópicos

- O problema da resolução de um sistema linear

- Utilização de métodos iterativos

- Método de Jacobi

- Método de Gauss Seidel

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Resolução de um sistema linear

Problemas com equações lineares - Resolução de um sistema linear

- Pretende-se calcular a solução de um sistema de equações lineares, cuja forma geral é,

{a11 x1 + a12 x2 + ... + a1n xn = b1a21 x1 + a22 x2 + ... + a2nxn = b2

...an1 x1 + an2 x2 + ... + ann xn = bn

onde

x1, x2, ..., xn são as incógnitas do sistema,

aij (i, j = 1,2, ..., n) são os coeficientes do sistema,

b1, b2, ..., bn são os segundos membros do sistema.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Resolução de um sistema linear

- Problema:

- Pretende-se determinar valores para x1, x2, ..., xn de modo que as n equações do sistema sejam

satisfeitas simultaneamente.

- O sistema pode também escrever-se na sua forma matricial

A x = b,

ou

A = [a11 a12 ... a1n

... ... ... ...an1 an2 ... ann

], x = [x1

...xn

], b = [b1

...bn

]sendo

A = (aij) a matriz dos coeficientes,

b = (bi) o vetor dos termos independentes, e

x = (xi) o vetor das incógnitas.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Resolução de um sistema linear

Definição:

Diz-se que um sistema de equações lineares é determinado se tem uma única solução.

Teorema:

Um sistema de equações lineares (escrito na sua forma matricial) é determinado

se e só se verificar qualquer uma das duas condições (equivalentes):

- A-1 existir (A é invertível)

- det A ≠ 0

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Métodos diretos

Problemas com equações lineares - Métodos diretos

- Permitem calcular a solução exata com um número finito de operações aritméticas básicas.

- Exemplos de métodos diretos:

- Regra de Cramer,

- Eliminação de Gauss,

- Decomposição LU, e

- Método de Choleski.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Métodos iterativos

Problemas com equações lineares - Métodos iterativos

- Teoricamente:

- a solução é definida como um limite de uma sucessão (infinita) de vetores.

- Na prática:

- calcula-se apenas um número finito de vetores da sucessão, isto é,

- calcula-se um um número finito de iterações.

- Exemplos de métodos iterativos:

- método de Jacobi

- método de Gauss-Seidel.

Estes métodos são apropriados para sistemas de grande dimensão, cuja matriz dos coeficientes é dispersa.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Métodos iterativos

- Seja

A x = b (1)

um sistema de n equações em n incógnitas.

- A matriz A pode ser escrita na forma

A = M – N, (2)

sendo

- M e N matrizes de ordem n, e

- M invertível.

- Substituindo (2) na expressão (1), e mais alguns cálculos, obtém-se

x = M-1 (N x + b) (3)

- Assim, a solução de (1) é solução de (3).

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Métodos iterativos

- Teorema:

Se ∥M−1 N∥ < 1

então a sequência definida pela iteração

xk+1= M−1 (N x(k )

+ b), (k = 0, 1, ...) (4)

converge para o ponto fixo de (3) qualquer que seja x(0) Rn.

- Os métodos de Jacobi e de Gauss Seidel definem-se com escolhas especiais para M e N.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Método de Jacobi

Problemas com equações lineares - Método de Jacobi

- Considerando a matriz dos coeficientes de (1), A = (aij), definem-se

- D = (dij) uma matriz diagonal,

- L = (lij) uma matriz estritamente triangular inferior e

- U = (uij) uma matriz estritamente triangular superior, tais que

dij = {aij, se i = j

0, se i ≠ j, lij = {aij , se i > j

0, se i ≤ j, uij = {aij , se i < j

0, se i ≥ j(5)

- Então, A = D + (L + U)

- A escolha de M = D e N = L + U resulta no método de Jacobi.

- Do teorema anterior conclui-se que (e assumindo que D é invertível), se

∥D−1 (L + U)∥ < 1 (6)

Então a sequência definida pela iteração

x(k+1) = D−1 (−(L + U) x(k ) + b ), (k = 0, 1, ...) (7)

converge para a solução de (1), qualquer que seja x(0) Rn.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Método de Jacobi

As componentes da iteração x(k+1) de (7) são dadas por

x(k+1)= −∑

j=1j i

n

a 'ij xj(k )

+ b 'i , (i=0,1,2,...,n) (8)

onde,

a 'ij =aij

aii

, e

b 'i =bi

aii

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Método de Jacobi

Algoritmo

Objetivo: resolução de Ax = b supondo satisfeitas as condições de convergênciaParâmetros de entrada: x(0), e e kmax

para i de 1 até n fazerxi xi

(0)

fim_parak 0repita

para i de 1 até n fazeryi xi

fim_parapara i de 1 até n fazer

xi b 'i − ∑j=1; j i

n

a 'ij y j

fim_parak k + 1

se ((∥x −y∥∞ < ∥x∥∞) ou (k=kmax)) então

a x { aproximação obtida }interromper

fim_sefim_repita

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Método de Gauss Seidel

Problemas com equações lineares - Método de Gauss Seidel

- Considere-se novamente as matrizes D, L e U, definidas em (5).

- Tem-se A = (D + L) + U.

- A escolha M = D + L e N = U dá o método de Gauss Seidel.

- Sendo

(D + L) x(k+1) = -U x(k) + b, (k = 0, 1, …)

obtém-se

x(k+1) = D-1 (-L x(k+1) - U x(k) + b), (k = 0, 1, …) (9)

- Se

∥(D + L)−1 U∥ < 1 (10)

então

a sequência definida por (9) converge para a solução de (1) qualquer que seja x(0) Rn.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Método de Gauss Seidel

- Se A for estritamente diagonal dominante é garantida a convergência do método de Gauss Seidel

qualquer que seja x(0) Rn.

- As componentes de x(k+1) de (8) são dadas por

xi(k+1)

= −∑j=1

i−1

a 'ij xj(k+1)

− ∑j=i+1

n

a 'ij xj(k )

+ b 'i , (i = 0, 1, ..., n) (11)

- A diferença entre (11) e (8) é que no método de Gauss Seidel, no cálculo da componente i da iteração

k+1 são usadas as primeiras i-1 componentes já “atualizadas”.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Método de Gauss Seidel

Algoritmo

Objetivo: Resolução de Ax = b supondo satisfeitas as condições de convergência

Parâmetros de entrada: x(0), e e kmax

para i de 1 até n fazerxi xi

(0)

fim_parak 0repita

para i de 1 até n fazeryi xi

fim_parapara i de 1 até n fazer

xi b 'i −∑j=1

i−1

(a'ij x j) − ∑j=i+1

n

(a 'ij y j)

fim_parak k + 1

se ((∥x−y∥∞ < ∥x∥∞) ou (k=kmax)) então

interromperfim_se

fim_repita

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Método de Gauss Seidel

Exemplo:

- Considere-se o seguinte sistema de equações lineares

{7 x1 −3x3 + x5 = 1

2 x1 + 8 x2 = 1

x3 = 1

3x1 + 5x4 = 1

x2 + 4 x5 = 1

2 x4 + 6x6 = 1

- A matriz dos coeficientes é estritamente diagonal dominante;

- Logo, haverá convergência para a solução do sistema usando

- o método de Jacobi ou

- o método de Gauss Seidel.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Método de Gauss Seidel

- Tomando

x(0) = [1/7 1/8 1 1/5 1/4 1/6]T

foram obtidos os seguintes resultados:

Iteração xi Método Jacobi Método Gauss Seidel

1

1

2

3

4

5

6

0.607143

0.089286

1.000000

0.285714

0.281250

0.233333

0.607143

-0.026786

1.000000

0.564286

0.243304

0.354762

2

1

2

3

4

5

6

0.611607

-0.026786

1.000000

0.564286

0.272322

0.354762

0.606186

-0.026547

1.000000

0.563712

0.243363

0.354571

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Problemas com equações lineares - Método de Gauss Seidel

3

1

2

3

4

5

6

0.610332

-0.027902

1.000000

0.566964

0.243304

0.354762

0.606195

-0.026549

1.000000

0.563717

0.243363

0.354572

... ... ...

10

1

2

3

4

5

6

0.606195

-0.026549

1.000000

0.563717

0.243363

0.354572

---

---

---

---

---

---

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial - Tópicos

Interpolação polinomial - Tópicos

- Introdução

- Polinómio interpolador

- Interpolação polinomial de Lagrange

- Fórmula de Lagrange

- Fórmula de Newton

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial - Introdução

Interpolação polinomial - Introdução

- Seja f uma função real definida em [a, b] R,

sendo conhecidos os seus valores nos pontos x0, x1, …, xn [a, b].

- Suponha-se que se pretende calcular o valor não tabulado f(y), sendo y [a, b].

- Por exemplo, dada a tabela de valores da função log10 seguinte

x log10(x) x log10(x)

2.1 0.32222 2.6 0.41497

2.2 0.34242 2.7 0.43136

2.3 0.36173 2.8 0.44716

2.4 0.38021 2.9 0.46240

2.5 0.39794

- Considere-se os seguintes problemas:

- calcular log10(2.45);

- determinar x tal que log10(x) = 0.4.

Qualquer um destes problemas pode ser resolvido por interpolação.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial - Introdução

- Este processo consiste em

- obter uma aproximação para o valor que se pretende conhecer “representando” a função f por uma

função “simples”, a função interpoladora, que assume os mesmos valores que f para certos valores do

argumento em [a, b].

- Um caso particular de interpolação com grande número de aplicações é a

- interpolação polinomial.

Os polinómios interpoladores

- Constituem meios de aproximação de funções muito usados.

- Fórmulas desenvolvidas estão na base do desenvolvimento de métodos numéricos para

- o cálculo de integrais, e

- a resolução de equações diferenciais.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial - Polinómio interpolador

Interpolação polinomial - Polinómio interpolador

Definição

Seja f C([a,b]) e xi [a, b] (i = 0, 1, …, n).

Um polinómio p que assume os mesmos valores que f nos pontos x0, x1, …, xn, isto é, que satisfaz

p(xi) = f(xi), (i = 0, 1, …, n)

chama-se polinómio interpolador de f nos pontos x0, x1, …, xn.

Problema:

Dado um conjunto de pontos,

(x0, y0), (x1, y1), ..., (xn, yn)

com xi ≠ xj para i ≠ j, e com i, j = 0, 1, ..., n

determinar uma função interpoladora f tal que

f(xi) = yi, i = 0, 1, ..., n

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial - Polinómio interpolador

Por exemplo, dado o conjunto de pontos

duas possíveis soluções seriam:

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial - Polinómio interpolador

Terminologia associada a esta problemática:

- Os valores x0, x1, …, xn chamam-se nós de interpolação e

- os respetivos y0, y1, ..., yn são os valores nodais.

- O conjunto { (xi, yi), i = 0, 1, …, n } chama-se suporte de interpolação.

- { f(xi) = yi , i = 0, 1, …, n } é a função de interpolação nesse suporte.

Existem vários tipos de funções de interpolação, tais como:

- Interpolação polinomial

f(x) = an xn + ... + a1 x + a0

- Interpolação trigonométrica

f(x) = a-M e-iMx + ... + a0 + ... + aM eiMx

onde

M é um inteiro igual a n/2 se n é par e (n-1)/2 se n é ímpar,

i é a unidade imaginária

- Interpolação racional

f (x) =ak xk

+ ... + a1 x + a0

ak+1 xn+ ... + ak+n x + ak+n+1

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Fórmula de Lagrange

Interpolação polinomial de Lagrange - Fórmula de Lagrange

Definição:

Designam-se por polinómios de Lagrange associados aos nós x0, ..., xn , os polinómios de grau n dados por,

Lk(x) = ∏i = 0i ≠ k

n x −xi

xk −xi

, k=0,1,...,n

Teorema:

O polinómio interpolador pn de grau menor ou igual a n

que interpola os valores nodais y0, y1, ..., yn nos nós distintos x0, x1, ..., xn é dado por,

pn(x) = ∑k = 0

n

Lk(x) yk .

- Exemplo:

- Construir o polinómio interpolador de grau menor ou igual a 3 que interpola os seguintes valores:

xi 0 1 3 4

yi 1 -1 1 2

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Fórmula de Lagrange

- Os polinómios de Lagrange associados aos nós: x0 = 0, x1 = 1, x2 = 3, x3 = 4

obtêm-se diretamente da definição anterior,

L0(x) =(x −x1) (x −x2) (x −x3)

(x0 −x1) (x0 −x2) (x0 −x3)= −

112

(x −1) (x −3) (x −4)

L1(x ) =(x −x0) (x −x2) (x −x3)

(x1 −x0) (x1 −x2) (x1 −x3)=

16

x (x −3) (x −4)

L2(x ) =(x −x0) (x −x1) (x −x3)

(x2 −x0) (x2 −x1) (x2 −x3)= −

16

x (x −1) (x −4)

L3(x ) =(x −x0) (x −x1) (x −x2)

(x3 −x0) (x3 −x1) (x3 −x2)=

112

x (x −1) (x −3)

- Assim sendo, nas condições do teorema, o polinómio interpolador é dado por:

p3(x )= ∑k = 0

3

Lk(x ) yk = L0(x )y0+L1(x)y1+L2(x)y2+L3(x)y3 =

= L0(x)−L1(x)+L2(x)+2.L3(x )=

= −112

(x −1) (x −3) (x −4)−16

x (x −3) (x −4)−16

x (x −1) (x −4)+212

x (x −1) (x −3)

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Algoritmo (fórmula de Lagrange):

Interpolação polinomial de Lagrange - Algoritmo (fórmula de Lagrange):

{ Objetivo: cálculo de pn(z) sendo pn interpolador de f nos pontos distintos x0, x1, ..., xn }

q 0

para i desde 0 até n fazer

p 1

para j desde 0 até n fazer

se j ≠ i então

p p.(z – xj) / (xi – xj)

fim_se

fim_para

q q + p.yi

fim_para

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Fórmula de Newton

Interpolação polinomial de Lagrange - Fórmula de Newton

Definição:

A Fórmula de Newton para polinómios de grau n é dada por,

pn(x) = a0 + a1 (x – c1) + a2 (x – c1) (x – c2) + … + an (x – c1) (x – c2) ... (x – cn)

onde os parâmetros ci, i = 1, 2, ... , n são chamados centros do polinómio.

Construção da Fórmula de Newton:

Considerando os nós x0, x1, ..., xn-1 como centros do polinómio, temos:

pn(x) = a0 + a1 (x – x0) + a2 (x – x0) (x – x1) + … + an (x – x0) (x – x1) ... (x – xn-1)

Os coeficientes

a0, a1, ..., an

vão ser determinados de modo que pn seja o polinómio interpolador nos

nós x0, x1, ..., xn dos valores nodais y0, y1, ..., yn:

pn(x0) = y0 ; pn(x1) = y1 ; ... ; pn(xn) = yn

ou, se os valores nodais yi forem valores nodais de uma função f tem-se,

pn(xi) = f(xi), i = 0, 1, ..., n

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Fórmula de Newton

- Partindo de,

pn(x) = a0 + a1 (x – x0) + a2 (x – x0) (x – x1) + … + an (x – x0) (x – x1) ... (x – xn-1)

e fazendo sucessivamente x = x0, x = x1, ..., x = xn obtém-se os coeficientes:

a0 = f(x0)

a1 =f (x1)−a0

x1 −x0

=f (x1)−f (x0)

x1 −x0

a2 =f (x2)−a0 −a1(x2 −x0)

(x2 −x0)(x2 −x1)=

f (x2) −f (x1)

x2 −x1

−f (x1)−f (x0)

x1 −x0

x2 −x0

. . .

an =f (xn)−a0 −a1(xn −x0) −a2(xn −x0)(xn −x1)−...−an−1(xn −x0)... (xn −xn−2)

(xn −x0)(xn −x1)...(xn −xn−1)= ...

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Fórmula de Newton

Cada coeficiente ak (k = 0, 1, ..., n):

- pode ser calculado a partir dos ai (i = 0, 1, ..., k-1) já determinados.

- depende exclusivamente

- dos nós x0, x1, ..., xn e

- dos respetivos valores nodais y0, y1, ..., yn

- ak = f[x0, x1, ..., xk]

em que

f[x0, x1, ..., xk]

é a diferença dividida de ordem k (k ≥ 1) entre os k+1 nós x0, x1, ..., xk .

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Fórmula de Newton

Definição:

Para designar a diferença dividida de ordem k (k ≥ 1) entre

os k+1 nós x0, x1, ..., xk , são utilizadas indistintamente duas notações:

Dk f(xi) f [xi , xi+1, ... , xi+k ]onde

Dk f(xi) =Dk−1 f (xi+1) −Dk−1 f(xi)

xi+k −xi

ou

f [xi , xi+1, ... , xi+k ] =f [xi+1, ... , xi+k ] − f [xi , ... , xi+k−1]

x i+k − xi

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Fórmula de Newton

Teorema:

Os coeficientes ak (k = 0, 1, ..., n) do polinómio pn de grau menor ou igual a n, na forma de Newton que

interpola os valores f(x0), f(x1), ..., f(xk) nos nós distintos x0, x1, ..., xk são dados indutivamente pela

expressão:

ak = f [x0 , x1, ... , xk ] =f [x1 , ... , xk ] − f [x0 , ... , xk−1 ]

xk − x0

Assim, o Polinómio Interpolador com Diferenças Divididas tem a forma:

pn(x) = f [x0] + f [x0, x1](x −x0)+ f [x0, x1, x2](x −x0)(x −x1)+

+ ... + f [x0 ,x1,... , xn](x −x0)(x −x1)...(x −xn−1)

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Fórmula de Newton

- Uma tabela de diferenças divididas de uma função f pode ser escrita da forma que segue

(denotando-se por fi,i+j a diferença f[xi, ..., xi+j]).

x D0 / f[] D1 / f [ , ] D2 / f [ , , ] D3 / f [ , , , ] ...

x0 f(x0)

f0,1

x1 f(x1) f0,2

f1,2 f0,3

x2 f(x2) f1,3 ...

f2,3 ...

x3 f(x3) ... ...

... fn-3,n

... ... fn-2,n

fn-1,n

xn f(xn)

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Fórmula de Newton

Algoritmo (Diferenças divididas):

{ Objetivo: construir uma tabela de diferenças divididas de f por diagonais ascendentes sucessivas }

f0 f(x0)

para i desde 1 até n fazer

fi f(xi)

para j desde (i-1) até 0 fazer

fj,i (fj,i-1 - fj+1,i) / (xj – xi)

fim_para

fim_para

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Fórmula de Newton

Exemplo:

Determinar o polinómio interpolador de Newton que interpola os seguintes pontos:

xi 0 1 3 4

yi 1 -1 1 2

A tabela de diferenças dividida para este caso é a seguinte:

x D0 / f[] D1 / f [ , ] D2 / f [ , , ] D3 / f [ , , , ]

x0 = 0 1

f0,1 = -2

x1 = 1 -1 f0,2 = 1

f1,2 = 1 f0,3 = -1/4

x2 = 3 1 f1,3 = 0

f2,3 = 1

x3 = 4 2

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Fórmula de Newton

Cálculo dos coeficientes ak (k = 0, 1, ..., n) do polinómio interpolador na forma de Newton:

f0,1 = f [x0 , x1] =f (x1)−f (x0)

x1 −x0

=−1 −11 −0

=−21

= −2

f1,2 = f [x1, x2] =f (x2)−f (x1)

x2 −x1

=1 −(−1)

3 −1=

22

= 1

f2,3 = f [x2, x3 ] =f(x3)−f (x2)

x3 −x2

=2 −14 −3

=11

= 1

f0,2 = f [x0 , x1, x2] =f [x1 , x2] −f [x0 , x1]

x2 −x0

=f1,2 −f0,1

x2 −x0

=1 −(−2)

3 −0=

33

= 1

f1,3 = f [x1, x2, x3 ] =f [x2, x3] −f [x1, x2]

x3 −x1

=f2,3 −f1,2

x3 −x1

=1 −1

4 −(−1)=

05

= 0

f0,3 = f [x0 , x1,x2 , x3] =f [x1, x2, x3] −f [x0, x1 , x2 ]

x3 −x0

=f1,3 −f0,2

x3 −x0

=0 −14 −0

= −14

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Fórmula de Newton

- Depois de calculados os coeficientes do polinómio interpolador na forma de Newton,

a0 = f[x0] = 1

a1 = f[x0, x1] = -2

a2 = f[x0, x1, x2] = 1

a3 = f[x0, x1, x2, x3] = -1/4

- Determinar a fórmula geral do polinómio interpolador:

p3(x ) = a0 + a1(x −x0)+ a2(x −x0)(x −x1) + a3(x −x0)(x −x1)(x −x2)

p3(x) = 1 + (−2)(x −0) + 1(x −0)(x −1)+ (−14)(x −0)(x −1)(x −3)

p3(x ) = 1 −2 x + x (x −1)−14

x (x −1)(x −3) .

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Interpolação polinomial de Lagrange - Fórmula de Newton

Observações:

- A ordem pela qual os nós são tomados é arbitrária.

- Se é necessário acrescentar mais algum nó aos anteriores,

- basta colocá-lo no fundo da tabela e

- calcular mais uma linha de valores (as diferenças divididas já obtidas mantém-se).

- Se os valores nodais forem os de uma função, é possível estabelecer uma ligação importante entre

- as diferenças divididas de ordem k e

- a derivada da mesma ordem dessa função.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Aproximação polinomial - Tópicos

Aproximação polinomial - Tópicos

- Introdução

- Conceitos e resultados básicos

- Aproximação dos mínimos quadrados para dados discretos

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Aproximação polinomial - Introdução

Aproximação polinomial - Introdução

- Em linhas gerais, aproximar uma função é representá-la por uma outra mais “simples”.

- Há a necessidade de aproximar uma função quando a forma com ela é definida dificulta ou

impossibilita a resolução de problemas matemáticos envolvendo essa função.

- São os casos de

- funções conhecidas por uma tabela de alguns dos seus valores,

- funções definidas como soluções de equações, ou

- funções definidas explicitamente por expressões envolvendo funções transcendentes.

- Pode-se estar interessado em

- calcular o valor do integral da função e não conhecer a primitiva da função, ou

- calcular um (ou mais) zeros da função não existindo uma fórmula que o permita fazer explicitamente,

- ...

- Uma forma de resolver estes problemas é

- substituir a função dada por outra mais “simples” (por exemplo, um polinómio).

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Aproximação polinomial - Introdução

-As classes de funções mais importantes são as

- dos polinómios (incluindo polinómios segmentados),

- das funções racionais (quocientes de polinómios) e

- das funções de Fourier ({sen(nx), cos(nx)}, n = 0, 1, …).

- Neste texto será considerada apenas a aproximação de funções por polinómios.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Aproximação polinomial - Conceitos e resultados básicos

Aproximação polinomial - Conceitos e resultados básicos

- O teorema de Weierstrass estabelece que para uma certa classe de funções, as contínuas num

intervalo fechado de R, existe um polinómio que aproxima a função tão bem quando se queira.

Teorema (da aproximação de Weierstrass):

Seja [a, b] R e f C([a,b]).

Então, qualquer que seja e > 0 existe n = n(e) tal que

|f(x) – pn(x)| < e,

para todo o x [a, b].

- É possível

- construir aproximações polinomiais úteis sob o ponto de vista prático, e

- estimar o erro de aproximação.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Aproximação dos mínimos quadrados para dados discretos

Aproximação dos mínimos quadrados para dados discretos

- Seja { (xi, yi) }, i = 1, 2, ..., m um conjunto de pares de números reais onde,

yi ≈ f(xi), i = 1, 2, ..., m

- A partir deste valores, pretende-se construir uma função que seja a melhor aproximação de f(x).

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Aproximação dos mínimos quadrados para dados discretos

- Tome-se como exemplo o caso linear, isto é, quando a função aproximante pretendida for uma reta

y = a x + b.

- Para calcular os parâmetros a e b, podem ser estabelecidos diferentes critérios, tais como:

- Minimizar o erro máximo,

maxi=1,...,m

∣y i −(ax i+b)∣

- Minimizar a soma dos erros,

∑i=1

m

∣yi−(ax

i+b)∣

- Minimizar o erro quadrático,

∑i=1

m

(y i−(a x

i+b))

2

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Aproximação dos mínimos quadrados para dados discretos

- Funções aproximantes e desvios

- O problema consiste em determinar a função que melhor aproxima um dado conjunto de pontos

{ (xi, yi) }, i = 1, 2, ..., m.

- A classe das funções aproximantes é caracterizada por um conjunto de parâmetros

c1, ..., cn.

- Cada função da classe é especificada pelos valores desses parâmetros,

f(x) = F(x; c1, ..., cn)

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Aproximação dos mínimos quadrados para dados discretos

- Se pretender-se aproximar os pontos por uma reta, então

- são dois os parâmetros (c1 e c2) e

- f(x) = F(x; c1, c2) = c1 + c2 x

- Se pretender-se aproximar os pontos por uma parábola, então

- são três os parâmetros (c1, c2 e c3) e

- f(x) = F(x; c1, c2, c3) = c1 + c2 x + c3 x2

- Para cada classe definem-se os desvios, em relação aos valores yi dos dados,

di = yi – F(xi; c1, c2, ..., cn), i = 1, 2, ..., m

- Em função dos desvios, é necessário decidir qual o critério a estabelecer.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Aproximação dos mínimos quadrados para dados discretos

- Cada critério define um problema de minimização.

- Problema de minimax (minimização do desvio máximo),

minimizar maxi=1,... ,m

∣yi −F(xi; c1, c2 ,... , cn)∣

- Problema de minimização (da soma) dos desvios absolutos,

minimizar ∑i=1

m

∣yi −F (xi ; c1 ,c2,..., cn)∣

- Problema de minimização do erro quadrático total,

minimizar ∑i=1

m

(yi −F (xi ; c1,c2, ..., cn) )2

- método de resolução deste problema chama-se método dos mínimos quadrados;

- função que o minimiza chama-se aproximação dos mínimos quadrados.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Método dos Mínimos Quadrados

Método dos Mínimos Quadrados

- Considere-se uma classe de funções,

F(x; c1, c2, ..., cn) = c1 f1(x) + c2 f2(x) + ... + cn fn(x)

onde f1(x), f2(x), ..., fn(x) são funções dadas.

- A aproximação dos mínimos quadrados consiste na determinação dos parâmetros

c1, c2, ..., cn que minimizam a soma dos quadrados dos desvios,

E(c1 ,... ,cn) = ∑i=1

m

(yi −c1f1(xi)−c2f2(xi)−... −cn fn(xi) )2 = ∑i=1

m

(yi −∑j=1

n

cjfj(xi))2

- Sendo um problema de minimização, para E(c1, c2, ..., cn) ser mínimo é necessário que,

∇ E(c1, ... ,cn) = 0 ∂E∂cj

= 0, j = 1, ...,n

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Método dos Mínimos Quadrados

- Donde se obtém um sistema de k equações a k incógnitas,

{c1 ∑

i=1

m

f1(xi)f1(xi) + c2 ∑i=1

m

f1(xi) f2(xi)+ ... + cn ∑i=1

m

f1(x i)fn(xi) = ∑i=1

m

yi f1(xi)

c1 ∑i=1

m

f2(xi)f1(xi)+ c2 ∑i=1

m

f2(xi) f2(xi)+ ... + cn ∑i=1

m

f2(xi)fn(xi) = ∑i=1

m

yi f2(xi)

...

c1 ∑i=1

mfn(xi)f1(xi)+ c2 ∑

i=1

mfn(xi) f2(xi)+ ... + cn ∑

i=1

mfn(xi)fn(x i) = ∑

i=1

myi fn(xi)

- Em certos casos, este sistema

- tem solução única e

- permite determinar univocamente os parâmetros c1, c2, ..., cn que caracterizam a melhor função

aproximante.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Reta dos Mínimos Quadrados (Reta de Regressão)

Reta dos Mínimos Quadrados (Reta de Regressão)

- No caso linear, o problema da minimização do erro quadrático, pretende determinar os valores de

a e b em F(x; a, b) = a + b x

que minimizam

E (a ,b) = ∑i=1

m

(y i − a − bx i)2

- Para que E(a, b) seja mínimo é necessário e suficiente que,

∇ E (a,b) = {∂E∂a

= 0

∂E∂b

= 0

ou seja que,

{a m + b ∑i=1

m

x i = ∑i=1

m

y i

a ∑i=1

m

x i + b ∑i=1

m

xi2

= ∑i=1

m

x i yi

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Reta dos Mínimos Quadrados (Reta de Regressão)

- Assim tem-se um sistema linear

- com duas equações (equações normais) e

- as duas incógnitas a e b que caracterizam a reta pretendida (reta de regressão).

- Os coeficientes de a e b, e os termos independentes, obtém-se pela construção de uma tabela,

xi yi xi2 xi yi

x1 y1 x12 x1 y1

x2 y2 x22 x2 y2

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

xn yn xn2 xn yn

xi yi xi2 xi yi

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Reta dos Mínimos Quadrados (Reta de Regressão)

- Exemplo:

- Para se determinar a reta de regressão que aproxima os pontos,

xi 1 2 4 5 7 8 10

yi 1 2 4 4 5 6 7

- constrói-se a tabela

xi yi xi2 xi yi

1 1 1 1

2 2 4 4

4 4 16 16

5 4 25 20

7 5 49 35

8 6 64 48

10 7 100 70

∑ 37 29 259 194

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Reta dos Mínimos Quadrados (Reta de Regressão)

- Donde se obtém o sistema

{a × 7 + b × 37 = 29a × 37 + b × 259 = 194

cuja solução é

a = 0.75

b = 0.6418918918919

o que permite determinar a reta de regressão,

y = 0.75 + 0.6418918918919 x

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Parábola dos Mínimos Quadrados

Parábola dos Mínimos Quadrados

- Para aproximar o conjunto de pontos por uma parábola, pretende-se determinar os valores de

a, b e c em F(x; a, b, c) = a + b x + c x2

por forma a minimizar o erro quadrático total,

E (a ,b,c) = ∑i=1

m

(yi − a − bx i − c xi2)

2

- Para que ocorra o mínimo é necessário (e prova-se que também suficiente) que,

∇ E (a,b ,c) = 0

ou seja,

{a m + b ∑

i=1

m

x i + c ∑i=1

m

x i2 = ∑

i=1

n

y i

a ∑i=1

m

x i + b ∑i=1

m

x i2

+ c ∑i=1

m

x i3

= ∑i=1

m

x i y i

a ∑i=1

m

x i2 + b ∑

i=1

m

x i3 + c ∑

i=1

m

x i4 = ∑

i=1

m

xi2 yi

- Os coeficientes de a e b e os termos independentes, obtém-se pela construção de uma tabela.

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Parábola dos Mínimos Quadrados

Exemplo:

- Para o mesmo caso do anterior,

xi 1 2 4 5 7 8 10

yi 1 2 4 4 5 6 7

- construindo a tabela

xi yi xi2 xi

3 xi4 xi yi xi

2 yi

1 1 1 1 1 1 1

2 2 4 8 16 4 8

4 4 16 64 256 16 64

5 4 25 125 625 20 100

7 5 49 343 2401 35 245

8 6 64 512 4096 48 384

10 7 100 1000 10000 70 700

∑ 37 29 259 2053 17395 194 1502

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Parábola dos Mínimos Quadrados

- donde se obtém o sistema

{a × 7 + b × 37 + c × 259 = 29a × 37 + b × 259 + c × 2053 = 194a × 259 + b × 2053 + c × 17395 = 1502

cuja solução é

a = 0.28869047619

b = 0.890625

c = -0.02306547619

o que permite determinar a parábola,

que se aproxima dos pontos,

y = 0.28869047619 + 0.890625 x - 0.02306547619 x2

Capítulo 3. Métodos Numéricos Iterativos Computação Científica

Algoritmo (equações normais)

Algoritmo (equações normais)

{ Objetivo: Construção das equações normais para dados discretos }

{ Parâmetros de entrada: (xi, yi) i = 1,...,m; fk, k = 1, ..., n }

para i de 1 até (n+1) fazer

para j de i até (n+1) fazer

aij 0

para k de 1 até m fazer

aij aij + fi-1(xk) fj-1(xk)

fim_para

aji aij

fim_para

bi 0

para k de 1 até m fazer

bi bi + yk fi-1(xk)

fim_para

fim_para

Capítulo 3. Métodos Numéricos Iterativos Computação Científica