Métodos Numéricos A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Mestrado Integrado em Engenharia Mecânica Ano lectivo 2007/2008 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 1 / 203
Conteúdo 1 Introdução 2 Erros 3 Zeros de funções 4 Resolução de sistemas lineares 5 Resolução de sistemas não lineares 6 Interpolação polinomial 7 Interpolação segmentada - Splines 8 Mínimos quadrados lineares 9 Equações diferenciais - Condições iniciais 10 Equações diferenciais - Condições Fronteira 11 Integração numérica A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 2 / 203
Introdução Conteúdo 1 Introdução 2 Erros 3 Zeros de funções 4 Resolução de sistemas lineares 5 Resolução de sistemas não lineares 6 Interpolação polinomial 7 Interpolação segmentada - Splines 8 Mínimos quadrados lineares 9 Equações diferenciais - Condições iniciais 10 Equações diferenciais - Condições Fronteira 11 Integração numérica A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 3 / 203
Introdução Apresentação - Docente Aulas teóricas A. Ismael F. Vaz - aivaz@dps.uminho.pt www.norg.uminho.pt/aivaz Aula teórico-prática e práticas Senhorinha Teixeira st@dps.uminho.pt Ana Maria Rocha arocha@dps.uminho.pt Horário de atendimento Quintas das 14h00 às 15h00. Marcação por email. As docentes das TPs e Ps terão o seu horário de atendimento. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 4 / 203
Introdução Apresentação - Disciplina Página da disciplina; www.norg.uminho.pt/aivaz 6 fichas TPs a realizar ao longo do semestre (17 valores nas aulas Ts) e 6 fichas Ps a realizar ao longo do semestre (3 valores - 0.5 cada - nas aulas Ps). A classificação final é: Fichas TPs + Fichas Ps. Não é obrigatória a presença nas aulas Ts, TPs ou Ps. Mas atenção aos momentos de avaliação. A avaliação feitas nas aulas Ps é considerada avaliação laboratorial, pelo que é exigido o valor mínimo de 50% para ter frequência (poder ir a exame). A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 5 / 203
Introdução Material necessário e de apoio Calculadora científica; Folhas das fichas TPs; Papel e caneta; Livro de Computação Numérica; www.norg.uminho.pt/emgpf Software CoNum; www.norg.uminho.pt/emgpf Formulário e acetatos disponíveis na página; www.norg.uminho.pt/aivaz A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 6 / 203
Introdução Programa detalhado Dia 28-Fev 06-Mar 13-Mar 27-Mar 03-Abr Matéria Apresentação da disciplina. Erros. Algarismos significativos. Fórmula fundamental dos erros. Erros de truncatura. Solução de equações não lineares. Método dos gráficos. Método da secante e sua convergência. Método de Newton e sua convergência. Critérios de paragem. Sistemas de equações lineares. Eliminação de Gauss com pivotagem parcial. Avaliação sobre zeros de funções (2.5 valores). Métodos iterativos de Gauss-Seidel e Jacobi. Sistemas de equações não lineares. Método de Newton. Interpolação polinomial. Diferenças divididas. Fórmula interpoladora de Newton. Erro da fórmula interpoladora de Newton. Avaliação sobre sistemas lineares e não lineares (2.5 valores). A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 7 / 203
Introdução Programa detalhado Dia 10-Abr 17-Abr 24-Abr 08-Mai 30-Mai 05-Jun 12-Jun 19-Jun 26-Jun 03-Jul Matéria Splines lineares e cúbicas. Splines cúbicas. Revisões Revisões. Avaliação sobre interpolação (3 valores). Mínimos quadrados polinomiais e modelos lineares. Equações diferenciais com condições iniciais de 1 a. Sistemas de equações diferenciais de 1 a ordem. Equações diferenciais de ordem superior. Avaliação sobre mínimos quadrados (3 valores). Equações diferencias com condições fronteira. Integração numérica. Fórmulas simples e compostas do Trapézio, Simpson e 3/8. Revisões. Avaliação sobre equações diferenciais (3 valores). Revisões. Avaliação sobre integração (3 valores). Revisões. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 8 / 203
Introdução Motivação da disciplina Presente em todos os cursos de engenharia (aplicações em todas as áreas da engenharia); A disciplina de métodos numéricos dedica-se à resolução numérica de problemas matemáticos. Com o desenvolvimento dos computadores encontra-se direccionada para a implementação de algoritmos estáveis. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 9 / 203
Introdução Controlo óptimo - Um exemplo Problema de optimização do processo semi-contínuo de produção de Etanol. O problema de optimização é: (t 0 = 0 e t f = 61.2 dias) max u(t) s.t. J(t f ) x 3 (t f )x 4 (t f ) dx 1 = g 1 x 1 u x 1 dt x 4 dx 2 = 10g 1 x 1 + u 150 x 2 dt x 4 dx 3 = g 2 x 1 u x 3 dt x 4 dx 4 = u dt 0 x 4 (t f ) 200 0 u(t) 12 t [t 0, t f ] com ( ) ( ) 0.408 x 2 g 1 = 1 + x 3 /16 0.22 + x 2 ( ) ( ) 1 x 2 g 2 = 1 + x 3 /71.5 0.44 + x 2 onde x 1, x 2 e x 3 são as concentrações da massa celular, substrato e produto (g/l), e x 4 é o volume (L). As condições iniciais são: x(t 0 ) = (1, 150, 0, 10) T. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 10 / 203
Introdução Abordagem para a resolução Grande exigência em termos numéricos; Grande exigência em termos de programação; Solução da equação diferencial com o CVODE (software em C); Problemas codificados em AMPL (linguagem de modelação); Algoritmo para optimização sem derivadas; A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 11 / 203
Erros Conteúdo 1 Introdução 2 Erros 3 Zeros de funções 4 Resolução de sistemas lineares 5 Resolução de sistemas não lineares 6 Interpolação polinomial 7 Interpolação segmentada - Splines 8 Mínimos quadrados lineares 9 Equações diferenciais - Condições iniciais 10 Equações diferenciais - Condições Fronteira 11 Integração numérica A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 12 / 203
Erros Formato de vírgula flutuante normalizado fl(x) = ±0.d 1 d 2...d k 10 e onde, 0.d 1 d 2... d k corresponde à mantissa, e e é o expoente. fl t (x) representa o valor de x em vírgula flutuante truncado e fl a (x) representa o valor de x em vírgula flutuante arredondado. Exemplo x = 2 3 fl t (x) = 0.66666 10 0 fl a (x) = 0.66667 10 0 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 13 / 203
Erros Formato de vírgula flutuante (norma IEEE-754, 32 bits) σ e + 64 d 1 d 2 d 3 d 4 d 5 d 6 1 bit 7 bits 4 bits 4 bits 4 bits 4 bits 4 bits 4 bits Exemplo x = 2490.125 = 9 16 2 + 11 16 1 + 10 16 0 + 2 16 1 = ( 9 16 1 + 11 16 2 + 10 16 3 + 2 16 4) 16 3 0 1000011 1001 1011 1010 0010 0000 0000 σ e + 64 d 1 d 2 d 3 d 4 d 5 d 6 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 14 / 203
Erros Exemplo de programação A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 15 / 203
Erros Exemplo de programação A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 16 / 203
Erros Erros Seja x o valor exacto e x o seu valor aproximado, que será usado nos cálculos x x é o erro absoluto (normalmente não se pode calcular, porque x é desconhecido); x x δ x é o limite superior do erro absoluto; r x = x x x = δx x δx x é o erro relativo. Exemplo Pediu-se a duas pessoas para contarem laranjas de dois cestos. A primeira contou 980 laranjas num cesto de 1000 e a segunda contou 480 num cesto de 500. Apesar de cometerem o mesmo erro absoluto (δ 1 = 20 laranjas e δ 2 = 20 laranjas) a segunda cometeu um erro maior, visto que r 1 = 20 1000 = 0.02 e r 2 = 20 500 = 0.04. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 17 / 203
Erros Fórmula fundamental dos erros Dados n valores aproximados, x 1,..., x n, e os seus respectivos erros absolutos é possível calcular um majorante para o erro absoluto cometido quando se aplica uma função f, através da fórmula fundamental dos erros. δ f M x1 δ x1 + M x2 δ x2 +... + M xn δ xn f onde max x I xi Mxi, com I = I x1 I xn I xi = [x i δ xi, x i + δ xi ] r f δ f f(x 1,..., x n ) e A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 18 / 203
Erros Exemplo Cálculo dos limites do erro absoluto e relativo do cálculo da função f(x) = x 1 x 2. Temos que f x 1 Mx1 = 1 e f x 2 Mx2 = 1, logo e δ f = δ x1 + δ x2 r f δ x 1 + δ x2 x 1 x 2 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 19 / 203
Erros Algarismos Significativos Casa decimais são as casas (algarismos) à direita da vírgula. Os algarismos significativos são aqueles em que temos confiança do seu valor. Exemplos: 0.1234567 tem 1 algarismo significativo se δ = 0.05, 2 se δ = 0.005 e 7 se δ = 0.00000005. 0.0000020 tem 7 casas decimais e 2 algarismos significativos (δ = 0.00000005). Quando todas as casas decimais são significativas 0.2 é diferente de 0.20. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 20 / 203
Zeros de funções Conteúdo 1 Introdução 2 Erros 3 Zeros de funções 4 Resolução de sistemas lineares 5 Resolução de sistemas não lineares 6 Interpolação polinomial 7 Interpolação segmentada - Splines 8 Mínimos quadrados lineares 9 Equações diferenciais - Condições iniciais 10 Equações diferenciais - Condições Fronteira 11 Integração numérica A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 21 / 203
Zeros de funções Forma geral do problema Pretende-se determinar x tal que f(x) = 0 Exemplo Temos x = 0.567143290409784 como solução para e x + x = 0 Nota: uma equação não linear pode não ter solução, ou ter mais do que uma. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 22 / 203
Zeros de funções Métodos iterativos Uma sequência diz-se iterativa se é definida por uma função F independente de k e dependente de um ou vários elementos anteriores a ele, x k = F (x k 1, x k 2,... ) Aproximações iniciais Um método que se baseie numa sequência iterativa com k 1 elementos anteriores necessita também de k 1 valores iniciais. Exemplo x k = x k 1 + x k 2 Partindo de x 0 = 1 e x 1 = 1 temos x 2 = x 1 + x 0 = 2, x 3 = x 2 + x 1 = 2 + 1 = 3, x 4 = x 3 + x 2 = 3 + 2 = 5 gera uma sequência com os números de Fibonacci. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 23 / 203
Zeros de funções Convergência Uma sequência iterativa diz-se convergente quando Convergência superlinear lim x k = x k lim k + x x k+1 x 1.618 = L ou lim x k k + x x k+1 x x k = 0 Convergência quadrática x x k+1 lim k + x x k 2 = L A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 24 / 203
Zeros de funções Critério de Paragem A sequência de aproximações pode ser infinita. Como se pretende obter uma aproximação à solução implementa-se um critério de paragem. Estimativa do erro relativo d k = x k+1 x k x k+1 ɛ 1 Valor da função f(x k+1 ) ɛ 2 Número máximo de iterações k n max A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 25 / 203
Zeros de funções Método dos gráficos Uma aproximação ao zero da função f(x) pode obter-se pela intersecção do gráfico de f(x) com o eixo dos xx; se f(x) = g(x) h(x) os zeros de f(x) são os pontos de intersecção de g(x) com h(x). O método dos gráficos é frequentemente usado para obtermos uma aproximação inicial para outros métodos mais precisos. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 26 / 203
Zeros de funções Exemplo f(x) = e x + x g(x) = e x h(x) = x 1 0.8 0.6 0.4 g(x) 0.2 h(x) y 0 0.2 0.4 f(x) 0.6 0.8 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 x A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 27 / 203
Zeros de funções Método da bissecção Se f(x i )f(x s ) < 0 então existe um número ímpar de raízes de f(x) no intervalo [x i, x s ]. Aproxima-se da raiz calculando x k = x i+x s 2, k = 1, 2,... Considera-se o intervalo [x i, x k ] se f(x i )f(x k ) < 0 e faz-se x s x k ou [x k, x s ] se f(x k )f(x s ) < 0 e faz-se x i x k A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 28 / 203
Zeros de funções Interpretação gráfica (Bissecção) f(x) = e x + x 10 8 6 f(x) 4 2 0 xi xk+1 xk xs xs 2 2 1.5 1 0.5 0 0.5 1 1.5 2 x A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 29 / 203
Zeros de funções Método da secante Método iterativo em que se fornece o x 1 e x 2 (a raiz não está necessariamente no intervalo [x 1, x 2 ]). O próximo valor é calculado pela seguinte fórmula (equação iterativa): x k+1 = x k (x k x k 1 )f(x k ), k = 2, 3,... f(x k ) f(x k 1 ) Zeros complexos: O método da secante também calcula zeros complexos, bastando para isso usar aritmética complexa. Convergência: A convergência do método da Secante depende do valor de M 2m ser pequeno. M é o max f (ξ) e m é o min f (η), onde ξ, η I. ɛ k+1 = f (ξ) 2f (η) ɛ k 1ɛ k A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 30 / 203
Zeros de funções Interpretação gráfica (Secante) f(x) = e x + x 10 8 6 f(x) 4 2 0 xk+2 xk+1 xk xk 1 2 2 1.5 1 0.5 0 0.5 1 1.5 2 x A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 31 / 203
Zeros de funções Método de Newton Método iterativo em que se fornece o x 0. O próximo valor é calculado pela seguinte formula (equação iterativa): x k+1 = x k f(x k) f, k = 1, 2,... (x k ) Zeros complexos: O método de Newton também calcula zeros complexos, bastando para isso usar aritmética complexa. Convergência: A convergência do método de Newton depende do valor de M 2m ser pequeno. M é o max f (ξ) e m é o min f (η), onde ξ, η I. ɛ k+1 = f (ξ) 2f (η) ɛ2 k A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 32 / 203
Zeros de funções Interpretação gráfica (Newton) f(x) = e x + x 10 8 6 f(x) 4 2 0 xk+2 xk+1 xk 2 2 1.5 1 0.5 0 0.5 1 1.5 2 x A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 33 / 203
Zeros de funções Principais propriedades Ambos possuem convergência local. Superlinear no caso do método da secante e quadrática no método de newton. O método da secante não usa derivadas. O método da secante e de Newton podem falhar quando o denominador da equação iterativa é próximo de zero, i.e., quando f(x k ) f(x k 1 ) ou f (x k ) 0. O método da secante e de Newton não convergem necessariamente para o zero mais próximo da aproximação inicial. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 34 / 203
Zeros de funções Exemplo e x + x = 0 Método de Newton com x 0 = 0.5, ε 1 = 0.5, ε 2 = 0.1, n max = 2. Temos então que f(x) = e x + x e que f (x) = e x + 1. 1 a iteração x 0 = 0.5 f( 0.5) = e 0.5 0.5 = 0.1065 e f ( 0.5) = 1.6065. x 1 = x 0 f( 0.5) 0.1065 f ( 0.5) = 0.5 1.6065 = 0.5665 CP: f( 0.5665) = 1.0082 10 3 0.1 (Verdadeiro) x 1 x 0 x 1 = 0.56665+0.5 0.5665 = 0.1174 0.5 (Verdadeiro) O processo iterativo pára com x x 1 = 0.5665. E se o ε 1 fosse 0.1? A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 35 / 203
Resolução de sistemas lineares Conteúdo 1 Introdução 2 Erros 3 Zeros de funções 4 Resolução de sistemas lineares 5 Resolução de sistemas não lineares 6 Interpolação polinomial 7 Interpolação segmentada - Splines 8 Mínimos quadrados lineares 9 Equações diferenciais - Condições iniciais 10 Equações diferenciais - Condições Fronteira 11 Integração numérica A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 36 / 203
Resolução de sistemas lineares Forma geral do problema a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2... a n1 x 1 + a n2 x 2 + + a nn x n = b n É um sistema com n equações lineares nas n incógnitas, x 1, x 2,..., x n. O sistema pode ser escrito na forma matricial Ax = b a 11 a 12... a 1n a 21 a 22... a 2n... a n1 a n2... a nn x 1 x 2... x n = b 1 b 2... b n A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 37 / 203
Resolução de sistemas lineares Exemplo 3 2 2 9 7 9 6 8 8 x 1 x 2 x 3 = É um sistema linear de dimensão 3 3. A matriz dos coeficientes 3 2 2 A = 9 7 9 R 3 3 e o vector b = (1, 1, 1) T R 3 é o vector dos 6 8 8 termos independentes. 1 1 1 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 38 / 203
Resolução de sistemas lineares Definições A característica de uma matriz A, c(a), é o número máximo de linhas paralelas, ou colunas, linearmente independentes que existem na matriz. Para que um sistema seja possível e determinado temos de ter c(a) = n. Caso contrário (c(a) < n) o sistema é indeterminado ou impossível. À matrix (A b) que se obtém ampliando A com a coluna do termo independente b chama-se matriz ampliada do sistema. Triangular superior (inferior): É uma matriz em que os elementos abaixo (acima) da diagonal principal são zeros. Tridiagonal: Matriz em que a ij = 0, se i j 2, i, j = 1,..., n. Uma matriz com muitos elementos nulos diz-se esparsa. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 39 / 203
Resolução de sistemas lineares Tipos de métodos Métodos directos e estáveis. Métodos que calculam a solução exacta do sistema ao fim de um número finito de operações elementares, caso não ocorram erros de arredondamento. Matrizes dos coeficientes densas e de pequena dimensão. Métodos iterativos. Métodos que definem uma sequência infinita de operações, determinando uma sequência de aproximações, cujo limite é a solução exacta do sistema. Matrizes dos coeficientes esparsas e de grande dimensão. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 40 / 203
Resolução de sistemas lineares Estabilidade numérica Considere-se o seguinte sistema linear: { 0.0001x1 + x 2 = 1.0001 x 1 + x 2 = 2 cuja solução é x = (1, 1) T. Usando aritmética de três algarismos significativos e considerando o multiplicador igual a 1 0.100 10 3 = 0.100 10 5, surge o sistema condensado { 0.100 10 3 x 1 + x 2 = 0.100 10 1 cuja solução é x = (0, 1) T!!! 0.1 10 5 x 2 = 0.1 10 5 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 41 / 203
Resolução de sistemas lineares Motivação - Continuação Se nas mesmas condições usarmos a pivotagem parcial temos { x 1 + x 2 = 2 0.100 10 3 x 1 + x 2 = 0.100 10 1 m = 0.100 10 3 1 = 0.100 10 3 cuja solução é x = (1, 1) T. { x1 + x 2 = 2 x 2 = 0.100 10 1 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 42 / 203
Resolução de sistemas lineares Eliminação de Gauss com Pivotagem Parcial (EGPP) Corresponde a eliminação de Gauss, mas em que a linha usada na eliminação dos elementos da coluna das linhas seguintes é o maior em módulo. Exemplo: 3 2 2 9 7 9 6 8 8 1 1 1 9 7 9 0 0.333333 1 0 3.333333 2 9 7 9 3 2 2 6 8 8 1 1 1 1 0.666667 0.333333 m 21 = 3 9 m 31 = 6 9 = A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 43 / 203
Resolução de sistemas lineares Eliminação de Gauss com Pivotagem Parcial (EGPP) 9 7 9 0 3.333333 2 0 0.333333 1 1 0.333333 0.666667 9 7 9 0 3.333333 2 0 0 0.8 m 32 = 0.333333 3.333333 = 0.1 = 1 0.333333 0.7 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 44 / 203
Resolução de sistemas lineares Substituição inversa Quando a matriz é triangular superior pode-se determinar a solução directamente, através da substituição inversa. Exemplo vem que 9 7 9 0 3.333333 2 0 0 0.8 1 0.333333 0.7 x 3 = 0.7 0.8 = 0.875, x 0.333333 ( 2) 0.875 2 = = 0.625 3.333333 x 1 = 1 ( 9) 0.875 7 0.625 9 = 0.5 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 45 / 203
Resolução de sistemas lineares Substituição directa Quando a matriz é triangular inferior pode-se determinar a solução directamente, através da substituição directa. Exemplo vem que 1 0 0 2 1 0 3 2 1 2 3 4 x 1 = 2 1 = 2, x 2 = 3 2 2 1 = 1 x 3 = 4 3 2 2 ( 1) 1 = 0 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 46 / 203
Resolução de sistemas lineares Decomposição LU Da eliminação de Gauss com Pivotagem Parcial resulta Exemplo ( 1 2 1 0 2 1 0 1 ) (A I ) (U J ) ( 2 1 0 1 1 2 1 0 ) ( 2 1 0 1 0 1.5 1 0.5 ) A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 47 / 203
Resolução de sistemas lineares Determinantes de Matrizes det(a) = ( 1) s n u ii onde u ii corresponde aos elementos da diagonal da matriz U e s é o número de trocas de linhas para obter a matriz U. Exemplo ( 1 2 det 2 1 ) ( = ( 1) 1 2 1 det 0 1.5 i=1 ) = ( 1) 1 2 1.5 = 3 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 48 / 203
Resolução de sistemas lineares Cálculo da Inversa de Matrizes A matriz inversa de A (A 1 ) verifica AA 1 = I = A 1 A. O cálculo da matriz inversa reduz-se a resolução de n sistemas lineares da forma Ax j = e j, j = 1,..., n, em que os vectores independentes e j são as colunas da matriz identidade. O vector solução x j corresponde à coluna j da matriz inversa. Na prática resolve-se os n sistemas em simultâneo, i.e., resolve-se a equação (U J ) por substituição inversa. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 49 / 203
Resolução de sistemas lineares Cálculo da Inversa de Matrizes - Exemplo ( ) ( ) ( ) 1 2 1 0 2 1 0 1 2 1 0 1 2 1 0 1 1 2 1 0 0 1.5 1 0.5 ( ) { 2 1 0 x11 = 0 1 0.6667 2 = 0.3334 0 1.5 1 x 21 = 1 1.5 = 0.6667 ( ) { 2 1 1 x12 = 1 1 ( 0.3333) 2 = 0.6667 0 1.5 0.5 x 22 = 0.5 1.5 = 0.3333 ( ) ( ) 1 2 0.3334 0.6667 A inversa de é 2 1 0.6667 0.3333 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 50 / 203
Resolução de sistemas lineares Métodos iterativos Nos métodos iterativos a solução exacta só é obtida ao fim de uma sequência infinita de operações. O processo parte de uma aproximação inicial para a solução do sistema e usa uma equação iterativa da forma Mx (k+1) = Nx (k) + b, para k = 1, 2,... Os métodos em que M e N não dependem de k dizem-se estacionários. Os métodos de Jacobi e Gauss-Seidel são métodos estacionário. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 51 / 203
Resolução de sistemas lineares Método Iterativo Jacobi D matriz dos elementos da diagonal principal, L matriz dos simétricos dos elementos abaixo da diagonal principal e U matriz dos simétricos dos elementos acima da diagonal principal. O método de Jacobi usa a partição de A em D (L + U), i.e, M = D e N = L + U A equação iterativa fica Dx (k+1) = (L + U)x (k) + b ou x (k+1) = D 1 (L + U)x (k) + D 1 b A matriz iteração é C J = M 1 N = D 1 (L + U) A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 52 / 203
Resolução de sistemas lineares Método Iterativo Gauss-Seidel M = D L N = U A equação iterativa fica Mx (k+1) = Nx (k) + b ou x (k+1) = M 1 Nx (k) + M 1 b A matriz iteração é C GS = M 1 N = (D L) 1 U. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 53 / 203
Resolução de sistemas lineares Critério de Paragem Erro relativo na aproximação x (k+1) x (k) x (k+1) < ɛ 1 Resíduo Ax (k+1) b < ɛ 2 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 54 / 203
Resolução de sistemas lineares Convergência dos métodos iterativos Condições suficientes A simétrica e definida positiva = GS exibe convergência global; A é estrita e diagonalmente dominante = J e GS exibem convergência global; C p < 1, para qualquer normal p, = J e GS exibem convergência global; C é a matriz iteração de Jacobi ou Gauss-Seidel. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 55 / 203
Resolução de sistemas lineares Algumas definições Uma matriz A diz-se simétrica se A = A T. Uma matriz é definida positiva se d T Ad > 0, d 0. É equivalente a verificar que todos os determinante das sub-matrizes principais são maiores do que zero. Uma matriz A diz-se estrita e diagonalmente dominante se a ii > n a ij, i = 1,..., n j=1 j i A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 56 / 203
Resolução de sistemas lineares Exemplo - convergência de Gauss-Seidel Considere-se a seguinte matriz dos coeficientes de um sistema linear ( ) 3 1 A = 1 2 Como a A = A T a matriz é simétrica. ( ) 3 1 det( 3 ) = 3 > 0 det(a) = 3 2 1 1 = 5 > 0 1 2 Logo A é simétrica e definida positiva e o método de Gauss-Seidel converge. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 57 / 203
Resolução de sistemas lineares Exemplo - convergência de Jacobi Considere-se o seguinte sistema ( 1 2 1 3 1 1 Como 1 2 a matriz dos coeficientes não é estrita e diagonalmente dominante e nada se pode concluir acerca da convergência do método de Jacobi. No entanto se trocarmos as linhas temos ( 3 1 ) 1 1 2 1 e como 3 > 1 e 2 > 1 a matriz é estrita e diagonalmente dominante, logo o método de Jacobi converge. ) A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 58 / 203
Resolução de sistemas lineares Exemplo - convergência de Jacobi Considere-se a seguinte matriz dos coeficientes de um sistema linear ( ) 3 2 A = 3 1 Como 3 > 2, mas 1 3 a matriz dos coeficientes não é estrita e diagonalmente dominante e nada se pode concluir acerca da convergência do método de Jacobi. D = ( 3 0 0 1 ) L = ( 0 0 3 0 ) U = ( 0 2 0 0 ) A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 59 / 203
Resolução de sistemas lineares Continuação ( ) ( C J = D 1 0.3333 0 0 2 (L + U) = 0 1 3 0 ( ) 0 0.6666 = 3 0 ) Como C J = max{ 0 + 0.6666, 3 + 0 } = 3 1 e c J 1 = max{ 0 + 3, 0.6666 + 0 } = 3 1 nada se pode concluir acerca da convergência do método de Jacobi. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 60 / 203
Resolução de sistemas lineares Uma iteração do método de Gauss-Seidel Considere-se o seguinte sistema linear ( 3 1 1 A = 1 2 1 ), x (1) = (0, 0) T e ɛ 1 = ɛ = 0.1 ( ) 3 0 D = L = 0 2 Equação iterativa é ( 0 0 1 0 ) U = ( 0 1 0 0 ) (D L)x (k+1) = Ux (k) + b A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 61 / 203
Resolução de sistemas lineares Continuação 1 a iteração C.P. ( 3 0 1 2 ) ( x (2) 0 1 = 0 0 ( 3 0 1 1 2 1 x (2) x (1) x (2) = ) { ( 0.3333 0.3334 ( 0.3333 0.3334 ) ( 0 0 ) ( 1 + 1 ) = ( 1 1 x (2) 1 = 1 3 = 0.3333 x (2) 2 = 1 1 0.3333 2 = 0.3334 ) ( 0 0 ) ) ) = 0.3334 0.3334 = 1 0.1 Como o critério não se verifica deve-se continuar com a próxima iteração. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 62 / 203
Resolução de sistemas não lineares Conteúdo 1 Introdução 2 Erros 3 Zeros de funções 4 Resolução de sistemas lineares 5 Resolução de sistemas não lineares 6 Interpolação polinomial 7 Interpolação segmentada - Splines 8 Mínimos quadrados lineares 9 Equações diferenciais - Condições iniciais 10 Equações diferenciais - Condições Fronteira 11 Integração numérica A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 63 / 203
Resolução de sistemas não lineares Sistemas de equações não lineares Forma geral do problema f 1 (x 1, x 2,..., x n ) = 0 f 2 (x 1, x 2,..., x n ) = 0... f n (x 1, x 2,..., x n ) = 0 em que f = (f 1, f 2,..., f n ) T é um vector de funções pelo menos uma vez continuamente diferenciáveis. Pretende-se determinar um x = (x 1, x 2,..., x n) T tal que f(x ) = (0, 0,..., 0) T = 0. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 64 / 203
Resolução de sistemas não lineares Fórmula de Taylor a uma dimensão Se f : R R for l + 1 vezes diferenciável temos que f(x) = l k=0 f (k) (a) k! (x a) k + f (l+1) (ξ) (x a)l+1 (l + 1)! com ξ [a, x] e a função definida em torno de a. Exemplo: Valor da função em x (k+1) definido em torno de x (k). f(x (k+1) ) f(x (k) ) + f (x (k) )(x (k+1) x (k) ) ou seja, quando se pretende que f(x (k+1) ) = 0 vem x (k+1) = x (k) f(x(k) ) f (x (k) ) Eq. it. do método de Newton A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 65 / 203
Resolução de sistemas não lineares Fórmula de Taylor para dimensão n Se f : R n R n temos que f(x (k+1) ) f(x (k) )+ f 1 (x (k) ) f 1 (x (k) ) x 1 f 2 (x (k) ) f 2 (x (k) ) x 1 x 2... x 2...... f n(x (k) ) x 1 f n(x (k) ) x 2... f 1 (x (k) ) x n f 2 (x (k) ) x n f n(x (k) ) x n x (k+1) 1 x (k) 1 x (k+1) 2 x (k) 2 x (k+1) n... x (k) n e deduzindo a equação iterativa do método de Newton para sistemas de equações não lineares temos, J(x (k) ) (k) x = f(x (k) ), com x (k+1) = x (k) + (k) x em que J(x) é o Jacobiano da função. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 66 / 203
Resolução de sistemas não lineares Critério de paragem x (k+1) x (k) 2 x (k+1) = (k) x 2 2 x (k+1) ɛ 1 2 Se x (k+1) 2 é zero, ou próximo de zero, então o critério deve ser (k) x 2 ɛ 1 Número máximo de iterações. f(x (k+1) ) 2 ɛ 2 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 67 / 203
Resolução de sistemas não lineares Propriedades Convergência local quadrática. Determina a solução de um sistema linear numa única iteração. Inconveniente do cálculo do Jacobiano. (Também existe um método da secante para sistemas.) O método falha quando o Jacobiano é singular (nova aproximação inicial). O método de Newton não converge necessariamente para a solução mais próxima da aproximação inicial. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 68 / 203
Resolução de sistemas não lineares Um exemplo Considere-se o seguinte sistema não linear { 3x 2 + 2y 2 = 35 4x 2 3y 2 cujo Jacobiano é J(x, y) = = 24 ( 6x 4y 8x 6y ) Temos f(x, y) = ( 3x 2 + 2y 2 35 4x 2 3y 2 24 ) e a aproximação inicial é (x, y) (1) = (2.5, 2). Pretende-se determinar a solução com uma precisão de ɛ 1 = ɛ 2 = 10 1. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 69 / 203
Resolução de sistemas não lineares Continuação 1 a iteração ( ) J((x, y) (1) 15 8 ) = J(2.5, 2) = 20 12 ( ) f((x, y) (1) 8.25 ) = f(2.5, 2) = 11 ( 15 8 8.25 20 12 11 (1) (x,y) = ( 0.55 0 ) ) ( 20 12 11 15 8 8.25 ) ( 20 12 11 0 17 0 e (x, y) (2) = (x, y) (1) + (1) (x,y) = (3.05, 2)T ) A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 70 / 203
Resolução de sistemas não lineares Continuação C.P. ( f (x, y) (2)) ( ) = 0.9075 1.21 = 1.21 ɛ 2 = 0.1 Como o critério não se verifica faz-se uma nova iteração. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 71 / 203
Interpolação polinomial Conteúdo 1 Introdução 2 Erros 3 Zeros de funções 4 Resolução de sistemas lineares 5 Resolução de sistemas não lineares 6 Interpolação polinomial 7 Interpolação segmentada - Splines 8 Mínimos quadrados lineares 9 Equações diferenciais - Condições iniciais 10 Equações diferenciais - Condições Fronteira 11 Integração numérica A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 72 / 203
Interpolação polinomial Motivação Pretende-se determinar uma função aproximação que descreva o melhor possível o comportamento de um conjunto de pontos (x 0, f 0 ), (x 1, f 1 ),..., (x m, f m ). Este conjunto de pontos pode ter sido obtido de: observações de uma experiência (função desconhecida); uma função complexa cujo cálculo é difícil (função pode ser conhecida). A função aproximação server para: formular um modelo matemático que descreve o processo em causa; obter valores da função em pontos que são desconhecidos. Problema: Como implementar a função sin(x) num microcontrolador? A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 73 / 203
Interpolação polinomial Continuação Pretende-se então, dado um conjunto de pontos (x i, f i ), i = 1,..., m, determinar uma função aproximação p(x) que melhor descreve o comportamento dos dados, de acordo com uma certa medida. No nosso caso vamos apenas considerar funções aproximação polinomiais, i.e., p n (x) é um polinómio interpolador de grau n. Para construirmos o polinómio interpolador de Newton são necessárias as diferenças divididas. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 74 / 203
Interpolação polinomial Diferenças divididas com espaçamento não constante Considere-se uma função f(x) tabelada em m + 1 pontos x 0, x 1,..., x m não igualmente espaçados. Diferenças divididas de primeira ordem são onde f j = f(x j ). [x j, x j+1 ] = f j f j+1 x j x j+1 j = 0,..., m 1 A diferença dividida de primeira ordem corresponde ao declive da recta que passa em (x j, f j ) e (x j+1, f j+1 ). A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 75 / 203
Interpolação polinomial Continuação As diferenças divididas de segunda ordem são [x j, x j+1, x j+2 ] = [x j, x j+1 ] [x j+1, x j+2 ] x j x j+2, j = 0,..., m 2. As diferenças divididas de ordem n são [x j, x j+1,..., x j+n ] = [x j, x j+1,..., x j+n 1 ] [x j+1, x j+2,..., x j+n ] x j x j+n para j = 0,..., m n. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 76 / 203
Interpolação polinomial Tabela das diferenças divididas 0 0 [x 0, x 1 ] x 1 f 1 [x 0, x 1, x 2 ] [x 1, x 2 ] [x 0, x 1, x 2, x 3 ] x 2 f 2 [x 1, x 2, x 3 ] [x 2, x 3 ] [x 1, x 2, x 3, x 4 ]...... x m 2 f m 2 [x m 3, x m 2, x m 1 ] [x m 2, x m 1 ] [x m 3, x m 2, x m 1, x m] x m 1 f m 1 [x m 2, x m 1, x m] [x m 1, x m] x m f m [x 0,..., x m 1, x m] A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 77 / 203
Interpolação polinomial Exemplo x i f i dd1 dd2 dd3 dd4 dd5 1 2 0.5000 3 3 0.1667 1.0000 0.0667 4 4 0.1667 0.0250 0.5000 0.0833 0.0043 6 5 0.1667 0.0139 1.0000 0.0139 7 6 0.0833 1.3333 10 10 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 78 / 203
Interpolação polinomial Propriedades das diferenças divididas Simétrica nos argumentos, i.e., é independente da ordem dos argumentos; Exemplo x i f i 6 5 1.0000 7 6 0.0833 1.3333 10 10 x i f i 7 6 1.3333 10 10 0.0833 1.25 6 5 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 79 / 203
Interpolação polinomial Propriedades das diferenças divididas Se f j = u j + v j para valores de x j, j = 0,..., m então a tabela das DD de f é igual à soma das tabelas das DD de u e v. Exemplo: f(x) = sin(x) + e x, u(x) = sin(x) e v(x) = e x. x i u i 1 0.8415 0.0678 2 0.9093 0.4180 0.7682 3 0.1411 x i v i 1 2.7183 4.6708 2 7.3891 4.0128 12.6964 3 20.0855 x i f i 1 3.5598 4.7386 2 8.2984 3.5948 11.9282 3 20.2266 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 80 / 203
Interpolação polinomial Propriedades das diferenças divididas A diferença dividida de cf(x), com c constante, é igual ao produto da diferença dividida de f(x) por c. Exemplo: f(x) = sin(x), cf(x) = 2 sin(x) x i f i 1 0.8415 0.0678 2 0.9093 0.4180 0.7682 3 0.1411 x i 2f i 1 1.6830 0.1356 2 1.8186 0.8360 1.5364 3 0.2822 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 81 / 203
Interpolação polinomial Propriedades das diferenças divididas As diferenças divididas de ordem n da função x n são iguais a 1 e as de ordem r > n são nulas. Como consequência as diferenças divididas de ordem n de um polinómio de ordem n são iguais e diferentes de zero. Exemplo: f(x) = x 2 + 3x + 1 x i f i dd1 dd2 dd3 dd4 1 1 2 0 1 1 4 0 1 5 1 0 6 0 2 11 1 8 3 19 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 82 / 203
Interpolação polinomial Fórmula interpoladora de Newton Das definições das diferenças divididas pode-se concluir que f(x) = f 0 + (x x 0 )[x 0, x] = f 0 + (x x 0 ) f(x) f 0 x x 0 [x 0, x] = [x 0, x 1 ] + (x x 1 )[x 0, x 1, x] [x 0, x 1, x] = [x 0, x 1, x 2 ] + (x x 2 )[x 0, x 1, x 2, x]... [x 0, x 1,..., x n 1, x] = [x 0, x 1,..., x n 1, x n ] + (x x n )[x 0, x 1,..., x n 1, x n, x]... deduzindo-se a fórmula interpoladora de Newton f(x) = f 0 + (x x 0 )[x 0, x 1 ] + (x x 0 )(x x 1 )[x 0, x 1, x 2 ] + + (x x 0 )... (x x n 1 )[x 0, x 1,..., x n ] + A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 83 / 203
Interpolação polinomial Polinómio interpolador de Newton O polinómio interpolador de grau n obtém-se usado apenas n + 1 termos da fórmula interpoladora de Newton, p n (x) = f 0 + (x x 0 )[x 0, x 1 ] + (x x 0 )(x x 1 )[x 0, x 1, x 2 ] + + (x x 0 )... (x x n 1 )[x 0, x 1,..., x n ] e temos que R(x) = f(x) p n (x) = (x x 0 )(x x 1 )... (x x n 1 )(x x n ) f (n+1) (ξ) (n+1)!, ξ [x 0, x n ]. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 84 / 203
Interpolação polinomial Diferenças divididas e derivadas Da dedução da fórmula do erro de truncatura temos que [x 0, x 1,..., x n ] = f (n) (ξ), ξ [x 0, x n ], n! ou seja, as diferenças divididas de primeira ordem são aproximações as primeiras derivadas e a diferença dividida de ordem n é uma aproximação à derivada de ordem n da função sobre n!. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 85 / 203
Interpolação polinomial Determinação do polinómio interpolador Em geral temos que m > n. Para construirmos o polinómio interpolador de grau n são necessários n + 1 pontos. A escolha dos pontos está relacionada com o valor de x para o qual se pretende obter uma estimativa da função f( x). A escolha dos pontos deve obedecer as seguintes regras: os pontos x j e x j+1 em que x j < x < x j+1 devem ser incluídos. os restantes, até formar os n + 1 necessários, são aqueles que estão mais próximos de x. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 86 / 203
Interpolação polinomial Exemplo Considere-se a seguinte tabela de pontos i 0 1 2 3 4 5 x i 1 3 4 6 7 10 f i 2 3 4 5 6 10 pretende-se obter uma estimativa de f(8) através usando uma interpolação quadrática (polinómio de colocação de grau 2). Precisamos de 3 pontos para construir o polinómio de grau 2. x 4 e x 5 devem ser incluídos, uma vez que x 4 < 8 < x 5, e o restante será o x 3. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 87 / 203
Interpolação polinomial Continuação Construindo a tabela das diferenças divididas temos que x i f i 6 5 1.0000 7 6 0.0833 1.3333 10 10 e p 2 (x) = 5 + (x 6) 1 + (x 6)(x 7) 0.0833, ficando f(8) p 2 (8) = 5 + (8 6) 1 + (8 6)(8 7) 0.0833 = 7.1666. Nota: x 0 = 6, x 1 = 7, e x 2 = 10 para efeitos do cálculo do polinómio. Sendo o polinómio interpolador único qualquer combinação de pontos resulta no mesmo polinómio. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 88 / 203
Interpolação polinomial Continuação x i f i 7 6 1.3333 10 10 0.0833 1.25 6 5 e p 2 (x) = 6 + (x 7) 1.3333 + (x 7)(x 10) 0.0833, ficando f(8) p 2 (8) = 6 + (8 7) 1.333 + (8 7)(8 10) 0.0833 = 7.1667. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 89 / 203
Interpolação polinomial Cálculo do majorante do erro absoluto ET (x) = (x x 0)(x x 1 )(x x 2 ) f (3) (ξ), ξ [6, 10] 3! Como necessitámos de uma estimativa para f (3) (ξ) e a função f(x) é desconhecida vamos usar as diferenças divididas para a obter. Com os pontos usados na construção do polinómio não é possível obter uma diferença dividida de ordem 3 e por isso vamos acrescentar mais um ponto à tabela anterior. É indiferente inserir o ponto no início ou no final da tabela, uma vez que o valor de dd3 será o mesmo. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 90 / 203
Interpolação polinomial Continuação x i f i 4 4 0.5000 6 5 0.1667 1.0000 0.0139 7 6 0.0833 1.3333 10 10 ET (8) = (8 6)(8 7)(8 10) ( 0.0139) = 0.0556 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 91 / 203
Interpolação segmentada - Splines Conteúdo 1 Introdução 2 Erros 3 Zeros de funções 4 Resolução de sistemas lineares 5 Resolução de sistemas não lineares 6 Interpolação polinomial 7 Interpolação segmentada - Splines 8 Mínimos quadrados lineares 9 Equações diferenciais - Condições iniciais 10 Equações diferenciais - Condições Fronteira 11 Integração numérica A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 92 / 203
Interpolação segmentada - Splines Motivação Pretende-se aproximar uma função f(x) conhecida em alguns pontos do seu domínio por ser desconhecida a sua expressão analítica (experiência laboratorial); porque a sua expressão analítica é demasiado complexa. Dará bons resultados aproximar uma função conhecida em 11 pontos por um polinómio de grau 10? A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 93 / 203
Interpolação segmentada - Splines Exemplo Dada a função f(x) conhecida para os seguintes pontos (i = 0,..., 10) x i 1 2 3 4 5 6 7 8 9 10 11 f i 0.1 0.2 0.3 0.4 0.45 0.44 0.4 0.45 0.4 0.4 0.35 0.8 0.7 0.6 0.5 p 10 (x) 0.4 0.3 0.2 0.1 0 0 2 4 6 8 10 12 x A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 94 / 203
Interpolação segmentada - Splines Interpolação segmentada A ideia subjacente à interpolação segmentada consiste na construção de segmentos entre pontos (em oposição à construção de um único polinómio). A facilidade de usar polinómios fazem com que sejam candidatos naturais para a construção dos segmentos: quando o segmento é um polinómio de grau 1 estamos na presença de uma Spline linear; quando o segmento é um polinómio de grau 3 estamos na presença de uma Spline cúbica. O grau do polinómio usado na construção do segmento não está relacionado com o número de pontos. Para um conjunto de n + 1 pontos temos n segmentos. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 95 / 203
Interpolação segmentada - Splines Exemplo 0.8 0.7 p 10 (x) 0.6 s 1 9 (x) p 10 (x), s 1 (x), s 3 (x) 0.5 0.4 0.3 0.2 s 3 2 (x) s 3 3 (x) s 1 8 (x) s 1 10 (x) 0.1 1 s 3 (x) 0 0 2 4 6 8 10 12 x A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 96 / 203
Interpolação segmentada - Splines Splines lineares Considere-se dois pontos consecutivos (x i 1, x i ) na construção de um segmento da Spline linear. Podemos usar, por exemplo, o polinómio interpolador de Newton para deduzir a equação da Spline linear. Equação da Spline linear x i 1 f i 1 f i f i 1 x i x i 1 x i f i s i 1 (x) = f i 1 + f i f i 1 x i x i 1 (x x i 1 ) Interpolação nos segmentos O segmento s i 1 (x) apenas está definido para x [x i 1, x i ], i = 1,..., n. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 97 / 203
Interpolação segmentada - Splines Propriedades Função segmentada A Spline linear é uma função definida por segmentos. s 1 1 (x) se x [x 0, x 1 ] s s 1 (x) = 2 1 (x) se x [x 1, x 2 ] s n 1 (x) se x [x n 1, x n ] Mas na grande maioria das vezes só se calcula o segmento necessário. Simplicidade vs diferenciabilidade São segmentos simples de determinar, mas a função final, no caso geral, não é diferenciável (nos nós intermédios). A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 98 / 203
Interpolação segmentada - Splines Erro de truncatura Erro de truncatura - spline linear f(x) s 1 (x) 1 8 h2 M 2 Onde h = max i (x i x i 1 ) e M 2 é um majorante do valor absoluto de f (x) em [x 0, x n ] (max ξ [x0,x n] f (ξ) M 2 ). Majorante de f (x) Quando não é possível obter o majorante de outra forma deve-se usar as diferenças divididas para obter uma estimativa (atenção ao 2!). A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 99 / 203
Interpolação segmentada - Splines Splines cúbicas Considere-se um conjunto de pontos x 0 x 1 x n. Definição Um segmento cúbico (polinómio de grau 3) entre dois pontos está bem definido? Resposta Claro que não (existe um infinidade de polinómios de grau 3 que interpolam os dois pontos). Condições necessárias para definir a spline cúbica Serão necessárias condições adicionais (de continuidade da spline) para que se consiga deduzir a(s) sua(s) equação(ões). A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 100 / 203
Interpolação segmentada - Splines Dedução da equação s i 3 (x) é um polinómio de grau 3, logo a sua segunda derivada é uma recta. Sejam M(x 0 ) = M 0, M(x 1 ) = M 1,..., M(x n ) = M n as segundas derivadas da spline cúbica nos nós x 0, x 1,..., x n, respectivamente. Então temos que (s i 3 (x)) (s i 3(x)) = x x i x i 1 x i M i 1 + x x i 1 x i x i 1 M i A spline cúbica pode também ser usada para aproximar as segundas derivadas. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 101 / 203
Interpolação segmentada - Splines Equação da spline Integrando duas vezes (s i 3 (x)) obtém-se s i 3 (x), i = 1,..., n s i 3(x) = M i 1 M i 6(x i x i 1 ) (x i x) 3 + 6(x i x i 1 ) (x x i 1) 3 + [ f i 1 (x i x i 1 ) M ] i 1(x i x i 1 ) (x i x)+ 6 [ f i (x i x i 1 ) M ] i(x i x i 1 ) (x x i 1 ) 6 Impondo as condições de continuidade da spline e o facto de que cada segmento é um polinómio interpolador (por exemplo s i 3 (x i) = f i ). A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 102 / 203
Interpolação segmentada - Splines Condições adicionais Os valores de M i, i = 0,..., n são, usualmente, incógnitas (segundas derivadas da função f(x) nos nós). Continuidade da primeira derivada da spline Resulta que (s i 3 (x i)) = (s i+1 3 (x i )), i = 1,..., n 1, i.e., (x i x i 1 )M i 1 + 2(x i+1 x i 1 )M i + (x i+1 x i )M i+1 = 6 6 (f i+1 f i ) (f i f i 1 ) x i+1 x i x i x i 1 para o nó i (nós interiores). Temos então n 1 equações lineares para determinar n + 1 incógnitas, o que torna o sistema linear indeterminado (infinidade de soluções). A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 103 / 203
Interpolação segmentada - Splines Tipos de splines cúbicas Natural M 0 = M n = 0, i.e., (s 1 3 (x 0)) = (s n 3 (x n)) = 0, i.e., curvatura nula nas extremidades Completa Impondo que (s 1 3 (x 0)) = f (x 0 ) e (x n 3 (x n)) = f (x n ) resulta em mais duas equações: 6 2(x 1 x 0 )M 0 + (x 1 x 0 )M 1 = (f 1 f 0 ) 6f (x 0 ) x 1 x 0 2(x n x n 1 )M n + (x n x n 1 )M n 1 = 6f (x n ) Livre 6 x n x n 1 (f n f n 1 ) Na prática desde que sejam dadas mais duas condições é possível determinar a spline de forma única. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 104 / 203
Interpolação segmentada - Splines Spline cúbica completa Caso em que derivadas são desconhecidas No caso em que se pretende uma spline cúbica completa, mas as derivadas nos extremos são desconhecidas, estas podem ser estimadas por diferenças divididas usando dois pontos auxiliares a e b. f (x 0 ) = f(a) f 0 a x 0 f (x n ) = f(b) f n b x n Neste caso os pontos usados na obtenção da estimativa das derivadas devem ser removidas da construção da spline (usualmente considerámos a = x 1 e b = x n 1 ). Se conhecer f(x) Se f(x) for conhecida deve-se usar a derivada para obter os valores (exactos) de f 0 e f n. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 105 / 203
Interpolação segmentada - Splines Spline Spline cúbica Cada segmento i só pode ser usado para interpolar a função no intervalo [x i 1, x i ], uma vez que a spline é uma função definida por segmentos: s 1 3 (x) se x [x 0, x 1 ] s s 3 (x) = 2 3 (x) se x [x 1, x 2 ] s n 3 (x) se x [x n 1, x n ] Que segmento? Na prática determinamos apenas o segmento que possa interessar para obter uma estimativa da função. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 106 / 203
Interpolação segmentada - Splines Erro de truncatura Erro de truncatura da spline f(x) s 3 (x) 5 384 h4 M 4 em que h é o maior espaçamento entre pontos usados na construção da spline e M 4 e um majorante do valor absoluto da quarta derivada de f(x) no intervalo [x 0, x n ], i.e, max ξ [x 0,x n] f (iv) (ξ) M 4 Erro de truncatura da derivada da spline f (x) s 3(x) 1 24 h3 M 4 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 107 / 203
Interpolação segmentada - Splines Árvore de decisão Natural Usando todos os pontos da tabela, considerar M 0 = M n = 0. Spline cúbica Completa Deriv. desc. Deriv. conhec. f (x 0 ) =?, f (x n ) =? f (x 0 ), f (x n ) Estimar as derivadas por diferenças divididas, removendo dois pontos na tabela Usar as derivadas nas duas equações adicionais Resolver um sistema de equações lineares por EGPP para obter os M s. Determinar segmento e calcular aproximação. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 108 / 203
Interpolação segmentada - Splines Exemplo Enunciado Ao efectuar observações astronómicas medindo as variações na magnitude aparente, M, de uma estrela variável chamada variável Cepheid, ao longo de um período de tempo, t, foram obtidos os seguintes valores: tempo (t) 0.0 0.3 0.5 0.6 0.8 Magnitude aparente (M) 0.302 0.106 0.240 0.579 0.468 Determine um valor aproximado da magnitude aparente da variável Cepheid no instante t = 0.4, utilizando uma spline cúbica completa. Como se trata de uma spline completa em que se desconhece as derivadas em t = 0 e t = 0.8, considerámos a = 0.3 e b = 0.6 como pontos auxiliares no cálculo da aproximação a f 0 e f n (mudança de notação para não dar confusão com as incógnitas da spline). A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 109 / 203
Interpolação segmentada - Splines Resolução Temos então que: f 0 = e ficámos com 0.106 0.302 0.3 0 = 0.6533 f 2 = i 0 1 2 t i 0.0 0.5 0.8 f i 0.302 0.240 0.468 0.579 0.468 0.6 0.8 Só existe uma equação para o único nó interior (i = 1). = 0.555 (t 1 t 0 )M 0 + 2(t 2 t 0 )M 1 + (t 2 t 1 )M 2 = 6 (f 2 f 1 ) 6 (f 1 f 0 ) t 2 t 1 t 1 t 0 0.5M 0 + 1.6M 1 + 0.3M 2 = 6(0.468 0.240) 0.3 6(0.240 0.302) 0.5 = 5.304 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 110 / 203
Interpolação segmentada - Splines Resolução Cont. Como a spline é completa temos as duas condições adicionais: 2(t 1 t 0 )M 0 + (t 1 t 0 )M 1 = 6 t 1 t 0 (f 1 f 0 ) 6f 0 2(t 2 t 1 )M 2 + (t 2 t 1 )M 1 = 6f 2 6 (f 2 f 1 ) t 2 t 1 Substituindo: 6(0.240 0.302) M 0 + 0.5M 1 = 6 ( 0.6533) = 3.1758 0.5 6(0.468 0.240) 0.6M 2 + 0.3M 1 = 6 ( 0.555) = 7.89 0.3 Resultando no seguinte sistema linear: 1.0 0.5 0.0 3.1758 0.5 1.6 0.3 5.3040 0.0 0.3 0.6 7.89 M 0 = 0.0163 M 1 = 6.3843 M 2 = 16.3421 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 111 / 203
Interpolação segmentada - Splines Segmento Como t = 0.4 se encontra no primeiro segmento da spline temos: M 0 M 1 s 1 3(t) = 6(t 1 t 0 ) (t 1 t) 3 + 6(t 1 t 0 ) (t t 0) 3 + [ f 0 (t 1 t 0 ) M ] 0(t 1 t 0 ) (t 1 t)+ 6 [ s 1 3(t) = 0.0163 3 (0.5 t) 3 + 6.3843 t 3 + [ 3 0.302 0.5 0.0163 0.5 6 f 1 (t 1 t 0 ) M 1(t 1 t 0 ) 6 ] (t t 0 ) ] (0.5 t)+ [ ] 0.240 6.3843 0.5 t 0.5 6 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 112 / 203
Interpolação segmentada - Splines Aproximação s 1 3(t) = 0.0005(0.5 t) 3 + 2.1281t 3 + 0.6054(0.5 t) 0.0520t Não desenvolver o polinómio s 1 3(0.4) = 0.0005(0.5 0.4) 3 + 2.1281 0.4 3 + 0.6054(0.5 0.4) 0.0520 0.4 = 0.1759 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 113 / 203
Interpolação segmentada - Splines Erro de truncatura Para o cálculo do erro de truncatura da spline temos calcular h = max(t i t i 1 ) = max(0.5 0.0, 0.8 0.5) = max(0.5, 0.3) = 0.5 i Uma vez que a função é desconhecida (majorante da quarta derivada) temos que usar as diferenças divididas. t i f i (M i ) dd1 dd2 dd3 dd4 0.0 0.302 0.6533 0.3 0.106 2.6467 0.6700 10.7000 0.5 0.240 9.0667-68.9167 3.3900 44.4333 0.6 0.579 13.1500 0.5550 0.8 0.468 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 114 / 203
Interpolação segmentada - Splines Erro de truncatura Logo temos que M 4 = 68.9167 4! = 68.9167 4!, resultando em (Se existissem mais diferenças divididas de quarta hora escolher-se-ia a de maior valor absoluto e se não existirem pontos suficientes não é possível calcular o erro de truncatura.) s 3 (x) f(x) 5 384 0.54 68.9167 4! = 1.3460 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 115 / 203
Mínimos quadrados lineares Conteúdo 1 Introdução 2 Erros 3 Zeros de funções 4 Resolução de sistemas lineares 5 Resolução de sistemas não lineares 6 Interpolação polinomial 7 Interpolação segmentada - Splines 8 Mínimos quadrados lineares 9 Equações diferenciais - Condições iniciais 10 Equações diferenciais - Condições Fronteira 11 Integração numérica A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 116 / 203
Mínimos quadrados lineares Mínimos quadrados lineares Motivação Os mínimos quadrados são usados quando os dados obtidos para uma determinada função f(x) estão afectados de erros (ou ruídos). Neste caso não faz muito sentido usar uma interpolação, mas sim construir uma função que reflicta, na generalidade, o comportamento dos dados. Exemplo Suponhamos que se pretende estimar o consumo de um automóvel em função da velocidade. Através da realização de várias experiências chegou-se aos seguintes valores: x i (velocidade - km/h) 20 40 50 60 60 70 80 f i (consumo l/100km) 5.5 5.6 5.7 5.9 5.85 6.1 7.5 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 117 / 203
Mínimos quadrados lineares Cont. Seria correcto usar um polinómio interpolador para modelar a função f(x)? 7.4 7.2 7 Consumo (l/100km) 6.8 6.6 6.4 6.2 6 5.8 5.6 5.4 20 30 40 50 60 70 80 Velocidade (km/h) O mais correcto seria determinar um polinómio de grau 2 (ou c 1 + c 2e x?) que melhor se aproxima-se dos dados da tabela. A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 118 / 203
Mínimos quadrados lineares Forma geral do problema - Caso discreto Dado um conjunto de valores (x i, f i ), i = 1,..., m, pretende-se determinar um modelo M(x) que aproxima o melhor possível a função dada, ou seja, minimizar f M(x), f M(x) em que Pretende-se então m g(x), h(x) = ω(x i )g(x i )h(x i ). i=1 m minimizar (f i M(x i )) 2 i=1 A. Ismael F. Vaz (UMinho) MN MIEMec. 2007/2008 119 / 203