55
ISCTE/FCUL - Mestrado Matem´ atica Financeira Aula 1 03 de Janeiro de 2009 Ano lectivo: 2008/2009 Diana Aldea Mendes Departamento de M´ etodos Quantitativos, IBS - ISCTE Business School Gab. 207 AA, [email protected], http://iscte.pt/˜deam

Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

ISCTE/FCUL - Mestrado Matematica Financeira

Aula 1

03 de Janeiro de 2009 Ano lectivo: 2008/2009

Diana Aldea Mendes

Departamento de Metodos Quantitativos, IBS - ISCTE Business School

Gab. 207 AA, [email protected], http://iscte.pt/˜deam

Page 2: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Programa

1. Introducao e conceitos basicos de optimizacao sem restricoes

2. Metodos numericos de optimizacao de funcoes de uma variavel

(a) Interpolacao polinomial

(b) Algoritmos de Newton, secante, biseccao e de Brent

3. Metodos numericos de optimizacao de funcoes de varias variaveis

(a) Metodos iterativos directos e indirectos de 1a e 2a ordem

Page 3: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

(b) Metodo de Newton e quase-Newton

(c) Metodo de Powell

(d) Metodo do gradiente conjugado

(e) Metodo dos mınimos quadrados

4. Introducao a Optimizacao Global

(a) Arrefecimento simulado (Simulating Annealing)

(b) Algoritmos Geneticos

5. Matlab

Page 4: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Referencias

[1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999)

[2] Dennis, J. and Schnabel, R., Numerical methods for unconstrained optimiza-

tion and nonlinear equations, SIAM (1996)

[3] Mathews, J. H. and Fink, K. D. (1999): Numerical Methods using Matlab,

Prentice-Hall., Inc.

[4] Neumaier, A. (2001): Introduction to Numerical Analysis, Cambridge Uni-

versity Press.

Page 5: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

[5] Paolo Brandimarte, (2001): Numerical Methods in Finance: A MATLAB-

Based Introduction, Wiley-Interscience.

[6] Lemos, C. e Pina, H. (2006), Metodos Numericos: complementos e guia

pratico, IST Press.

Avaliacao: Os conceitos e algoritmos apresentados sao ilustrados com proble-

mas que sao formulados e resolvidos usando o programa MATLAB. A avaliacao

assenta na resolucao de uma lista de problemas.

Page 6: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

- http://www.math.ubc.ca/˜loew/m604/mfiles.htm

- http://www.compmacro.com/makoto/200409econ552/

- http://cm.bell-labs.com/netlib/opt/

- http://tomlab.biz/

- http://www.rpi.edu/˜bennek/class/compopt/

- http://www.ee.technion.ac.il/courses/046197/

Page 7: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Introducao

• Optimizacao nao-linear (numerica): metodos que permitem resolver prob-

lemas cientıficos usando o computador.

• Solucoes analıticas: existem so para um pequeno subconjunto das equacoes

existentes

— Problemas faceis: polinomios ate grau 4, funcoes em que a variavel indepen-

dente aprece apenas num termo

— Problemas complicados: TODOS os outros

Page 8: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

• Tres passos:

— expressar matematicamente o problema cientıfico

— escolher metodos numericos que permitam obter, de forma robusta, efi-

ciente e precissa, uma solucao aproximada do problema

— implementacao do algoritmo no computador e estudo do erro de aprox-

imacao

• Acumulacao de Erros

— erros inerentes (modelo matematico nao traduz exactamente a reali-

dadae)

Page 9: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

— erros do metodo (uso de formulas que dao valores aproximados: Taylor)

— erros computacionais (erro de arredondamento)

- Seja x o valor aproximado do valor exacto x. O erro de x em relacao a xdefine-se por ex = x− x.

|ex| = |x− x| representa o erro absoluto de x e se x 6= 0, entao

|δx| =¯x− x

x

¯e o erro relativo de x. Ao produto 100 |δx|, expresso em percentagem, chama-sepercentagem de erro.

- Um problema diz-se bem condicionado se pequenos erros nos dados produzempequenos erros nos resultados. Caso contrario o problema e mal condicionado.

Page 10: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Optimizacao numerica univariada

• Objectivo: Encontrar um zero (raız) de uma funcao real de uma variavel

real, isto e, um numero x∗ tal que f (x∗) = 0.

• Este problema surge em diferentes contextos, como por exemplo

— solucoes de equacoes de tipo: p (x) = q (x)

— extremos interiores de funcoes de classe C1

— pontos singulares

— valores proprios

Page 11: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

— problemas com condicoes de fronteira (equacoes diferenciais, equacoes

as derivadas parciais e equacoes integrais)

Definicao 1: Um ponto x∗ ∈ D ⊂ R diz-se minimizante local de f : D → R(funcao objectivo) se existe ε > 0 tal que f (x∗) ≤ f (x) , ∀x ∈ Nε (x∗) ∩D.

Definicao 2: Um ponto x∗ ∈ D ⊂ R diz-se minimizante global de f : D → Rse f (x∗) ≤ f (x) , ∀x ∈ D.

Observacao 1:

maxx∈D

f (x) = −µminx∈D

(−f (x))¶

Page 12: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Observacao 2: (a). Todas as tecnicas numericas usuais para resolver problemas

de optimizacao sao metodos iterativos e geralmente determinam um extremo

local. Para obter um extremo global e necessario aplicar algum tipo de iteracao

externa.

(b). Nao existe nenhum criterio para decidir se uma solucao local e global ou

nao.

(c). Se f e convexa, entao qualquer minimizante local de f e um minimizante

global de f .

(d). Se a funcao objectivo f e regular e o conjunto D e compacto, entao a

existencia de um minimizante global e garantida pelo Teorema de Weierstrass.

Page 13: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

(e). Muitas vezes a expressao (e regularidade) de f nao e conhecida e o teorema

anterior nao se aplica.

(f). Combinacao de varios algoritmos numericos

Page 14: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Exemplo 1

Determine uma solucao da seguinte equacao nao-linear cosx = x

- Ponto inicial: x0 = 0 → x1 = cosx0 = 1 → x2 = cosx1 = 0.5403 →....x20 = 0.738→ x21 = 0.739→ x22 = 0.739→ x23 = 0.739 (convergencia)

Portanto, x ' 0.739 e a solucao aproximada da equacao nao-linear.

- Matlab:

>> fzero(’cosy’,0)

>> ans =0.7391

Page 15: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3cos(x)=x

Page 16: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Exemplo 2

Determine uma solucao da seguinte equacao nao-linear x2 = x

- Se escolhemos o ponto inicial x0 = 1 entao → x = 1.Se x0 6= 1→ x→ 0 ou

x→∞.

- Temos entao que x = 0 e uma solucao estavel e x = 1 e uma solucao instavel

Page 17: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-1

-0.5

0

0.5

1

1.5

2x2=x

Page 18: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Exemplo 3 Computacao numerica dos zeros (raızes) de um polinomio (ill-conditioned

problem): p(x) = x5 − 10x4 + 40x3 − 80x2 + 80x− 32 = (x− 2)5

- polinomio em Matlab: (comando roots - determina os zeros dos polinomios)

>> p=[1 -10 40 -80 80 -32]; >> x=roots(p)

x = 2.0020 + 0.0015i, 2.0020 - 0.0015i, 1.9992 + 0.0024i, 1.9992 - 0.0024i,

1.9975

- O algoritmo utilizado pelo comando roots envolve a computacao dos valores

proprios da matriz associada ao polinomio.

Page 19: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

• Outro comando Matlab melhor ( fzero)

>> rt = fzero(’(x-2)ˆ5’,1.5)

>> rt=2.0000

x = fzero(fun,x0) tenta encontrar um zero da funcao fun proximo de x0.

- O algoritmo do m-file fzero (T.Dekker) utiliza uma combinacao entre os

metodos de biseccao, secante e interpolacao quadratica inversa

- Limitacoes do fzero: quando a funcaom objectivo e tangente (mas nao cruza)

ao eixo dos xx, o algoritmo pode nao encontrar o mınimo.

Page 20: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

• Outro comando Matlab ainda melhor (fminbnd):

>> x = fminbnd(fun,x1,x2) - encontra o minimo de uma funcao dentro de um

intervalo fixado (x1,x2)

- O algoritmo esta baseado no metodo da seccao de ouro e na interpolacao

parabolica.

- Limitacoes do fminbnd: a funcao objectivo precissa ser contınua e real, o

algoritmo so encontra solucoes locais e a convergencia e lenta quando a solucao

e na fronteira

Page 21: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Metodos directos de optimizacao univariada

• So requerem a evaluacao da funcao objectivo f (nao sao necessarias as

derivadas de f)

• Nao precisam hipoteses de regularidade

• Faceis de implementar - metodos iterativos xn+1 = f (xn)

• Levam mais tempo para correr que os metodos que requerem as derivadas

Page 22: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Alguns metodos directos

• Interpolacao polinomial

• Metodo da secante

• Metodo da biseccao

• Metodo de Brent (seccao de ouro)

Page 23: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Interpolacao polinomial (Vandermonde, Lagrange, Newton, mınimosquadrados)

A interpolacao consiste em determinar uma funcao que assume valores conheci-

dos em certos ponto discretos de tipo (xi, fi) . A classe de funcoes escolhida e a

priori arbitraria, mas deve ser adequada as caracterısticas que pretendemos que

a funcao possua. Em geral os polinomios sao a escolha mais frequente, pois sao

faceis de avaliar, diferenciar e integrar (ao contrario das series trigonometricas

ou exponenciais).

Dados: f (x0) = f0, f (x1) = f1, ... f (xn) = fn

Encontra : f (x) para x ∈ [x0, xn].

Utiliza-se para: calcular valores intermediarios de funcoes, derivacao numerica e

integracao numerica, optimizacao

Page 24: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Metodo directo de interpolacao (Vandermonde)

Seja um conjunto finito de pontos distintos x0, ..., xn (nos de interpolacao) e os

valores associados de uma funcao f0, ..., fn. Queremos encontrar um polinomio

p (x) tal que

p (xi) = fi, i = 0, ..., n,

ou seja, sendo o polinomio p (x) definido por

p (x) = a0 + a1x+ a2x2 + ...+ amx

m, a0, ..., am ∈ R

o nosso objectivo e determinar os coeficientes a0, ..., am ∈ R a partir dos pontosdados (xi, fi) , i = 1, ..., n.

Page 25: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Substituındo os nos (xi, fi) , i = 1, ..., n em p (x) obtemos o seguinte sistemalinear com n equacoes e m incognitas:⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

a0 + a1x0 + a2x20 + ...+ amxm0 = f0

a0 + a1x1 + a2x21 + ...+ amxm1 = f1...

a0 + a1xn + a2x2n + ...+ amxmn = fn

. (1)

O sistema e possıvel e determinado se m = n (caso que vamos considerar).Escrevemos o sistema em forma matricial, isto e,

AX = B ⇔

⎡⎢⎢⎢⎣1 x0 . . . xn01 x1 . . . xn1... ... . . . ...1 xn . . . xnn

⎤⎥⎥⎥⎦⎡⎢⎢⎢⎣a0a1...an

⎤⎥⎥⎥⎦ =⎡⎢⎢⎢⎣f0f1...fn

⎤⎥⎥⎥⎦onde a matriz A(n×n) designa-se por matriz de Vandermonde. A existencia eunicidade do polinomio interpolador e equivalente com o facto de o sistema ser

Page 26: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

possıvel e determinado para qualquer x0, ..., xn distintos (isto e, se m = n = r,

sendo r a caracterıstica da matriz A).

Teorema 1: Dados (n+ 1) nos, x0, ..., xn e os respectivos valores f0, ..., fn,

existe um e um so polinomio interpolador de grau menor ou igual que n, para

esses valores.

Com outras palavras, se temos so um ponto (x0, y0) entao o unico polinomio

de grau zero que interpola o ponto e a recta horinzontal p (x) = y0. Se temos

dois pontos (nos), entao o unico polinomio de grau (no maximo) 1 e a recta

que une os dois nos. Analogamente, so podemos construir uma unica parabola

entre tres pontos distintos.

- Interpolacao linear p (x) = a0 + a1x = f0 + (f1 − f0)x−x0x1−x0

Page 27: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

- Interpolacao quadratica p (x) = a0 + a1x+ a2x2

- Interpolacao cubica p (x) = a0 + a1x+ a2x2 + a3x

3

Exemplo de interpolacao (4 pontos e um polinomio de grau3)

Page 28: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

- Facil de implementar, nao e precisso requerer a regulariadade de f

- A resolucao do sistema (1) pode ser demorada e usa muitos flops em termos

computacionais.

- As matrizes de tipo Vandermonde geram solucoes bastante imprecisas.

- Para evitar estes factos consideram-se polinomios com propriedades especiais

que permitem interpolar de forma mais eficiente.

Page 29: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Formula de Lagrange

• Muito mais economico em termos computacionais (menos flops que o metodode Vandermonde)

• A obtencao de p (x) nao e muito eficiente

• Muito difıcil na estimacao dos erros

Polinomio de Lagrange: Dados (n+ 1) nos, x0, ..., xn e os respectivos valores

f0, ..., fn definimos para cada i = 0, ..., n o polinomio de Lagrange, li (x) , de

Page 30: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

grau n como sendo

li (x) =

(1 se i = j0 se i 6= j

.

Fixando i e variando j = 0, ..., n obtemos uma expressao explicita dos polinomios

de Lagrange

xj e raız de li se i 6= j ⇒ li (x) = ci

nYj=0,j 6=i

³x− xj

´,

onde a constante ci pode determinar-se, pois li (xi) = 1, o que implica

ci =1

nYj=0,j 6=i

³xi − xj

´.

Page 31: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Obtem-se entao que

li (x) =nY

j=0,j 6=i

Ãx− xj

xi − xj

!=

=(x− x0) (x− x1) ... (x− xi−1) (x− xi+1) ... (x− xn)

(xi − x0) (xi − x1) ... (xi − xi−1) (xi − xi+1) ... (xi − xn),

i = 0, ..., n.

Considerando agora a formula interpoladora de Lagrange, isto e,

pn (x) = f0l0 (x) + f1l1 (x) + ...+ fnln (x) ,

obtem-se que pn (xi) = fi.

Para n = 1 e 2 obtem-se interpolacao linear pn (x) = f0l0 (x) + f1l1 (x) e

quadratica pn (x) = f0l0 (x) + f1l1 (x) + f2l2 (x).

Page 32: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

• Exemplo: Dados os pontos −→x = (x0, x1, x2) = (2, 6, 7) e as suas imagens

f = (f0, f1, f2) = (−1, 8,−3), determine um polinomio interpolador de

grau dois que passe por estes pontos

x f2 −16 87 −3

p2 (x) = f0l0 (x) + f1l1 (x) + f2l2 (x)

Page 33: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

l0 (x) =(x− x1) (x− x2)

(x0 − x1) (x0 − x2)=(x− 6) (x− 7)(2− 6) (2− 7)

=(x− 6) (x− 7)

20

l1 (x) =(x− x0) (x− x2)

(x1 − x0) (x1 − x2)=(x− 2) (x− 7)(6− 2) (6− 7)

=(x− 2) (x− 7)

−4

l2 (x) =(x− x0) (x− x1)

(x2 − x0) (x2 − x1)=(x− 2) (x− 6)(7− 2) (7− 6)

=(x− 2) (x− 6)

5

p2 (x) = −1(x− 6) (x− 7)20

+ 8(x− 2) (x− 7)

−4− 3(x− 2) (x− 6)

5

= −5320x2 +

469

20x− 373

10

Page 34: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

1 2 3 4 5 6 7 8-4

-2

0

2

4

6

8

10

12

14

Interpolação quadrática Lagrange

Page 35: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

• Erro de interpolacao, num certo ponto x: en (x) = f (x)− pn (x)

• Teorema : Seja f uma funcao real de variavel real de classe Cn+1 no

intervalo Ix = [x, x0, x1, ..., xn], (Ix designa o menor intervalo fechado que

contem os pontos x, x0, x1, ..., xn). Entao existe um ξ ∈ Ix tal que

en (x) = f (x)− pn (x) =ψ (x)

(n+ 1)!fn+1 (ξ)

ψ (x) = (x− x0) (x− x1) ... (x− xn)

Page 36: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Formula de Newton

• Muito eficiente quando os polinomios sao de grau baixo

• Estimacao rigorosa do erro

• Formula interpoladora de Newton com diferencas divididas (razoes incre-mentais que constituem aproximacoes discretas de derivadas)

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

onde

f [xi, xj] =

³fi − fj

´³xi − xj

´

Page 37: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

e a diferenca dividida de 1a ordem e

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

xi+k − xi¢

e uma diferenca dividida de ordem k.

Para n = 1 obtem-se interpolacao linear

p1 (x) = f (x0) + f [x0, x1] (x− x0) ; f [x0, x1] =f (x1)− f (x0)

x1 − x0

Page 38: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Interpolacao linear

Page 39: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Para n = 2 obtem-se interpolacao quadratica

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

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

x2 − x0

Page 40: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Interpolacao quadratica

Page 41: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Erro de interpolacao

O erro de interpolacao, num certo ponto x e εn (x) = f (x) − pn (x) . Se con-

sideremos x como um novo no de interpolacao obtem-se

εn (x) = f [x0, ..., xn, x] (x− x0) ... (x− xn) .

Seja V um intervalo que contenha os nos x0, ..., xn, x. Se a funcao f for de

classe Cn+1 (V ) entao temos a seguinte formula para o erro de interpolacao:

∃η ∈ V : εn (x) =f (n+1) (η)

(n+ 1)!

nYk=0

(x− xk) .

Page 42: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Exemplos

Uma barra de ferro e arrefecida desde 80 ate -340o F. A tabela abaixo representaa temperatura vs. o coeficiente de expansao termal em varios momentos doprocesso de arrefecimento. Determine o coeficiente de expansao termal para atemperatura de -17o C, utilizando algum metodo de interpolacao:

2.45 x 10-6-340

3.58 x 10-6-260

4.72 x 10-6-160

5.58 x 10-6-60

6.00 x 10-60

6.47 x 10-680

Coeficiente de Expansão

Termal(cm/oF)

Temperatura(oF)

2.45 x 10-6-340

3.58 x 10-6-260

4.72 x 10-6-160

5.58 x 10-6-60

6.00 x 10-60

6.47 x 10-680

Coeficiente de Expansão

Termal(cm/oF)

Temperatura(oF)

Coefficient of Thermal Expansion vs Temeparture

0

1

2

3

4

5

6

7

-400 -300 -200 -100 0 100 200

Tempearture (F)

Coe

ffic

ient

of T

herm

al

Expa

nsio

n 10

^-6

(in/in

/F)

Page 43: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

• Metodo Directo: Interpolacao linear

α (t) = a0 + a1T(α (0) = a0 + a1 (0) = 6.00 · 10−6

α (−60) = a0 + a1 (−60) = 5.58 · 10−6

→(

a0 = 6.00 · 10−6a1 = 0.007 · 10−6

→(

α (T ) = 6.00 · 10−6 + 0.007 · 10−6T, −60 ≤ T ≤ 0α (−14) = 6.00 · 10−6 + 0.007 · 10−6 (−14) = 5.902 · 10−6

Page 44: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

5045403530252015105.5

5.6

5.7

5.8

5.9

6

5.58

y s

f range( )

f x desired( )

x s110+x s0

10− x s range, x desired,

Page 45: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Interpolacao quadratica

α (t) = a0 + a1T + a2T2⎧⎪⎪⎨⎪⎪⎩

α (80) = a0 + a1 (80) + a2 (80)2 = 6.47 · 10−6

α (0) = a0 + a1 (0) + a2 (0)2 = 6.00 · 10−6

α (−60) = a0 + a1 (−60) + a2 (−60)2 = 5.58 · 10−6

⎧⎪⎨⎪⎩a0 = 6.00 · 10−6a1 = 6.517 · 10−9

a2 = −8.035 · 10−12

⎧⎪⎨⎪⎩α (T ) = 6.00 · 10−6 + 6.517 · 10−9T − 8.035 · 10−12T 2, −60 ≤ T ≤α (−14) = 6.00 · 10−6 + 6.517 · 10−9 (−14)− 8.035 · 10−12 (−14)

= 5.9072 · 10−6

|εa| =

¯¯5.9072 · 10−6 − 5.902 · 10−65.9072 · 10−6

¯¯ · 100 = 0.08761%, Erro relativo absoluto

Page 46: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

60 40 20 0 20 40 60 805.4

5.6

5.8

6

6.2

6.4

6.66.47

5.58

y s

f range( )

f x desired( )

8060− x s range, x desired,

Page 47: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Tabela de comparacao

Ordem do polinomio 1 2 3

Coeficient de Exp. Termal 5.902 · 10−6 5.9072 · 10−6 5.9077 · 10−6Erro relativo absoluto - 0.08761% 0.00839%

Page 48: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

• Formula de Newton: Interpolacao linear

α (T ) = b0 + b1 (T − T0)

T0 = 0, α (T0) = 6.00 · 10−6, T1 = −60, α (T1) = 5.58 · 10−6

b0 = α (T0) = 6.00 · 10−6, b1 =α (T1)− α (T0)

T1 − T0=

=5.58 · 10−6 − 6.00 · 10−6

−60− 0= 0.007 · 10−6

α (T ) = 6.00 · 10−6 + 0.007 · 10−6 (T − 0) , −60 ≤ T ≤ 0α (−14) = 6.00 · 10−6 + 0.007 · 10−6 (−14− 0) = 5.902 · 10−6 cm/cm/oF

Page 49: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Interpolacao Quadratica

α (T ) = b0 + b1 (T − T0) + b2 (T − T0) (T − T1)

T0 = 80, α (T0) = 6.47 · 10−6, T1 = 0, α (T1) = 6.00 · 10−6T2 = −60, α (T2) = 5.58 · 10−6b0 = α (T0) = 6.47 · 10−6,

b1 =α (T1)− α (T0)

T1 − T0=6.00 · 10−6 − 6.47 · 10−6

0− 80= 5.875 · 10−9

b2 =

α(T2)−α(T1)T2−T1 − α(T1)−α(T0)

T1−T0T2 − T0

=0.007 · 10−6 − 0.005875 · 10−6

−140= −8.0357 · 10−12

α (T ) = 6.47 · 10−6 + 5.587 · 10−9 (T − 80)− 8.0357 · 10−12 (T − 80) (T − 0−60 ≤ T ≤ 80

α (−14) = 6.47 · 10−6 + 5.587 · 10−9 (−14− 80)− 8.0357 · 10−12 (−14− 80) (= 5.9072 · 10−6 cm/cm/oF

Page 50: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

|εa| =¯¯5.9072 · 10−6 − 5.902 · 10−65.9072 · 10−6

¯¯ · 100 = 0.08761%,

Erro relativo absoluto

Tabela de comparacao

Ordem do polinomio 1 2 3

Coeficient de Exp. Termal 5.902 · 10−6 5.9072 · 10−6 5.9077 · 10−6Erro relativo absoluto - 0.08761% 0.00839%

Page 51: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Aproximacao dos mınimos quadrados: Caso dos dados discretos

Seja {(x1, y1) , ..., (xm, ym)} um conjunto de pares de numeros reais, onde cada

yi, i = 1, ...,m foi obtido de forma experimental e aproxima o valor de uma

funcao f no no xi, i = 1, ...,m, isto e yi ≈ f (xi) , i = 1, ...,m.

O objectivo e construir uma aproximacao para f usando como dados os pares

de valores dados (xi, yi) , i = 1, ...,m.

Uma vez que os valores sao obtidos experimentalmente, o seu erro e descon-

hecido. O uso de interpolacao de Lagrange nao e aconselhada nesta situacao

pois, o polinomio interpolador deveria passar pelos pontos (xi, f (xi)) , i =

1, ...,m, que nao sao conhecidos exactamente.

Page 52: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Sendo conhecidos os pontos (xi, yi) , i = 1, ...,m, onde yi aproxima f (xi), tem

mais sentido fazer passar a funcao aproximadamente “perto” dos pontos (xi, yi).

O que esta em causa e encontrar a recta de regressao p1 (x) = ax + b (para

simplicidadde, ou outra curva), dependente dos parametros a e b, que melhor se

ajusta (nalgum sentido) aos dados.

Por exemplo:

(i) Problema minimax: a e b sao determinados por forma a minimizar

maxi=1,...,m

{|yi − (axi + b)|}

Page 53: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

(ii) Problema do desvio absoluto: a e b sao determinados por forma a minimizar

mXi=1

|yi − (axi + b)|

(iii) Problema do erro quadratico total (metodo dos mınimos quadrados): a e

b sao determinados por forma a minimizar

mXi=1

[yi − (axi + b)]2

Portanto tem-se

mina,b

⎛⎝E (a, b) = mXi=1

[yi − (axi + b)]2

⎞⎠

Page 54: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Para que ocorra o mınimo e necessario resolver as condicoes de primeira ordem,

ou seja, que a e b verifiquem o seguinte sistema linear (de equacoes normais):⎧⎪⎨⎪⎩aPmi=1 (xi)

2 + bPmi=1 (xi) =

Pmi=1 (xiyi)

aPmi=1 (xi) + bm =

Pmi=1 (yi)

O problema mais geral de aproximar um conjunto de pontos por um polinomio

algebrico, pn (x) =Pnk=0 akx

k, de grau n ≤ m − 1, usando a aproximacaodos mınimos quadrados e concretizada usando um raciocınio identico ao atras

descrito para o caso linear e requer a determinacao dos parametros a0, a1, ..., anque minimizam o erro quadratico total

E (a0, a1, ..., an) =mXi=1

[yi − pn (xi)]2

Page 55: Diana Aldea Mendes - ISCTEhome.iscte-iul.pt/~deam/html/slidesa1.pdfMatlab Referˆencias [1] Nocedal, J. and Wright, St, Numerical optimization, Springer Verlag (1999) [2] Dennis, J

Na pratica uma grande parte dos problemas envolvem polinomios de baixo grau.

Nas situacoes onde sao necessarios polinomios de grau mais elevado existem

tecnicas alternativas envolvendo a reformulacao do polinomio em termos de

polinomios ortogonais, ou a utilizacao de outras funcoes aproximantes (expo-

nenciais, logaritmicas, etc).