Métodos Numéricos I A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho aivaz@dps.uminho.pt Engenharia Mecânica Ano lectivo 2007/2008 A. Ismael F. Vaz (UMinho) MN I Eng. Mec. 2007/2008 1 / 198
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 I Eng. Mec. 2007/2008 2 / 198
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 I Eng. Mec. 2007/2008 3 / 198
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 Senhorinha Teixeira st@dps.uminho.pt Horário de atendimento Quintas das 14h00 às 15h00 em Guimarães. Marcação por email. A docente da TP terá o seu horário de atendimento. A. Ismael F. Vaz (UMinho) MN I Eng. Mec. 2007/2008 4 / 198
Introdução Apresentação - Disciplina Página da disciplina; www.norg.uminho.pt/aivaz Duas fichas T para resolver ao longo do semestre (3 valores - Sem consulta); Ficha (Exame) TP a realizar em Janeiro (17 valores - Consulta de formulário). Nota mínima de 7 (em 17 valores). A classificação final é: Fichas + Ficha TP (Exame). As notas dos anos anteriores obtidas nas fichas teóricas transitam para o corrente ano, mas tem de ser expressamente pedido pelo aluno. É obrigatória a presença em 2/3 das aulas TPs efectivas (1/3 de faltas atenção às justificações/estatutos). A. Ismael F. Vaz (UMinho) MN I Eng. Mec. 2007/2008 5 / 198
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 I Eng. Mec. 2007/2008 6 / 198
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 I Eng. Mec. 2007/2008 7 / 198
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 I Eng. Mec. 2007/2008 8 / 198
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 I Eng. Mec. 2007/2008 9 / 198
Introdução Programa detalhado Dia 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. Métodos iterativos de Gauss-Seidel e Jacobi. Sistemas de equações não lineares. Método de Newton. Miniteste 1. A. Ismael F. Vaz (UMinho) MN I Eng. Mec. 2007/2008 10 / 198
Introdução Programa detalhado Dia Matéria Interpolação polinomial. Diferenças divididas. Fórmula interpoladora de Newton. Erro da fórmula interpoladora de Newton. Splines lineares e cúbicas. 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. Equações diferencias com condições fronteira. Integração numérica. Fórmulas simples e compostas do Trapézio, Simpson e 3/8. Miniteste 2. Revisões. Avaliação Ficha TP (exame). A. Ismael F. Vaz (UMinho) MN I Eng. Mec. 2007/2008 11 / 198
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 I Eng. Mec. 2007/2008 12 / 198
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 I Eng. Mec. 2007/2008 13 / 198
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 I Eng. Mec. 2007/2008 14 / 198
Erros Exemplo de programação A. Ismael F. Vaz (UMinho) MN I Eng. Mec. 2007/2008 15 / 198
Erros Exemplo de programação A. Ismael F. Vaz (UMinho) MN I Eng. Mec. 2007/2008 16 / 198
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 I Eng. Mec. 2007/2008 17 / 198
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 I Eng. Mec. 2007/2008 18 / 198
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 I Eng. Mec. 2007/2008 19 / 198
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 I Eng. Mec. 2007/2008 20 / 198
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 I Eng. Mec. 2007/2008 21 / 198
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 I Eng. Mec. 2007/2008 22 / 198
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 I Eng. Mec. 2007/2008 23 / 198
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 I Eng. Mec. 2007/2008 24 / 198
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 I Eng. Mec. 2007/2008 25 / 198
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 I Eng. Mec. 2007/2008 26 / 198
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 I Eng. Mec. 2007/2008 27 / 198
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 I Eng. Mec. 2007/2008 28 / 198
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 I Eng. Mec. 2007/2008 29 / 198
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 I Eng. Mec. 2007/2008 30 / 198
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 I Eng. Mec. 2007/2008 31 / 198
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 I Eng. Mec. 2007/2008 32 / 198
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 I Eng. Mec. 2007/2008 33 / 198
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 I Eng. Mec. 2007/2008 34 / 198
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 I Eng. Mec. 2007/2008 35 / 198
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 I Eng. Mec. 2007/2008 36 / 198
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 I Eng. Mec. 2007/2008 37 / 198
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 I Eng. Mec. 2007/2008 38 / 198
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 I Eng. Mec. 2007/2008 39 / 198
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 I Eng. Mec. 2007/2008 40 / 198
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 I Eng. Mec. 2007/2008 41 / 198
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 I Eng. Mec. 2007/2008 42 / 198
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 I Eng. Mec. 2007/2008 43 / 198
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 I Eng. Mec. 2007/2008 44 / 198
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 I Eng. Mec. 2007/2008 45 / 198
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 I Eng. Mec. 2007/2008 46 / 198
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 I Eng. Mec. 2007/2008 47 / 198
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 I Eng. Mec. 2007/2008 48 / 198
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 I Eng. Mec. 2007/2008 49 / 198
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 I Eng. Mec. 2007/2008 50 / 198
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 I Eng. Mec. 2007/2008 51 / 198
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 I Eng. Mec. 2007/2008 52 / 198
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 I Eng. Mec. 2007/2008 53 / 198
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 I Eng. Mec. 2007/2008 54 / 198
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 I Eng. Mec. 2007/2008 55 / 198
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 I Eng. Mec. 2007/2008 56 / 198
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 I Eng. Mec. 2007/2008 57 / 198
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 I Eng. Mec. 2007/2008 58 / 198
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 I Eng. Mec. 2007/2008 59 / 198
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 I Eng. Mec. 2007/2008 60 / 198
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 I Eng. Mec. 2007/2008 61 / 198
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 I Eng. Mec. 2007/2008 62 / 198
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 I Eng. Mec. 2007/2008 63 / 198
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 I Eng. Mec. 2007/2008 64 / 198
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 I Eng. Mec. 2007/2008 65 / 198
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 I Eng. Mec. 2007/2008 66 / 198
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 I Eng. Mec. 2007/2008 67 / 198
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 I Eng. Mec. 2007/2008 68 / 198
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 I Eng. Mec. 2007/2008 69 / 198
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. A. Ismael F. Vaz (UMinho) MN I Eng. Mec. 2007/2008 70 / 198
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 I Eng. Mec. 2007/2008 71 / 198
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 I Eng. Mec. 2007/2008 72 / 198
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 I Eng. Mec. 2007/2008 73 / 198
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 I Eng. Mec. 2007/2008 74 / 198
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 I Eng. Mec. 2007/2008 75 / 198
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 I Eng. Mec. 2007/2008 76 / 198
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 I Eng. Mec. 2007/2008 77 / 198
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 I Eng. Mec. 2007/2008 78 / 198
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 I Eng. Mec. 2007/2008 79 / 198
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 I Eng. Mec. 2007/2008 80 / 198
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 I Eng. Mec. 2007/2008 81 / 198
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 I Eng. Mec. 2007/2008 82 / 198
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 I Eng. Mec. 2007/2008 83 / 198
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 I Eng. Mec. 2007/2008 84 / 198
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 I Eng. Mec. 2007/2008 85 / 198
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 I Eng. Mec. 2007/2008 86 / 198
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 I Eng. Mec. 2007/2008 87 / 198
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 I Eng. Mec. 2007/2008 88 / 198
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 I Eng. Mec. 2007/2008 89 / 198
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 I Eng. Mec. 2007/2008 90 / 198
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 I Eng. Mec. 2007/2008 91 / 198
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 I Eng. Mec. 2007/2008 92 / 198
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 I Eng. Mec. 2007/2008 93 / 198
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 I Eng. Mec. 2007/2008 94 / 198
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 I Eng. Mec. 2007/2008 95 / 198
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 I Eng. Mec. 2007/2008 96 / 198
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 I Eng. Mec. 2007/2008 97 / 198
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 I Eng. Mec. 2007/2008 98 / 198
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 I Eng. Mec. 2007/2008 99 / 198
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 I Eng. Mec. 2007/2008 100 / 198
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 I Eng. Mec. 2007/2008 101 / 198
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 I Eng. Mec. 2007/2008 102 / 198
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 I Eng. Mec. 2007/2008 103 / 198
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 I Eng. Mec. 2007/2008 104 / 198
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 I Eng. Mec. 2007/2008 105 / 198
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 I Eng. Mec. 2007/2008 106 / 198
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 I Eng. Mec. 2007/2008 107 / 198
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 I Eng. Mec. 2007/2008 108 / 198
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 I Eng. Mec. 2007/2008 109 / 198
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 I Eng. Mec. 2007/2008 110 / 198
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 I Eng. Mec. 2007/2008 111 / 198
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 I Eng. Mec. 2007/2008 112 / 198
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 I Eng. Mec. 2007/2008 113 / 198
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 I Eng. Mec. 2007/2008 114 / 198
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 I Eng. Mec. 2007/2008 115 / 198
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 I Eng. Mec. 2007/2008 116 / 198
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 I Eng. Mec. 2007/2008 117 / 198
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 I Eng. Mec. 2007/2008 118 / 198
Mínimos quadrados lineares Caso polinomial - estabilidade numérica No caso polinomial, ou seja, no caso em que M(x) = p n (x) e é usado o conjunto dos polinómios base {1, x, x 2,..., x n 1, x n } na definição do modelo, temos que M(x) = p n (x) = c 0 + c 1 x + c 2 x 2 + + c n 1 x n 1 + c n x n e a resolução do problema min m (f i p n (x i )) 2 i=1 resulta num sistema linear mal condicionado. A introdução dos polinómios ortogonais é suficiente para resolver o problema de mau condicionamento. A. Ismael F. Vaz (UMinho) MN I Eng. Mec. 2007/2008 119 / 198