Matemática Computacional Colectânea de Exercícios
|
|
|
- Miguel de Carvalho Paiva
- 9 Há anos
- Visualizações:
Transcrição
1 DEPARTAMENTO DE ENGENHARIA MECÂNICA Matemática Computacional Colectânea de Exercícios Propostas de resolução Conceitos fundamentais Algoritmos básicos Gráficos ilustrativos Leonel Fernandes Miguel Matos Neves Virgínia Infante José Viriato Licenciaturas em Engenharia Mecânica, Engenharia Aeroespacial e Engenharia e Arquitectura Naval - Ano Lectivo 007/08
2
3 ÍNDICE TERMINOLOGIA v 1.1 NÚMEROS INTEIROS: Conversão da base b para a base NÚMEROS INTEIROS: Conversão da base b 1 para a base b NÚMEROS REAIS: Conversão da base 10 para a base b < NÚMEROS REAIS: Conversão da base b 1 para a base b (b 1 10, b 10 e ambas ) NÚMEROS REAIS: Conversão da base 10 para base b > SISTEMAS DE PONTO FLUTUANTE: Erros de representação, Unidade de arredondamento, Overflow e Underflow ARITMÉTICA EM SISTEMAS FP: Cancelamento subtractivo FORMATO SIMPLES IEEE 754: Erros de representação FORMATO SIMPLES IEEE 754: Erros de representação e Operações 0/0 e 1/ CONDICIONAMENTO DE UMA FUNÇÃO CONDICIONAMENTO DE UMA FUNÇÃO E CANCELAMENTO SUBTRACTIVO INTERPOLAÇÃO POLINOMIAL: Formas de Lagrange e Newton INTERPOLAÇÃO POLINOMIAL: Algoritmo de Horner INTERPOLAÇÃO POLINOMIAL: Máximos e mínimos locais, Pontos de inflexão
4 ii ÍNDICE 5. INTERPOLAÇÃO POLINOMIAL: Interpolação de Hermite, Nós duplos e diferença dividida confluente INTERPOLAÇÃO POLINOMIAL: Interpolação de Hermite, Nós triplos e diferença dividida confluente INTERPOLAÇÃO POLINOMIAL: Spline quadrático INTERPOLAÇÃO POLINOMIAL: Spline cúbico INTERPOLAÇÃO POLINOMIAL: Erros em splines cúbicos DIFERENCIAÇÃO NUMÉRICA: Diferenças finitas de primeira e segunda ordens DIFERENCIAÇÃO NUMÉRICA: Majorante do erro DIFERENCIAÇÃO NUMÉRICA: Espaçamento óptimo DIFERENCIAÇÃO NUMÉRICA: Ponto de inflexão DIFERENCIAÇÃO NUMÉRICA: Espaçamento desigual INTEGRAÇÃO NUMÉRICA: Regras do trapézio simples e de Simpson simples e composta INTEGRAÇÃO NUMÉRICA: Regra de Gauss-Legendre e de Gauss-Legendre-Lobatto INTEGRAÇÃO NUMÉRICA: Regras de Gauss-Legendre e do trapézio composta INTEGRAÇÃO NUMÉRICA: Dedução e grau de regras de integração INTEGRAÇÃO NUMÉRICA: Regra do trapézio corrigida INTEGRAÇÃO NUMÉRICA: Regra de Simpson adaptativa iterativa DETERMINAÇÃO DE ZEROS DE EQUAÇÕES NÃO-LINEARES: Métodos da Bissecção, Falsa Posição e Secante EQUAÇÕES NÃO-LINEARES: Método da Bissecção e zeros múltiplos
5 ÍNDICE iii 10.3 EQUAÇÕES NÃO-LINEARES: Método da Falsa Posição EQUAÇÕES NÃO-LINEARES: Natureza e localização de zeros de polinómios (metodologia) EQUAÇÕES NÃO-LINEARES: Método de Newton-Raphson EQUAÇÕES NÃO-LINEARES: Método do Ponto Fixo. Localização de zeros de polinómios e aceleração de Aitken SISTEMAS DE EQUAÇÕES LINEARES: Método de Gauss SISTEMAS DE EQUAÇÕES LINEARES: Método de Gauss com escolha de pivot total SISTEMAS DE EQUAÇÕES LINEARES: Método de Gauss com escolha de pivot parcial SISTEMAS DE EQUAÇÕES LINEARES: Métodos de Doolittle e Crout. Factorização LU SISTEMAS DE EQUAÇÕES LINEARES: Factorização LU. Cálculo do determinante SISTEMAS DE EQUAÇÕES LINEARES: Método de Choleski e factorização LDL T SISTEMAS DE EQUAÇÕES LINEARES: Método de Doolittle. Inversa, determinante e número de condição REFERÊNCIAS 119
6
7 TERMINOLOGIA Listamos seguidamente as principais abreviaturas, símbolos e notação matemática usados neste texto. No que respeita a matrizes e vectores, ambos são grafados a negro: os primeiros em maiúsculas e os segundos em minúsculas. Também incluímos uma tabela com as funções elementares, seus significados e respectivas expressões usadas pela maior parte das linguagens de cálculo científico, nomeadamente em MATLAB. Tabela de funções elementares SÍMBOLO SIGNIFICADO EXPRESSÃO exp x e x Exponencial de x exp(x) ln x log e x Logaritmo natural (base e) de x log(x) ou ln(x) cos x Co-seno de x cos(x) cosh x (e x + e x )/ Co-seno hiperbólico de x cosh(x) sin x sen x Seno de x sin(x) sinh x (e x e x )/ Seno hiperbólico de x sinh(x) tan x tg x Tangente de x tan(x) x x 1/ Raiz quadrada de x sqrt(x) x Valor absoluto de x abs(x)
8
9 TÓPICOS: Números Inteiros: Conversão da base b para a base 10; Conversão da base b 1 para a base b. Números Reais: Conversão da base 10 para a base b < 10; Conversão da base b 1 para a base b (b 1 10, b 10 e ambas ); Conversão da base 10 para base b > 10. Sistemas de Ponto Flutuante: Erros de representação, Unidade de arredondamento, Overflow e Underflow. LEITURAS RECOMENDADAS: Capítulo 1 (pp. 1 1) do livro [Pina(1995)].1 NÚMEROS INTEIROS: Conversão da base b para a base 10 Ache a representação decimal dos seguintes números inteiros: a) (101101) ; b) (1) 3 ; c) (47) 8 CONCEITOS TEÓRICOS Números inteiros positivos: Conversão da base b para a base 10 (exp. (1..), p. 4, [Pina(1995)]): (d n d n 1... d 1 d 0 ) b = d n b n + d n 1 b n d 1 b 1 + d 0 b 0 com 0 d i < b 1, i = 0, 1,..., n. Assim, existem (n + 1) dígitos. RESOLUÇÃO a) d 0 (101101) = = = (45) 10 = 45 No MATLAB escrevemos bindec( ), resultando ans = 45. b) (1) 3 = = 5 Para representar os inteiros de 0 a 10 necessitamos de quantos bits? Necessitamos de 4 bits ou 16 configurações, pois 3 < 10 < 4.
10 SEMANA No MATLAB escrevemos basedec( 1,3), resultando ans = 5. c) (47) 8 = = = = 79 No MATLAB escrevemos basedec( 47,8), resultando ans = 79.. NÚMEROS INTEIROS: Conversão da base b 1 para a base b Obtenha a representação octal (base 8) dos números inteiros: a) (101001) ; b) ( ) CONCEITOS TEÓRICOS Números inteiros positivos: Conversão da base 10 para a base b (p. 5, [Pina(1995)]): d n b n + d n 1 b n d 1 b + d 0 b = d n b n 1 + d n 1 b n + + d 1 + d 0 b sendo d 0 o resto da divisão. RESOLUÇÃO a) Apresentamos duas resoluções alternativas: Resolução 1: Converter da base para a base 10 e posteriormente para a base octal, ou seja, (101001) ( ) 10 ( ) 8. ( ) ( ) 10 : Aplicamos a exp. (1..), p. 4, [Pina(1995)], pelo que (101001) = (41) 10 = 41. ( ) 10 ( ) 8 : (101001) = 41 = (51) 8, pois efectuamos as divisões (inteiras) e tomamos os restos na ordem inversa: Resolução : Converter da base para a base n, com n e inteiro, através de agrupamentos de n dígitos. Neste caso n = 3, pois na base 8 temos os dígitos 0, 1,,..., 6, 7, que se representam na base como (000), (001), (010),..., (110), (111), respectivamente. Por outras palavras, necessitamos de 3 bits para representar os algarismos 0 a 7. Esquematicamente temos (101001) ( ) 8.
11 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 3 Assim, ( ) ( ) 8 (5 1) 8, ou seja, (101001) = (51) 8 b) À semelhança do que fizemos na alínea a), obtemos Resolução 1: ( ) ( ) 10 = = ( ) = (107) 8 Resolução : ( ) ( ) 8 (1 0 7) 8, ou seja (101001) = (107) 8.3 NÚMEROS REAIS: Conversão da base 10 para a base b < 10 Determine a representação binária do número real (0.5) 10. CONCEITOS TEÓRICOS Números reais: Conversão da base 10 para a base b (p. 7, [Pina(1995)]): Para converter um real da base 10 para a base b procede-se segundo 4 passos: i) Separar a parte inteira da parte não-inteira; ii) Converter a parte inteira; iii) Converter parte não-inteira, multiplicando sucessivamente por b, usando a componente não-inteira do resultado para continuar e guardando a parte inteira para a representação; iv) Reunir as duas partes. RESOLUÇÃO Aplicando os conceitos teóricos acima, teremos i) Parte inteira: 0; Parte não-inteira:.5 ii) Converter a parte inteira: (0) 10 = (0) iii) Converter parte não-inteira: 0.5 = = 0. Portanto, obtemos (.1) como representação de (0.5) 10 = 1 iv) Reunindo vem (0.5) 10 = (0) + (.1) = (.1) Facilmente de verifica que (0.1) = = 1 = (0.5) 10
12 4 SEMANA.4 NÚMEROS REAIS: Conversão da base b 1 para a base b (b 1 10, b 10 e ambas ) Dado o número real na base octal, determine a sua representação binária com 7 dígitos após a vírgula. CONCEITOS TEÓRICOS Ver pp. 7 8, [Pina(1995)] e resolução do Exercício.3. Números reais: Conversão da base b para a base 10 (exp. (1.3.), p. 7, [Pina(1995)]): (d n d n 1... d 1 d 0.d 1 d... d k ) b =d n b n + d n 1 b n d 1 b 1 + d 0 b 0 +d 1 b 1 + d b + + d k b k, sendo (d n d n 1... d 1 d 0 ) b e (d 1 d... d k ) b os dígitos das parte inteira e não-inteira do número, respectivamente. RESOLUÇÃO Este Exercício pode ser resolvido de duas formas, indicadas de seguida. Resolução 1: Esquematicamente, temos dois passos principais (437.15) 8 ( ) 10 ( ) Conversão da base octal para a base 10: Aplica-se a exp. (1.3.), p. 7, [Pina(1995)], ou seja = = Dado que devemos considerar somente 7 dígitos após a vírgula (437.15) Conversão da base 10 para a base binária: i) Parte inteira: 87; Parte não-inteira: ii) Converter a parte inteira:
13 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL = ( ) iii) Converter a parte não-inteira: = = = = = = = iv) (0.15) 8 = ( ) (437.15) 8 = ( ) Considerando 7 dígitos após a vírgula, o resultado é (437.15) 8 ( ) Resolução : Uma vez que necessitamos de 3 bits para representar os números 0 a 7 (ver Resolução do Exercício.), cada dígito do número (437.15) 8 corresponde a um grupo de 3 dígitos (3 bits) na base. Assim, (437.15) 8 = ( ) 8 ( ) Como são pedidos 7 dígitos após a vírgula, ficamos com (437.15) 8 ( ) Verificação da parte não-inteira: ( ) = = Existe então um erro na representação da parte não-inteira, que deveria ser Isto deve-se a termos truncado após o dígito d 7, quando seriam necessários 9 dígitos.
14 6 SEMANA.5 NÚMEROS REAIS: Conversão da base 10 para base b > 10 Dado o número real na base decimal, achar a sua representação na base hexadecimal. CONCEITOS TEÓRICOS Quando a base é tal que b > 10, há que recorrer a outros símbolos para representar os dígitos 10, 11, 1,... Uma possibilidade é recorrer às letras do alfabeto latino A, B, C,... No caso da base hexadecimal ou base 16, resulta, 0, 1,..., 9, A, B, C, D, E, F, correspondendo as letras aos dígitos A = 10, B = 11, C = 1, D = 13, E = 14, F = 15. Após esta ressalva, a conversão da base 10 para a base b > 10 processa-se segundo os quatro passos referidos nos Conceitos Teóricos do Exercício.3. RESOLUÇÃO Esquematicamente (539.15) 10 ( ) 16 i) Parte inteira: 539; Parte não-inteira:.15 ii) Converter a parte inteira: = (1B) 16 iii) Converter a parte não-inteira: = = (0.15) 10 = (0.) 16 iv) Reunindo a parte inteira à parte não-inteira fica (539.15) 10 = (1B.) 16 obtendo-se uma representação exacta.
15 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 7.6 SISTEMAS DE PONTO FLUTUANTE: Erros de representação, Unidade de arredondamento, Overflow e Underflow Considere os sistemas de ponto flutuante F P (10, 5,, A) e F P (10, 5,, T ). a) Represente o número nesses sistemas. b) Qual o maior número em módulo representável nesses sistemas? c) Qual o menor número em módulo representável nesses sistemas? c) Calcule os erros relativos de representação e compare-os com as respectivas unidades de arredondamento. CONCEITOS TEÓRICOS Um sistema F P (b, p, q) é constituído por todos os números reais x da forma ([Pina(1995)], pp. 9-10) x = ±mb t e ainda x = 0. Portanto, em que b 1 m 1 b p t b q 1 x = ±(.d 1 d d 3... d p )b ±(t q 1...t 1 t 0 ), sendo p um número finito de dígitos para a mantissa e q um número finito de dígitos para o expoente, denominando-se b por base. Salvo indicação em contrário, considera-se que a mantissa é normalizada, i.e., d 1 0, exceptuando a representação do zero. Truncatura (T ): Desprezam-se os dígitos do número real x que não cabem na mantissa, i.e., os dígitos para além dos p primeiros não são incluídos na representação. ([Pina(1995)], p. 10) Arredondamento (A): O número real x é representado pelo número do sistema que lhe está mais próximo. ([Pina(1995)], pp ) Limite de overflow: Maior número em módulo representável nesses sistemas, ou seja, em termos computacionais, maior número que posso guardar em memória. Este número não depende de se fazer arredondamento ou truncatura. Limite de underflow: Menor número em módulo representável nesses sistemas. Este número depende de se considerar a mantissa normalizada ou não. Unidade de arredondamento, u: Majorante do erro relativo na representação de um número num dado sistema F P (b, p, q), tal que ([Pina(1995)], p. 1) u = 1 b1 p em F P (b, p, q, A) b 1 p em F P (b, p, q, T )
16 8 SEMANA RESOLUÇÃO a) Concretizando para o caso em análise ficamos com F P (10, 5, ) : fl(x) = ±mb ±t = ±(.d 1 d d 3 d 4 d 5 )10 ±(t 1t 0 ) com 0 d i 9, para i = 1,, 3, 4, 5. Normalizando o número dado obtemos x = (.3758)10 +3 verificando-se que tem 6 dígitos na mantissa. Nos sistemas de ponto flutuante referidos teremos fl( 37.58) = (.376) em F P (10, 5,, A) fl( 37.58) = (.375) em F P (10, 5,, T ) b) O número limite de overflow é ( ) em F P (10, 5,, A) ( ) em F P (10, 5,, T ) sendo igual para T ou A. c) Para o formato normalizado, o número limite de underflow é ( )10 99 em F P (10, 5,, A) ( )10 99 em F P (10, 5,, T ) sendo igual para T ou A. Se tivermos um formato não normalizado este número é ( ) caso falamos em underflow gradual. Neste d) Atendendo à definição de unidade de arredondamento teremos neste caso u = = ( )10 4 em F P (10, 5,, A) = ( )10 3 em F P (10, 5,, T ) O erro relativo de representação é e = x x x,
17 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 9 onde x = fl(x) é a representação no sistema de ponto flutuante e x é o número real a representar. Assim, os erros relativo neste caso são (0.376)103 ( 37.58) (0.375)103 ( 37.58) = (.61114)10 7 < ( )10 4 em F P (10, 5,, A) = (.4446)10 6 < ( )10 3 em F P (10, 5,, T )
18
19 3 TÓPICOS: Aritmética em Sistemas FP: Cancelamento Subtractivo. Formato Simples IEEE 754: Erros de representação; Erros de representação e Operações 0/0 e 1/0. LEITURAS RECOMENDADAS: Capítulo 1 (pp. 1 7) do livro [Pina(1995)] 3.1 ARITMÉTICA EM SISTEMAS FP: Cancelamento subtractivo Determine no sistema F P (10, 4,, T ) as raízes da equação x x + (0.600)10 4 = 0 considerando que não existem dígitos de guarda no processamento das operações em ponto flutuante. a) Usando a fórmula resolvente. Indique os erros absolutos E x1 e E x. b) Justifique a origem do erro relativo obtido na menor raiz (em módulo) e sugira uma forma de melhoria numérica para a resolução deste problema. CONCEITOS TEÓRICOS As operações aritméticas no sistema de ponto flutuante FP desenvolvem-se de acordo com os seguintes passos (DAONA): 1. Decomposição dos operandos nas respectivas mantissas e expoentes: (mb t );. Alinhamento das mantissas, no caso de soma ou subtracção. Por exemplo, para t 1 > t m 1 b t 1 + m b t = (m 1 + m b t t 1 )b t 1 (.1) (.5)10 = [(.1) + (.5)10 +1 ]10 1 ; 3. Operação com mantissas e expoentes; 4. Normalização da mantissa. Por exemplo, (1.1)10 1 = (0.11)10 0 ; 5. Arredondamento ou truncatura na mantissa. O processador pode ter mais dígitos que a memória, designando-se os dígitos adicionais por dígitos de guarda. Em geral, as operações em FP não respeitam as propriedades comutativa, distributiva ou associativa.
20 1 SEMANA 3 Cancelamento subtractivo: Verifica-se quando se subtraem números muito próximos no sistema de ponto flutuante utilizado. RESOLUÇÃO a) Sabemos que ax + bx + c = 0 x 1, = b ± b 4ac a e para a = 1, é matematicamente equivalente utilizar x + bx + c = 0 x 1, = b ± b 4c. A sequência de realização deste cálculo em ponto flutuante é: fl(b) = (.7341)10 0 fl(b ) = ( ) ( ) = ( )10 Truncar 0 = (.5389)10 0 fl(c) = (.6000)10 4 fl(4) = (.4000)10 +1 fl() = (.000)10 +1 fl(4c) = ( ) ( ) = (.400)10 3 fl(b 4c) = (.5389)10 0 (.400)10 3 = ( em evidencia e truncar 400)10 0 = (.5387)10 0 ( ) fl b 4c = [(.5387)10 0 ] 1/ Truncar = ( )10 0 = (.7339)10 0 No cálculo de b 4c assumimos que x = x 1/ é uma função implementada, não sendo necessário decompô-la em funções elementares. Para a primeira raiz: fl ( fl b ) b 4c = (.7341)10 0 (.7339)10 0 ( Normalizar e truncar = (1.4680) 10 0 = (.1468)10 1 b ) b 4c = (.1468)101 (.000)10 1 = (.7340)10 0 = fl(x 1 )
21 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 13 Para a segunda raiz: fl ( fl b + ) b 4c = (.7341) (.7339)10 0 ( Normalizar = (0.000) 10 0 = (.000)10 3 b + ) b Normalizar 4c = (.000)10 3 (.000)10 1 = (1.) 10 4 = (.1000)10 3 = fl(x ) Para calcular os erros cometidos em aritmética FP é necessário conhecermos os valores exactos das raízes, com 5 dígitos na mantissa: x 1, = b ± b 4c = ± x 1 = (0.7340)10 0 x = (0.8174)10 4 pelo que os erros absolutos e relativos efectivamente cometidos são: E x1 = (0.7340)10 0 [ (0.7340)10 0 ] = (0.0000)10 4 E x = (0.1000)10 3 [ (0.8174)10 4 ] = (0.1858)10 4, e x1 = E x1 x 1 e x = E x x = (0.000)10 4 (0.7340)10 0 = (0.747)10 4 = (0.1858)10 4 (0.8174)10 4 = (0.336)100.3%. Apesar dos erros absolutos serem praticamente iguais, verificamos que o mesmo não acontece com o erro relativo. A segunda raiz apresenta um erro relativo superior em quatro ordens de grandeza ao correspondente erro da primeira raiz. b) Onde ocorreu o erro? Não aplicamos nós o mesmo processo a x 1 e a x!? Então, o que terá sucedido? Sabemos que entre as operações +,,,, em FP existe um cálculo perigoso que é a subtracção de valores muito próximos, já que os primeiros dígitos da mantissa se anulam e após a normalização surgem zeros à direita que, possivelmente, o não seriam caso se utilizasse um maior número de dígitos. De facto, há uma subtracção de valores muito próximos quando calculamos x em F P (10, 4,, T ), ( fl b + ) b 4c = (.7341) (.7339)10 0 = (0.000)10 0 = (.000)10 3
22 14 SEMANA 3 Mas em aritmética com um maior número de dígitos na mantissa teríamos ( fl b + ) b 4c = = ( )10 3 Dividindo este número por obteríamos um valor mais próximo do valor exacto. Portanto, a origem do problema no cálculo de x foi o cancelamento subtractivo, que se verifica quando subtraímos números muito próximos em FP. Como contornar o problema? Sabendo nós que o problema é a subtracção, o que há a fazer é evitá-la. Existem duas alternativas: Alternativa 1: Manipulando simbolicamente a equação de segundo grau genérica, obtemos ax + bx + c = a(x x 1 )(x x ) = a(x x 1 x x x + x 1 x ) = ax a(x 1 + x )x + ax 1 x, e concluímos que c = ax 1 x x = c ax 1. Substituindo pelos valores conhecidos, c, a e x 1, no sistema FP dado, obtemos ( ) c fl = (.6000)10 4 x 1 (.7340)10 0 = ( )10 Truncar 4 = (.8174)10 4 = x. Alternativa : Neste caso manipulamos a fórmula resolvente, tal que x = b + b 4c = c b b 4c = c. x 1 = b + b 4c b b 4c b b 4c = b (b 4c) ( b b 4c) Notar que obtemos a mesma expressão da alternativa 1, pois a = FORMATO SIMPLES IEEE 754: Erros de representação a) Represente o número em formato simples IEEE 754 com truncatura. b) Determine o erro de representação cometido na alínea anterior. Se preferir indique um majorante adequado do erro cometido. c) Será possível representar 10 3 e no formato simples? Justifique. CONCEITOS TEÓRICOS Na norma IEEE 754 a mantissa é normalizada, ou seja, o primeiro bit é sempre 1 e diz-se implícito. O expoente é enviesado, isto é, é dado por e 17.
23 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 15 O maior expoente é e o menor , estando os expoentes e reservados para: Número desnormalizado, prevendo underflow gradual. x = ( 1) s (0.d 1... d 3 ) e 16 Limite de underflow gradual : 3 16 = 149 = Ocorrência de overflow. Neste caso podem surgir duas mensagens: Se m = 0 NaN Se m 0 +INF RESOLUÇÃO a) Esquematicamente (51.15) 10 F P (, 4, 8, T ) pois segundo a norma IEEE 754, no formato simples, b =, p = 4 e q = 8. Representar a parte inteira da mantissa: = ( ) Representar a parte fraccionária da mantissa: 0.15 = = = = = = = 1.0 1
24 16 SEMANA = ( ) Representar toda a mantissa: = ( ) A norma IEEE 754 requer um bit implícito de valor 1 e o expoente enviesado: x = ( 1) s e 17 (1.d 1 d d 3... d 3 ) Assim, = ( = ( ) 9 Truncar ) 9 Representar o expoente (enviesado): e 17 = 9 e = = ( ) Temos então a seguinte alocação dos 3 bits, no formato simples IEEE 754: Sinal Expoente Mantissa 1 bit 8 bits 3 bits b) Erro de representação cometido: O valor exacto é (51.15) = ( ) 9 Na norma IEEE 754 teremos o valor (51.15) IEEE 754 = ( ) 9 =
25 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 17 e o erro em valor absoluto é E = = (3.7)10 5 ou, em alternativa, podemos realizar o cálculo estimando o valor truncado E = ( ) 9 = (3.7)10 5 O majorante do erro cometido em truncatura é E maj = b t p = 10 4 = 14 = (6.10)10 5 c) Para responder à pergunta colocada temos que determinar os limites de overflow e underflow: Limite de overflow : ( ) ( ) 17 = ( ) (54 17) = ( 3 ) 17 = (3.4) Limite de underflow : ( ) ( ) 17 = ( ) (1 17) = 0 16 = (1.)10 38 Portanto, 10 3 tem representação aproximada no formato simples IEEE 754, dado que < 10 3 < (3.4) não tem representação aproximada no formato simples IEEE 754, originando overflow, pois > (3.4) FORMATO SIMPLES IEEE 754: Erros de representação e Operações 0/0 e 1/0 a) Estime o erro cometido na representação do número (0.1) 10 no sistema de ponto flutuante F P (, 4, 8, T ). b) Determine o número limite de overflow e a unidade de arredondamento do sistema de ponto flutuante em formato simples na norma IEEE 754. Indique a mensagem gerada em aritmética IEEE 754 pelas operações 0/0 e 1/0. RESOLUÇÃO O expoente t refere-se à representação em FP. Não esquecer que o formato IEEE 754 considerado tem um bit implícito, o que não acontece em FP. Por essa razão o expoente é 10 e não 9.
26 18 SEMANA 3 Representação de (0.1) 10 em F P (, 4, 8, T ): 0.1 = = = = = = Detectamos a presença de um padrão repetitivo, ou seja, 0.1 = ( ) = ( ) 3 e pelo facto de truncar no dígito 4 obtemos um erro de representação de: E = fl(x) x b t p = 3 4 = (7.4506)10 9 b) Limite de overflow : ( ) ( ) = ( u) = (3.4083) Unidade de arredondamento para truncatura : u = 1 4 = (1.1909)10 7 A 0/0 corresponde a mensagem NaN (Not a Number) e a 1/0 corresponde a mensagem INF. A resposta na janela de comando do MATLAB para cada um dos casos é:» 0/0 Warning: Divide by zero. (Type "warning off MATLAB:divideByZero" to suppress this warning.) ans = NaN» 1/0 Warning: Divide by zero. (Type "warning off MATLAB:divideByZero" to suppress this warning.) ans = Inf
27 4 TÓPICOS: Condicionamento de uma Função. Condicionamento de uma Função e Cancelamento Subtractivo. Interpolação Polinomial: Formas de Lagrange e Newton; Algoritmo de Horner. LEITURAS RECOMENDADAS: Capítulo 1 (pp. 3 7) e Capítulo (pp. 35 5) do livro [Pina(1995)] 4.1 CONDICIONAMENTO DE UMA FUNÇÃO Estime o número de condição da função f (x) = tg(x ) na origem. A função é bem ou mal condicionada nesse ponto? Justifique. CONCEITOS TEÓRICOS Número de condição da função f (x): Para analisar em aritmética de Ponto Flutuante a influência do erro de representação do argumento x no cálculo de uma dada função f (x), a Análise de Erros Directa pode não ser a mais adequada. A alternativa é uma Análise de Erros Indirecta, a qual fornece uma indicação do factor de amplificação dos erros relativos baseada no número de condição de uma função num dado ponto. Considerando que x sofre um erro de representação, o argumento utilizado no cálculo será x e o erro de representação (erro absoluto) será E = x x. Do teorema do valor médio, e dado que x e x podem considerar-se suficientemente próximos e f suficientemente regular, obtém-se a seguinte relação: f ( x) f (x) = f (ξ) ( x x) f ( x) f (x) f (x) = f (ξ) ( x x) f (x) x x ξ {[x min x max ] : x min = min ( x, x) e x max = max ( x, x)} f ( x) f (x) f (x) f (x) x f (x) x x x ou, por outras palavras, e f condf (x) e x,
28 0 SEMANA 4 considerando-se geralmente no lugar de e x o valor da unidade de arredondamento u. Diz-se que uma função é bem condicionada se condf (x) for pequeno e diz-se mal condicionada nos restantes casos. Para exemplificar melhor a distinção, recorre-se à seguinte comparação baseada num cálculo em F P (, 4, 8, A) onde a unidade de arredondamento é: u = 1 b1 p = (0.6) Com este valor de erro relativo de representação, obtém-se no caso de condf (x) = 10 4 um e f = 10 3 ou seja 0.1% (f(x) é bem condicionada) e no caso de condf (x) = 10 6 um e f = 10 1 ou seja 10% (f(x) é mal condicionada). Portanto, uma função ser bem condicionada ou mal condicionada é uma característica relativa. RESOLUÇÃO condf (x) = f (x) x f (x) = x ( 1 + tg (x ) ) x tg(x ) Lembrando-nos que na vizinhança de x = 0 se tem tg(x ) (x) facilmente se conclui que condf(x = 0) =. Uma via mais trabalhosa é fazer o que se segue! Em x = 0, teremos 0 ( 1 + tg (0 ) ) condf (x = 0) = tg(0 ) = 0 0 A indeterminação pode ser levantada aplicando sucessivamente a Regra de L Hôpital- Cauchy: condf (x = 0) = lim x 0 = lim x 0 = 4 = x + x tg (x ) tg(x ) 4x + 4xtg (x ) + 8x 3 tg(x ) ( 1 + tg (x ) ) x ( 1 + tg (x ) ) A função é bem condicionada em torno da origem, pois os erros são apenas ampliados para o dobro. Por exemplo, em precisão simples onde o majorante do erro relativo de representação de x é de aproximadamente u = (0.6)10 7 o erro relativo no cálculo da função em F P será cerca de (1.)10 7, ou seja, aproximadamente %. 4. CONDICIONAMENTO DE UMA FUNÇÃO E CANCELAMENTO SUBTRACTIVO a) Mostre que f(x) = sin(x) x é bem condicionada na vizinhança da origem.
29 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 1 b) Calcule o valor de f(10 ) em F P (10, 3,, T ). c) Determine os erros absolutos e relativos cometidos. d) Em face do resultado da alínea c) proponha uma forma alternativa para o cálculo de f(10 ). RESOLUÇÃO a) A aplicação directa da expressão origina uma indeterminação que se pode levantar aplicando sucessivamente a regra de L Hôpital-Cauchy, em três aplicações. Uma alternativa é utilizar a expansão em série ([ cond (f) = f (x) x f (x) = (cos (x) 1) x sin (x) x = 1 x! + O ( x 4)] ) 1 x [ x x 3 3! + O (x 5 ) ] x x 3! + O ( x 5) 1 = x 3 3! + O (x 5 ) = + O ( x ) O (x ) 1 = 3 6 A função é bem condicionada em torno da origem pois os erros são apenas ampliados para o triplo. Por exemplo, em precisão simples onde o majorante do erro relativo de representação de x é de u = (0.6)10 7 o erro relativo no cálculo da função em FP será cerca de (1.8)10 7, ou seja, aproximadamente %. b) Para calcular f(x) = sin(x) x no ponto x = 10 em F P (10, 3,, T ) tem-se: fl(x) = fl(10 ) = +(0.100)10 01 Assumindo que sin(x) esteja implementada computacionalmente como função: fl(sin(x)) = sin( ) = Truncar = +(0.999)10 0 fl(sin(x) x) = = ( ) Alinhar = = (0.100)10 03 Como iremos ver de seguida, a truncatura para um número reduzido de dígitos, seguidamente agravada por um alinhamento das mantissas, é potencialmente perigosa para a precisão dos resultados, ocorrendo cancelamento subtractivo. c) O valor exacto, na precisão da calculadora, é f(10 ) = sin(10 0 ) 10 0 = ( )10 6 pelo que E = ( ) = Não esquecer de efectuar os cálculos em radianos e não em graus ou grados!
30 SEMANA 4 e = E f(10 ) = /( ) = % Obtemos, assim, um valor muito elevado. Observa-se que f ser bem condicionada na vizinhança deste ponto não significa imune ao cancelamento subtractivo, realçando-se neste exemplo que se tratam de dois conceitos diferentes. d) Para evitar o cancelamento subtractivo quando x é pequeno, pode utilizarse neste caso a expansão em série da função seno: sin (x) x = [x x3 3! + x5 5! O ( x 7) ] x x3 6 fl(sin(x) x) = fl( x 3 /6) = ( )/( ) = obtendo-se a máxima precisão em F P (10, 3,, T ). No caso de f(x) = ln(1+x) com x < u, para evitar erros de FP usa-se o primeiro termo da expansão ln(1 + x) = x x / + x 3 /3 x 4 / Em MATLAB temos os logaritmos natural, log, de base 10, log10 e de base, log, enquanto u é obtido por eps. 4.3 INTERPOLAÇÃO POLINOMIAL: Formas de Lagrange e Newton Determine o polinómio interpolador dos valores (0, 1); (1, 3) e (, ). a) Na forma de Lagrange. b) Na forma de Newton com centros nos nós. RESOLUÇÃO a) Na forma de Lagrange este polinómio obtém-se como se segue: n é o número de pontos, ou nós, menos 1, ou seja o grau do polinómio (desde que os pontos (x k, y k ) dados não sejam colineares). p n (x) = n L k (x) y k com L k = k=0 n i=0 i k x x i x k x i L 0 = x x 1 x 0 x 1 x x x 0 x = ( x 1 1 L 1 = x x 0 x 1 x 0 x x x 1 x = x (x ) L = x x 0 x x 1 = x (x 1) x x 0 x x 1 ) ( ) x
31 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 3 Obtemos: p (x) = L 0 y 0 + L 1 y 1 + L y p (x) = (x 1) (x ) 3x (x ) + x (x 1) Podemos verificar rapidamente que p (0) = 1 sendo L 1 = L = 0; p (1) = 3 com L 0 = L = 0 e p () = com L 0 = L 1 = 0. Tal é ilustrado pela representação gráfica dos polinómios na Figura p(x) L 0 (x) L 1 (x) L (x) Figura 4.3.1: Polinómio interpolador e polinómios de Lagrange b) Na forma de Newton com centros nos nós o polinómio é obtido por: p n (x) = y [x 0 ] + y [x 0, x 1 ] W 0 + y [x 0, x 1, x ] W y [x 0, x 1,..., x n ] W n 1 com y [x k ] = y k e y [x i, x i+1,..., x k 1, x k ] = y [x i+1,..., x k ] y [x i,..., x k 1 ] x k x i onde as diferenças divididas se obtêm como indicado na tabela seguinte: x y[ ] y[, ] y[,, ] / 1 e W i = (x x 0 )... (x x i 1 ) são os polinómios nodais.
32 4 SEMANA 4 O polinómio que se obtém na forma de Newton com centros nos nós é p (x) = 1 + x 3 x(x 1) Podemos verificar rapidamente que p (0) = 1 sendo W 0 = W 1 = 0, p (1) = 3 com W 1 = 0 e p () = =. Na Figura 4.3. observa-se a representação de p(x) e dos polinómios nodais W i. 4 3 p(x) x x(x 1) Figura 4.3.: Polinómio interpolador e respectivas parcelas As diferentes representações polinomiais obtidas nas alíneas a) e b) são exactamente o mesmo polinómio interpolador, pois este é único (ver Teorema... da Unicidade, na p. 44 em [Pina(1995)]). 4.4 INTERPOLAÇÃO POLINOMIAL: Algoritmo de Horner Determine o polinómio interpolador dos valores (0, -1); (1, 1); (, 4) e (3, ). a) Na forma de Newton com centros nos nós. b) Na forma de Lagrange. c) Calcule p(4) pelo algoritmo de Horner. ALGORITMOS Cálculo do valor do polinómio num dado ponto x através de 3 algoritmos distintos Algoritmo 1 - Cálculo do valor de polinómios num dado ponto x: Ler/Introduzir valor de n, a 0, a 1,..., a n Ler/Introduzir valor de x Inicializar p = a 0 Ciclo de i = 1 até n p = p + a i x i (1 flop soma + 1 flop produto + (i 1) flops potência) Repetir ciclo Escrever p Logo o número de flops é ( (n + )) = n[(n + ) + ]/ = n / + n.
33 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 5 Algoritmo - dado ponto x: Técnica de Horner para cálculo do valor de um polinómio num Ler/Introduzir valor de n, a 0, a 1,..., a n Ler/Introduzir valor de x Inicializar p = a n Ciclo de i = n - 1 até 0 p = a i + p x (1 flop soma + 1 flop produto) Repetir ciclo Escrever p Logo o número de flops é [(n 1) + 1] = n, o que torna o algoritmo 1 «impróprio» em termos de métodos computacionais, porque sendo o número de operações aritméticas maior, considera-se também menos preciso. Algoritmo 3 - Algoritmo de Horner para polinómios na forma de Newton com centros nos nós: Ler/Introduzir valor de n, a 0, a 1,..., a n, c 1,..., c n Ler/Introduzir valor de x Inicializar p = a n Ciclo de i = n - 1 até 0 p = a i + p (x - c i+1 ) ( flops soma + 1 flop produto) Repetir ciclo Escrever p Logo o número de flops é 3[(n 1) + 1] = 3n. RESOLUÇÃO a) O polinómio interpolador na forma de Newton determina-se recorrendo à tabela de diferenças divididas x y[ ] y[, ] y[,, ] y[,,, ] / / 3 p 3 (x) = 1 + x + 1 x(x 1) x(x 1)(x ) b) A expressão para determinar o polinómio interpolador na forma de Lagrange é p n (x) = n L k (x) y k com L k = k=0 n i=0 i k x x i x k x i
34 6 SEMANA 4 pelo que L 0 = ( x 1 1 ) ( x ) ( ) x 3 3 L 1 = x (x )(x 3) L = x (x 1) (x 3) L 3 = x (x 1) (x ) 6 obtendo-se p 3 (x) = (x 1)(x )(x 3) 6 + x (x )(x 3) x(x 1)(x 3) + x (x 1)(x ) 3 c) Aplica-se aqui o Algoritmo 3 ao polinómio da alínea a) p 3 (x) = 1 + x + 1 x (x 1) x (x 1) (x ) Logo n = 3 e x = 4. Precisamos também de C 1 = 0, C = 1 e C 3 =. Os centros contam-se de 1 a n, não existindo C 0. Seguindo o algoritmo, obtém-se sucessivamente: p = a 3 = 1 p = a + p(x C 3 ) = (1/) + ( 1)(4 ) = (3/) p = a 1 + p(x C ) = (3/)(4 1) = (5/) p = a 0 + p(x C 1 ) = 1 (5/)(4 0) = 11 Pelo que, o valor de p em x = 4 é p(4) = 11.
35 5 TÓPICOS: Interpolação Polinomial: Máximos e mínimos locais, Pontos de inflexão; Interpolação de Hermite, Nós duplos e triplos e diferença dividida confluente. LEITURAS RECOMENDADAS: Capítulo (pp excepto secção.5 e pp ) do livro [Pina(1995)] 5.1 INTERPOLAÇÃO POLINOMIAL: Máximos e mínimos locais, Pontos de inflexão Considere a tabela de valores de uma função y = f(x): x y a) Determine as aproximações no intervalo [0, 4] para a localização de um máximo local, um mínimo local e um ponto de inflexão da função. b) Obtenha uma interpolante de f(x) na forma de Newton com centros em x 0 = 1/, x 1 = 1 e x = 3/. c) Se a tabela tivesse um maior número de pontos, por exemplo superior a 5, o método da alínea a) seria recomendável? Justifique. RESOLUÇÃO a) As aproximações são aqui obtidas por interpolação polinomial na forma de Newton, com centros nos nós. x y[ ] y[, ] y[,, ] y[,,, ] O polinómio obtido é p 3 (x) = 1 + 6(x 0) 1(x 0)(x 1) + 8(x 0)(x 1)(x 3) = 1 + 6x 44x + 8x 3
36 8 SEMANA 5 Há que ter cuidado em colocar como coeficientes do polinómio os elementos da primeira diagonal (a negro), na ordem indicada. Por exemplo, se escolhêssemos os elementos da diagonal inferior 35, 50, 0, 8 obteríamos o polinómio (x 4) + 0(x 3)(x 4) + 8(x 3)(x 4)(x 1) que é uma interpolante correcta (Porquê? Que centros foram agora utilizados?). Deste modo, se pretendermos que os centros sejam 1, 3 e 4, deixando de fora o 0, teremos de construir uma nova tabela de diferenças divididas, tal que x y[ ] y[, ] y[,, ] y[,,, ] obtendo-se o polinómio: p 3 (x) = 5 10(x 1)+0(x 1)(x 3)+8(x 1)(x 3)(x 4), que após expansão na forma de potências simples fica p 3 (x) = 1 + 6x 44x + 8x 3. Como esperávamos, o polinómio é o mesmo. Podemos verificar rapidamente que as condições de interpolação são verificadas para o polinómio obtido, pois, por exemplo, p 3 (0) = 1 e p 3 (1) = = Figura 5.1.1: Polinómio interpolador As primeira e segunda derivadas do polinómio interpolador são: p 3(x) = 6 88x + 4x, p 3(x) = x
37 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 9 Donde se conclui que os pontos de estacionaridade são: p 3(x) = 6 88x + 4x = 0 x = 88 ± x 1 = x =.715 O ponto de inflexão é: p 3(x) = x = 0 x = Como p 3 é de grau 3 e p 3 é negativa para x < e positiva para x > então corresponde a um máximo local e.715 a um mínimo local. b) Na alínea a) obteve-se o polinómio na forma de Newton com centros nos nós da tabela. Para considerar a sua representação nos nós 1/, 1 e 3/ há que proceder a uma mudança de nós. Alternativa 1 - Aplicar um algoritmo de mudança de nós. Algoritmo de Horner para mudança de centros de um polinómio (Algoritmo.., p. 4 de [Pina(1995)]): Introduzir o centro c e retirar o centro c n Ler/Introduzir valor de n, a 0, a 1,..., a n, c 1,..., c n Inicializar a n = a n Ciclo de i = n - 1 até 0 a i = a i + a i+1 (c - c i+1 ) ( flops soma + 1 flop produto) Repetir ciclo Escrever a Utilize-se a representação com centros na origem: p 3 (x) = 1 + 6x 44x + 8x 3 e introduzam-se sucessivamente os centros pretendidos. Tal é feito introduzindo estes centros por ordem inversa à definida. Introdução do centro c = 3/ (n = 3) a 3 = 8 a 3 = 8 a = 44 c 3 = 0 c = 3/ (3/ 0) a = 3 a 1 = +6 c = 0 c = 3/ +6 3 (3/ 0) a 1 = 14 a 0 = 1 c 1 = 0 c = 3/ (3/ 0) a 0 = 0 p 3 (x) = (x 3/) 3 (x 3/) (x 0) + 8 (x 3/) (x 0) O polinómio inicial deve estar na forma de potências simples.
38 30 SEMANA 5 Introdução do centro c = 1 (n = 3) a 3 = 8 a 3 = 8 a = 3 c 3 = 0 c = (1 0) a = 4 a 1 = +14 c = 0 c = (1 0) a 1 = 10 a 0 = 0 c 1 = 3/ c = (1 3/) a 0 = 5 p 3 (x) = 5 10(x 1) 4(x 1)(x 3/) + 8(x 1)(x 3/)(x 0) Introdução do centro c = 1/ (n = 3) a 3 = 8 a 3 = 8 a = 4 c 3 = 0 c = 1/ (1/ 0) a = 0 a 1 = 10 c = 3/ c = 1/ 10 0 (1/ 3/) a 1 = 10 a 0 = 5 c 1 = 1 c = 1/ (1/ 1) a 0 = 0 p 3 (x) = (x 1/) 0(x 1/)(x 1) + 8(x 1/)(x 1)(x 3/) Alternativa - Como a representação polinomial é única, podemos fazer: p 3 (x) = 1 + 6x 44x + 8x 3 p 3 (0.5) = = = 0 p 3 (1.0) = = 5 p 3 (1.5) = = 0 Utilizamos, então, estes pontos para construir a nova representação, usando como ponto auxiliar x = 3: x y[ ] y[, ] y[,, ] y[,,, ] Obtemos exactamente a representação esperada devido à unicidade acima referida: p 3 (x) = (x 1/) 0(x 1/)(x 1) + 8(x 1/)(x 1)(x 3/) O mesmo sucede com o ponto auxiliar x = 4, pois, neste caso, a tabela de diferenças divididas é x y[ ] y[, ] y[,, ] y[,,, ] ou o ponto auxiliar x = 0:
39 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 31 x y[ ] y[, ] y[,, ] y[,,, ] d) Se a tabela tivesse um maior número de pontos, por exemplo superior a 5, o método da alínea a) não seria recomendável porque: - obteríamos uma equação polinomial de elevado grau cuja derivada seria morosa de resolver. - as oscilações são maiores em polinómios interpoladores de elevado grau. Nesse caso seria preferível utilizar um método de diferenças finitas apropriado seguido de interpolação. 5. INTERPOLAÇÃO POLINOMIAL: Interpolação de Hermite, Nós duplos e diferença dividida confluente a) Construa o polinómio de menor grau que interpola a função f(x) = ln(1 + x) e a sua primeira derivada f (x) nos extremos do intervalo [0, 1]. b) Majore o erro cometido. RESOLUÇÃO a) Interpolar com valores de f e f em cada nó corresponde à interpolação de Hermite, a qual se obtém aplicando as expressões do Exemplo.6.1, pp de [Pina(1995)], [U 0, U 1, V 0 e V 1 ] com f(0) = 0, f(1) = ln(), f (0) = 1 e f (1) = 1/. Contudo, podemos também utilizar a tabela de diferenças divididas com a técnica de nós múltiplos. De facto, da definição de diferença dividida podemos constatar que f [x 0, x 1,..., x k ] = 1 k! f (k) (ξ) f [x 0, x 1 ] = f (x 0) f (x 1 ), (x 0 x 1 ) obtendo-se a diferença dividida confluente lim f [x 0, x 1 ] = f [x 0, x 0 ] = f (x 0 ). x 1 x 0 De igual modo, obtemos f [x 0, x 0, x 0 ] = f (x 0 ).! Podemos então construir a tabela seguinte:
40 3 SEMANA 5 x y[ ] y[, ] y[,, ] y[,,, ] ln() 1 ln() 3/ ln() 1 ln() 1/ ln() 1/ 1 ln() [ ] 3 p 3 (x) = x + [ln() 1] x + ln() x (x 1) (a) Polinómio (b) Primeira derivada Figura 5..1: Polinómio interpolador e respectiva primeira derivada b) Análise de Erros de Interpolação - Quanto é que no máximo um polinómio interpolador se afasta da respectiva função. Pelo Teorema.4.1, p. 55, [Pina(1995)], sabemos que e n (x) f(x) p n (x) = 1 (n + 1)! f (n+1) (ξ) W n (x) Com base neste Teorema obtemos o majorante do erro dado por (.4.3): e n 1 (n + 1)! f (n+1) W n A estimativa do erro (.4.4) e n 1 4 (n + 1) f (n+1) h n+1 1 = 4 (3 + 1) 6 1 = 6 16 = 3 8 = , não deve ser utilizada quando se pede um majorante, porque, tratando-se de uma interpolação da função e da derivada, i.e., uma interpolação de Hermite, considera-se o número de pontos apenas, logo n = 1, e o grau do polinómio é n + 1, podendo mostrar-se que o erro é dado, neste caso, por (p. 73, [Pina(1995)]):
41 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 33 e n (x) = (W n(x)) (n + )! f (n+) (ξ) max W n (x) [x min,x max ] f (n+). (n + )! pois Concretizando para o caso presente, obtemos e (x) = W 1 max [(x 0) (x 1) ] (x) [ ( + )! f (+) x [0,1] (ξ) 6 (1 + x) 4] 4 = = 1 64 = , f(x) = ln(1 + x) f (x) = (1 + x) 1.. f (iv) = 6(1 + x) 4 sendo f (iv) monótona decrescente em [ 1, + ] e, logo, no intervalo [0, 1] tem máximo em x = INTERPOLAÇÃO POLINOMIAL: Interpolação de Hermite, Nós triplos e diferença dividida confluente Construa o polinómio de menor grau que satisfaz as seguintes condições de interpolação: p(1) =, p (1) = 0, p (1) =, p() = e p(3) = 3. RESOLUÇÃO a) Tendo por base a definição de diferença dividida: f [x 0, x 1,..., x k ] = 1 k! f (k) (ξ), verificamos que f [x 0, x 0, x 0 ] = f (x 0 ).! Utilizando a tabela de diferenças finitas com a técnica de nós múltiplos (neste caso, nó triplo):
42 34 SEMANA 5 x y[ ] y[, ] y[,, ] y[,,, ] y[,,,, ] /8 0 1/4 1/ obtemos a representação p 4 (x) = + (x 1) (x 1) (x 1)3 (x ) Como suplemento à resolução do problema, mostramos o gráfico do polinómio e as suas primeira e segunda derivadas, obtidas analiticamente (Figuras e 5.3. ). Observamos que as condições de interpolação são respeitadas Figura 5.3.1: Polinómio interpolador (a) Primeira derivada (b) Segunda derivada Figura 5.3.: Derivadas analíticas do polinómio interpolador
43 6 TÓPICOS: Interpolação Polinomial: Spline quadrático; Spline cúbico; Erros em splines cúbicos. LEITURAS RECOMENDADAS: Capítulo (pp ) do livro [Pina(1995)] 6.1 INTERPOLAÇÃO POLINOMIAL: Spline quadrático Construa o spline quadrático para f(x) = sin(π/ x) em [0, 1] com malha uniforme de 4 nós. Determine uma aproximação para f (0.5) e f (0.5). Obtenha os respectivos erros absoluto e relativo. CONCEITOS TEÓRICOS Os splines correspondem a aproximações de funções por troços. No caso de um spline quadrático esta aproximação é obtida entre cada dois pontos consecutivos através da expressão para cada subintervalo ou, mais prosaicamente, troço (Exp. (.7.3), p. 80, [Pina(1995)]): S i (x) = y i 1 + m i 1 (x x i 1 ) + M i (x x i 1) x [x i 1, x i ], i = 1,,..., n M i = m i m i 1 h i h i = x i x i 1 m i = ( yi 1 y i h i ) m i 1 RESOLUÇÃO Construção do spline: Neste caso, f é contínua e continuamente diferenciável. Uma malha uniforme, isto é, nós igualmente espaçados, com quatro pontos no intervalo [0, 1] terá os nós 0, 1/3, /3 e 1. Para uma definição mais rigorosa de splines ver p. 77 de [Pina(1995)].
44 36 SEMANA 6 Podemos calcular os momentos m i se conhecermos o valor de um deles. Em geral m 0 define-se como m 0 = f (x 0 ). Neste problema temos m 0 = f (x 0 ) = π/ cos(π/ x 0 ) = π/ = Obtemos os restantes m i aplicando a fórmula recorrente m i = ( yi 1 y i h i ) m i 1. i x i 1 y i 1 x i y i m i 1 m i M i Então, ficamos com o spline: x [0, 1/3] : S 1 = (x 0) (x 0) = x 0.14x ( x [1/3, /3] : S = x 1 ) ( = x 1 ) ( x 1 ) 3 ( x 1 ) 3 ( x [/3, 1] : S 3 = x ) ( = x ) ( x ) 3 ( x ) 3 A Figura mostra graficamente o spline Figura 6.1.1: Spline constituído por três troços
45 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 37 Determinação de uma aproximação para f (x): E (0.5) = f (0.5) S (0.5) = f (0.5) S (0.5) = π/ cos(π/ 1/) = E (0.5) = f (0.5) S (0.5) = f (0.5) S (0.5) = (π/) sin(π/ 1/) = e (0.5) = E (0.5)/f (0.5) = /(π/ cos(π/ 1/)) = , ou seja, 1.14%. e (0.5) = E (0.5)/f (0.5) = 0.408/( (π/) sin(π/ 1/)) = , ou seja, 13.9%. f(x) e S(x) são praticamente coincidentes. Justifica-se um erro maior em S (0.5) do que em S (0.5), porque nos splines quadráticos S (x) é linear e S (x) é constante por troços (Ver Figura 6.1.) (a) Primeira derivada (b) Segunda derivada Figura 6.1.: Derivadas dos três troços do spline 6. INTERPOLAÇÃO POLINOMIAL: Spline cúbico Construir o spline cúbico que interpole os pontos: (0, 0); (0.5, 0.065); (1, 1); (1.5, 5.065) e (, 16). CONCEITOS TEÓRICOS Os splines correspondem a aproximações de funções por troços. No caso de um spline cúbico esta aproximação é obtida entre cada dois pontos consecutivos através da expressão para cada subintervalo ou, mais prosaicamente, troço (Exp. (.7.10), Para uma definição mais rigorosa de splines ver p. 77 de [Pina(1995)].
46 38 SEMANA 6 p. 8, [Pina(1995)]): x [x i 1, x i ], i = 1,,..., n S i (x) = M i 1 (x i x) 3 6h i + M i (x x i 1 ) 3 6h i + ( y i 1 M i 1 h i 6 ) xi x h i + ( y i M i h i 6 ) x xi 1 h i h i = x i x i 1 M i = S i (x i) = S (x i ) Os M i, designados momentos, são dados pela exp. (.7.13), p. 8 de [Pina(1995)] obtida impondo S (x i ) = S (x i +), isto é, impondo continuidade da primeira derivada nos nós: h i 6 M i 1 + h i + h i+1 M i + h i M i+1 = y i+1 y i y i y i 1, h i+1 h i com i = 1,,..., n 1 Obtemos então n 1 equações com n + 1 incógnitas M i, i. e., M 0,..., M n, pelo que são necessárias duas condições suplementares. Há várias possibilidades, embora as três a seguir descritas sejam as mais usadas: 1) Spline completo: S 1(x 0 ) = y 0, S n(x n ) = y n. ) Spline natural: S 1 (x 0 ) = M 0 = 0, S n(x n ) = M n = 0. Este tipo de spline é indicado quando não conhecemos as derivadas y 0 e y n. No entanto, estas condições podem reduzir a precisão do spline. 3) Spline periódico: y 0 = y n, S (x 0 ) = S (x n ), M 0 = M n. RESOLUÇÃO Construção do spline: Neste caso vamos recorrer ao spline natural, n = 4 e h i = h = 0.5. Como o espaçamento h é constante, a expressão simplifica-se e com i = 1,, 3, ficamos com: M 0 = 0 1 M 0 + M ( ) M y y 1 + y 0 = 3 h 1 M 1 + M + 1 ( ) M y3 y + y 1 3 = 3 h 1 M + M ( ) M y4 y 3 + y 4 = 3 h M 4 = 0
47 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 39 ou, na forma matricial, / 1/ / 1/ / 1/ M 0 M 1 M M 3 M 4 = 0 3 [ (y y 1 + y 0 )/h ] 3 [ (y 3 y + y 1 )/h ] 3 [ (y 4 y 3 + y )/h ] 0 Substituindo os valores de y i, i = 0, 1,, 3, 4 e eliminando as primeiras e últimas linhas e colunas obtemos sucessivamente, 1/ / 1/ / Portanto, os momentos são M 3 = 73./ = M = ( M 3 )/1.875 = M 1 = ( M )/ = O leitor poderá consultar o Capítulo 1 referente a Sistemas de Equações Lineares para compreender a obtenção dos valores M 1, M e M 3.
48 40 SEMANA 6 O primeiro troço do spline corresponde a x [x 0, x 1 ], sendo S 1 (x) = M 0 (x 1 x) 3 6h (x x 0 ) 3 + M 1 + 6h h (y ) x1 x 0 M h h (y ) x x0 1 M 1 6 h = (x 0) (0 0) 0.5 x 1 + ( ( 1 ) ) x 0, 6 1 ou seja, S 1 (x) = x x para 0 x 0.5. Os restantes troços determinam-se da mesma forma, obtendo-se S = 1.648x x x para 0.5 x 1 S 3 = x x x para 1 x 1.5 S 4 = x x x para 1.5 x Figura 6..1: Spline cúbico natural resultante
49 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL INTERPOLAÇÃO POLINOMIAL: Erros em splines cúbicos Pretende-se interpolar por um spline cúbico numa malha uniforme no intervalo [0, 1] a função f(x) = exp(1 + x). Determine o número de nós necessário para obter um erro relativo em valor absoluto inferior a CONCEITOS TEÓRICOS O cálculo de erros de interpolação com splines cúbicos tem por base o Teorema.7.4, p. 86, [Pina(1995)]: Teorema.7.4: Seja f C 4 ( Ω) e S o spline cúbico satisfazendo qualquer das condições suplementares referidas nesta subsecção [pp. 8 83, [Pina(1995)]]. Então, D 4 f h 4 f S 5 ( D(f S) D (f S) ( 1 D 3 (f S) 1 ) D 4 f h3 ) D 4 f h (h/h) ( 1 + (h/h) ) D 4 f h em que h = min 1 i n h i RESOLUÇÃO O erro relativo em valor absoluto é tal que e(x) = f(x) S(x) f(x) sendo maj f(x) S(x) f S. Pelo Teorema.7.4, fica D 4 f h 4 ɛ = 10 3 min f(x) maj f(x) S(x) min f(x) exp(1 + x) h4 ɛ = 10 3 min exp(1 + x) max exp(1 + x) h4 x [0,1] min exp(1 + x) x [0,1] ɛ = exp()h4 ɛ = 10 3, exp(1) pois, D 4 f = exp(1 + x) é monótona crescente no intervalo [0, + ] e, logo, tem um mínimo em x = 0 e um máximo em x = 1 no intervalo [0, 1].
50 4 SEMANA 6 Assim, resulta ( 10 3 exp(1) h < exp() ) 1/4 h < h = b a N = 1 0 < N >.43914, N ou seja, 3 intervalos. Assim, são necessários pelo menos 4 nós.
51 7 TÓPICOS: Diferenciação Numérica: Diferenças finitas de primeira e segunda ordens; Majorante do erro; Espaçamento óptimo; Ponto de inflexão; Espaçamento desigual. LEITURAS RECOMENDADAS: Capítulo 3 (pp ) do livro [Pina(1995)] 7.1 DIFERENCIAÇÃO NUMÉRICA: Diferenças finitas de primeira e segunda ordens Considere a seguinte tabela de valores para a função y = cosh x: x y Determine os valores de f (0.) e f (0.) pelas várias fórmulas de diferenças finitas e compare os resultados com os valores exactos. CONCEITOS TEÓRICOS Consultar as Secções 3. e 3.3 de [Pina(1995)] Figura 7.1.1: Funções cosh(x) ( ) e sinh(x) (- - -)
52 44 SEMANA 7 RESOLUÇÃO Valores exactos: y = cosh x = ex + e x, y = sinh x = ex e x, y = cosh x = ex + e x = y y (0.) = sinh(0.) = , y (0.) = cosh(0.) = Valores por diferenças finitas: Para o cálculo da primeira derivada, vamos usar diferenças finitas de primeira e segunda ordens. Diferenças finitas de 1. a ordem D h f(x) com h = 0.1: Progressiva (exp. (3..8)) Regressiva (exp. (3..10)) Central (exp. (3..1)) f(x+h) f(x) h f(x) f(x h) h f(x+h) f(x h) h = f(0.+0.1) f(0.) 0.1 = 0.50 = f(0.) f(0. 0.1) 0.1 = = f(0.+0.1) f(0. 0.1) 0.1 = Diferenças finitas de. a ordem D h f(x) com h = 0.1: Progressiva (Exp. (3..16)) Regressiva (Exp. (3..0)) 3f(x)+4f(x+h) f(x+h) h =... = f(x) 4f(x h)+f(x h) h =... = Central (Exp. (3..1)) Expressão e valor iguais a 1. a ordem Para calcular a diferença finita regressiva de. a ordem precisamos de saber o valor da função em x = 0, que neste caso é f(0) = cosh(0) = 1. A Figura abaixo mostra as tangentes, isto é, polinómios de ordem um, dados pelas diferenças finitas de primeira ordem.
53 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL C P R Figura 7.1.: Diferenças Finitas: (P) Progressiva, (R) regressiva e (C) central A melhor aproximação foi obtida com a Diferença Finita Central, e com a Diferença Regressiva de. a ordem, mas esta última requer um maior número de pontos e inclusive um valor de f(x) que não está na tabela dada. Para a segunda derivada, vamos considerar apenas a diferença finita central (obviamente de segunda ordem). Exp. (3.3.1) com h = 0.1: Dhf(x) f(x + h) f(x) + f(x h) = = h f(0.3) f(0.) + f(0.1) 0.1 = = , ou seja, sendo o valor exacto y (0.) = 1.001, esta aproximação dispõe de dois dígitos correctos. 7. DIFERENCIAÇÃO NUMÉRICA: Majorante do erro Obtenha o valor de f (1.0) para a função f(x) = exp( x) usando diferenças finitas progressivas e passo h = Determine o erro efectivamente cometido e compare-o com o majorante teórico. CONCEITOS TEÓRICOS Consultar as Secções 3. e 3.3 de [Pina(1995)].
54 46 SEMANA 7 RESOLUÇÃO Valores aproximado e exacto: f(x + h) f(x) D h f(x) = h f(1.001) f(1.0) = = e e = f (x) = e x f (1.0) = e 1.0 = Erro efectivamente cometido: E(1.0) = f (1.0) D h f(1.0) = ( ) = = (1.838)10 4 O majorante teórico do erro (erro devido apenas à aproximação da derivada) é dado pela exp. (3..9), p. 100 de [Pina(1995)]: e 1(x) = 1 hf (ξ) em que ξ [x 0, x 1 ] = Ω e 1(x) 1 h f (x) Neste problema, f (x) = e x em Ω = [1.0, h]. Concretizando, e atendendo a que a função é monótona, o máximo encontra-se num extremo do intervalo (ver Figura 7..1), fica f (x) Ω = f (1.0) = f(1.0) = e 1(1.0) = (1.839)10 4 Constatamos que, de facto, E(1.0) e 1(1.0), sendo praticamente igual. Utiliza-se para o erro de interpolação a letra minúscula e de forma a manter a coerência com a nomenclatura utilizada no livro de [Pina(1995)]. Note-se no entanto que se trata de um erro absoluto e por isso deveríamos utilizar uma letra maiúscula.
55 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL Figura 7..1: Funções exp( x) ( ) e exp(x) (- - -) 7.3 DIFERENCIAÇÃO NUMÉRICA: Espaçamento óptimo Dada a seguinte tabela de tempos e posições: t 0 1/3 /3 1 y(t) 0 sen(π/6) sen(π/3) 1 a) Determine uma aproximação da velocidade e da aceleração nos nós interiores usando diferenças finitas centrais. b) Deduza uma estimativa para o espaçamento óptimo no cálculo da aceleração por diferenças finitas centrais. RESOLUÇÃO a) Antes de mais, devemos observar que h = 1/3 e que os pontos interiores são t = 1/3 e t = /3. Expressão para cálculo das velocidades por diferenças finitas centrais (p. 101, exp. (3..1)): D h f(x) = f(x + h) f(x h) h Expressão para cálculo das acelerações por diferenças finitas centrais (p. 103, exp. (3.3.1)): D hf(x) = f(x h) f(x) + f(x + h) h
56 48 SEMANA 7 Concretizando para os valores dados na tabela e recorrendo à calculadora, obtemos, sucessivamente: f(1/3 + 1/3) f(1/3 1/3) D h f(1/3) = 1/3 = sen(π/3) 0 = /3 f(/3 + 1/3) f(/3 1/3) D h f(/3) = 1/3 = 1 sen(π/6) = /3 = = f(/3) f(0) 1/3 f(1) f(1/3) 1/3 D hf(1/3) = = D hf(/3) = f(1/3 1/3) f(1/3) + f(1/3 + 1/3) (1/3) f(0) f(1/3) + f(/3) 0 sen(π/6) + sen(π/3) (1/3) = (1/3) = = f(/3 1/3) f(/3) + f(/3 + 1/3) (1/3) f(1/3) f(/3) + f(1) sen(π/6) sen(π/3) + 1 (1/3) = (1/3) = b) Neste caso, o espaçamento h óptimo é desconhecido. O valor exacto da segunda derivada f (x) relaciona-se com o valor por diferenças finitas centrais e o erro de aproximação, e (x), inerente ao cálculo por este processo, do seguinte modo: f f(x h) f(h) + f(x + h) (x) = 1 1 h f (4) (η) = h f(x h) f(h) + f(x + h) h e (x) Em representação em ponto flutuante, temos de contar ainda com os erros de arredondamento, ẽ(x), no cálculo do valor da própria função, ou seja, onde f(x) = f(x) + ẽ(x) e, portanto f (x) = f(x h) f(h) + f(x + h) E = + h ẽ(x h) ẽ(h) + ẽ(x + h) h = f(x h) f(h) + f(x + h) h ẽ(x h) ẽ(h) + ẽ(x + h) h 1 1 h f (4) (η) + E 1 1 h f (4) (η)
57 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 49 Considerando f (4) M 4 e ẽ(x h) ẽ(h) + ẽ(x + h) 4ɛ onde M 4 é o majorante das quartas derivadas e ɛ é um parâmetro que depende da forma como a função f é calculada, ou seja, é da ordem de grandeza da unidade de arredondamento do computador utilizado, podemos fazer E 4ɛ h + M 4h 1 O segundo membro é mínimo quando a sua primeira derivada, em ordem a h, for nula, isto é, quando 8ɛ h 3 + M 4h = 0 h = 6 ( 48ɛ M 4 ) 1/4 Portanto, o valor de h deduzido será a estimativa para o espaçamento óptimo no cálculo da aceleração por diferenças finitas centrais. Como complemento teórico à resolução deste problema, sugerimos a observação atenta da Figura 3.5.1, na p do livro [Pina(1995)]. 7.4 DIFERENCIAÇÃO NUMÉRICA: Ponto de inflexão Obtenha o ponto de inflexão de uma função f no intervalo [0, 1] sendo conhecidos os seguintes valores: x f(x) RESOLUÇÃO Podemos considerar os seguintes processos para resolver o problema: i) Determinar o polinómio interpolador e depois derivar analiticamente; ii) Determinar as derivadas aproximadas Dh f(x) pela tabela e interpolar os valores obtidos; iii) Determinar os splines, seguido de derivação analítica. Em qualquer dos casos obtemos uma equação polinomial a solucionar. De notar que existem outros processos, igualmente válidos para resolver este problema. Processo i: Esquematicamente temos p n (x) p n(x) p n(x) = 0 Assim, primeiro determinamos o polinómio interpolador p 4 (x) por diferenças divididas:
58 50 SEMANA 7 x y[ ] y[, ] y[,, ] y[,,, ] y[,,,, ] (3) (3) O polinómio é então p(x) =.4x 3.x(x 0.5) (3)x(x 0.5)(x 0.50) x(x 0.5)(x 0.50)(x 0.75) que, desenvolvido e agrupado na forma de potências simples de x corresponde a p(x) = 3.4(6)x 4.8x.34(6)x x 4. Derivando sucessivamente, obtemos p (x) = 3.4(6) 9.6x 7.04x x 3 p (x) = x x O ponto de inflexão é tal que p (x) = 0 x = b ± b 4ac a ou seja, x = x = Portanto, o ponto de inflexão no intervalo [0, 1], obtido por este processo, é x Processo ii: Esquematicamente temos D h f(x) p n(x) p n(x) = 0 A segunda derivada é obtida por diferenças finitas centrais: D hf(x) = f(x h) f(x) + f(x + h) h tal que h = 0.5. Assim, obtemos x y y e a correspondente tabela de diferenças divididas para determinar a interpolação de D h f(x):
59 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 51 x y [ ] y [, ] y [,, ] O polinómio que interpola a segunda derivada é, então p (x) = (x 0.5) (x 0.5)(x 0.50) que, desenvolvido e agrupado em potências de x corresponde a p (x) = x x O ponto de inflexão é tal que p (x) = 0 x = b ± b 4ac a ou seja, x = x = Portanto, o ponto de inflexão no intervalo [0, 1], obtido por este processo, é x Processo iii: Esquematicamente temos M i S i (x) S i (x) = 0 Reparar que não necessitamos de determinar o próprio spline cúbico S i (x), bastando, para o que pretendemos, calcular S i (x). Dado que desconhecemos as derivadas y nos extremos x 0 e x 4, temos M 0 = M 4 = 0, isto é, impomos S 1 (x 0 ) = 0 = M 0 e S 4 (x 4 ) = 0 = M 4. Para determinar M 1, M 3 e M 3 faz-se h 6 M i 1 + h 3 M i + h 6 M i+1 = y i+1 y i + y i 1 h com i = 1,, 3 1 M i 1 + M i + 1 M i+1 = 3 h (y i+1 y i + y i 1 ) com i = 1,, 3 o que origina, na forma matricial, 1/ 0 1/ 1/ 0 1/ M 1 M M 3 = 3 h y y 1 + y 0 y 3 y + y 1 y 4 y 3 + y = Como veremos, ao impor estas igualdades, os resultados deterioram-se.
60 5 SEMANA 7 Resolvendo o sistema de equações, por exemplo, através do método de Gauss e substituição descendente, obtemos M 1 M M 3 = Dado que S i = M i, é de esperar que o ponto de inflexão esteja no segundo troço, pois M e M 3 têm sinais diferentes. Então, como a segunda derivada do i-ésimo troço de spline é tal que (Exp. (.7.7), p. 81, [Pina(1995)]) S i x i x x x i 1 (x) = M i 1 + M i h h obtemos para o segundo troço, isto é, para o subintervalo [0.5, 0.5] S x x x x 1 (x) = M 1 + M h h = x 0.5 O ponto de inflexão é tal que x S (x) = x x 0.5 = 0 x = Portanto, o ponto de inflexão no intervalo [0, 1], obtido por este processo, é x Comparação entre os três processos: Observando as Figuras 7.4.1(a) e 7.4.1(b), que mostram o polinómio obtido pelo processo i), é possível concluirmos que o ponto de inflexão positivo se encontra na vizinhança de 0.4. No entanto, existe um outro ponto de inflexão negativo, perto de (a) Figura 7.4.1: Polinómio de quarta ordem obtido pelo processo i (b) Os valores do ponto de inflexão obtidos pelos processos i e ii são bastante semelhantes, pois os polinómios de grau obtidos são quase coincidentes (Figura 7.4.).
61 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 53 O resultado com o processo iii não será o melhor, dado que impusemos um valor nulo às segundas derivadas nas extremidades do intervalo (S i (0) = 0 = M 0 e S i (1) = 0 = M 4) Processo ii Processo i Processo iii Figura 7.4.: Polinómios obtidos por derivação analítica (Processos i e ii) e por spline cúbico natural (Processo iii) ) A título comparativo e para reflexão, mostramos o polinómio obtido pelo processo i e o spline cúbico natural na Figura Porque se verificam grandes discrepâncias nos intervalos [0, 0.5] e [0.75, 1]? Processo iii Processo i Figura 7.4.3: Polinómios de quarta ordem (Processo i) e spline cúbico (Processo iii) Relembramos que não é necessário construir o spline para calcular o ponto de inflexão.
62 54 SEMANA DIFERENCIAÇÃO NUMÉRICA: Espaçamento desigual Dados 3 pontos, (x 1, y 1 ), (x, y ), (x 3, y 3 ), com espaçamento desigual entre as suas abcissas, deduza uma fórmula para calcular uma aproximação da segunda derivada num ponto qualquer do intervalo [x 1, x 3 ]. Considerando os pontos (1, 1), (, 4), (5, 5), utilize a fórmula para calcular y () e y (3). Em qual dos pontos, x ou (x 1 + x 3 )/, é de esperar um erro absoluto menor? Justifique (admita que as derivadas de y = f(x) se mantêm na mesma ordem de grandeza em [x 1, x 3 ]). RESOLUÇÃO Pretendemos deduzir uma fórmula para calcular Dh f f (x) = y. De entre as várias possibilidades, a dedução da diferença finita com espaçamento desigual é a mais simples. De notar que o recurso a splines não é o mais adequado, pois não se conhece a função e estes requerem o conhecimento de m 0 (splines quadráticos) ou M 0 e M n (splines cúbicos). Assim, Dh = p (x) = f [x 1, x, x 3 ] = f [x 1, x ] f [x, x 3 ] x 1 x 3 f(x 1) f(x ) x = 1 x f(x) f(x3) x x 3 x 1 x 3 Como Dh não depende de x, temos 1 4 f () f 1 (3) A expressão do erro de D h é e = f [x 1, x, x 3, x, x, x] W (x) onde, usando vem + f [x 1, x, x 3, x, x] W (x) + f [x 1, x, x 3, x] W (x) f [x 1, x, x 3,..., x k ] = f (k) (ξ) k! e = f (5) (r) 10 W (x) + f (4) (ξ) W 1 (x) + f (3) (η) W (x) 6 = 4 3
63 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 55 onde Como as derivadas mantêm a mesma ordem de grandeza, ficamos com e M ( ) W (x) + W (x) + W (x) W = (x x 1 )(x x )(x x 3 ) = (x 1)(x )(x 5) W = (x x )(x x 3 ) + (x x 1 )(x x 3 ) + (x x 1 )(x x ) W = (x x 3 ) + (x x ) + (x x 1 ) = 6x 16 Compilando os valores numa tabela, obtemos x W (x) W (x) W (x) e 11 x = x = M 8.4 x = (x 1 + x 3 )/ = M Concluímos então que é de esperar um erro absoluto menor em x, embora em termos de majorante a diferença encontrada não seja significativa.
64
65 8 TÓPICOS: Integração Numérica: Regras de Newton-Cotes simples e compostas; Regra de Gauss-Legendre-Lobatto; Regras de Gauss-Legendre e do trapézio composta. Erros absoluto e relativo. Estimativa e majorante do erro. LEITURAS RECOMENDADAS: Capítulo 4 (pp ) do livro [Pina(1995)] 8.1 INTEGRAÇÃO NUMÉRICA: Regras do trapézio simples e de Simpson simples e composta (a) Calcule, pela regra do trapézio simples e pela regra de Simpson simples, o valor aproximado do integral I = 3 exp (1 + cos x)dx. (b) Idem pela regra de Simpson composta com subintervalos. (c) Estime o erro absoluto cometido na alínea anterior. RESOLUÇÃO (a) As regras referidas correspondem, respectivamente, às expressões (4..6) e (4..7), p. 10, de [Pina(1995)]: T I h (f) = b a [f(a) + f(b)] S I h (f) = b a [ f(a) + 4f( a + b ] 6 ) + f(b) onde a e b são os limites de integração. Concretizado para a função f(x) = exp (1 + cos x), com a = e b = 3 obtemos (b) T I h (f) = 3 [f() + f(3)] = S I h (f) = 3 [ f() + 4f( + 3 ] 6 ) + f(3) =
66 58 SEMANA 8 Aplicação directa da exp. (4.5.10): A exp. para o cálculo com a regra de Simpson composta com N subintervalos é (Exp. (4.5.10), p. 138, de [Pina(1995)]): Sc I h (f) = h 6 [ onde h = (b a)/n. f(a) + f(b) + N 1 i=1 No caso presente, como N = teremos f(a i ) + 4 ] N f(a i 1 + h/) i=1 Sc I h (f) = h 6 [f(a) + f(b) + f(a 1) + 4(f(a 0 + h/) + f(a 1 + h/))] com a =, b = 3, h = (3 )/ = 0.5, a 0 = = a, a 1 = a 0 + h =.5, a = a 1 + h = b. Assim, vem, sucessivamente Sc I h (f) = 0.5 {f() + f(3) + f(.5) + 4[f( + 0.5/) + f( /)]} 6 = 0.5 {f() + f(3) + f(.5) + 4[f(.5) + f(.75)]} 6 = Resolução alternativa e justificação da exp. (4.5.10): Neste caso consideramos intervalos, usamos a regra de Simpson simples em cada um deles e somamos os valores obtidos, pois sabemos que I = b a f(x)dx = = a1 a a1 b f(x)dx + a 0 f(x)dx + a 1 f(x)dx a a 1 f(x)dx =.5 3 f(x)dx + f(x)dx..5 Portanto, aplicando a regra de Simpson simples a cada um dos integrais acima, obtemos Sc I h (f) =.5 [f() + 4f(.5) + f(.5)] [f(.5) + 4f(.75) + f(3)] = (c) Antes de mais, há que notar que se pretende uma estimativa, pois desconhecemos o valor exacto do integral. Os erros de integração das regras de Simpson simples e composta são dados, respectivamente pelas expressões (4..18), p. 14 e (4.5.11), p. 138, de [Pina(1995)]: S E h (f) = f (4) (ξ)(b a) 5 = I S I h (f) (8.1.1) Sc E h (f) = b a 880 f (4) (ξ)h 4 = I Sc I h (f) onde h = b a N A exp. (8.1.) pode escrever-se da seguinte forma: Sc E h (f) = b a 880 f (4) (ξ) ( b a N (8.1.) ) 4 = 1 N f (4) (ξ) (b a) 5 (8.1.3)
67 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 59 pelo que, e como N =, fica I S I h (f) = f (4) (ξ)(b a) 5 = c (8.1.4) I Sc I h (f) = f (4) (ξ) (b a) 5 = 1 16 c (8.1.5) Subtraindo (4) a (5), membro a membro, fica ou seja, I S I h (f) I + Sc I h (f) = c c Sc I h (f) S I h (f) = ( ) c (8.1.6) ( ) 1 1 c = 16 1 [ Sc I h (f) S I h (f) ] ( = 15 ) 1 [ Sc I h (f) S I h (f) ] 16 = 16 [ Sc I h (f) S I h (f) ] (8.1.7) 15 Substituindo c em (5), obtemos I Sc I h (f) = 1 16 ( 16 ) [Sc I h (f) S I h (f) ] Sc I h (f) S I h (f) = (8.1.8) Então, substituindo os valores calculados nas alíneas anteriores, obtemos uma estimativa de erro absoluto cometido na alínea b) de A Figura mostra a negro a diferença entre as áreas abaixo da curva da função f(x) = exp(1+cos(x)) e dos polinómios de grau 1 (Figura 8.1.1(a): Regra do trapézio simples) e grau (Figura 8.1.1(b): Regra de Simpson simples). É notório o melhor desempenho da regra de Simpson que, recordamos, é de ordem (a) Regra do trapézio simples (b) Regra de Simpson simples Figura 8.1.1: Diferenças entre integração exacta e com regras do trapézio e Simpson simples [, 3]. Admitimos que a estimativa de f (4) é válida em ambos os casos, sendo o máximo no intervalo
68 60 SEMANA 8 8. INTEGRAÇÃO NUMÉRICA: Regra de Gauss-Legendre e de Gauss-Legendre- Lobatto Pretende-se calcular o seguinte integral I = 0 sinh(x)dx. (a) Obtenha uma aproximação com pontos de Gauss-Legendre. (b) Idem, com 3 pontos de Gauss-Legendre-Lobatto. (c) Calcule o erro absoluto e relativo cometido em cada caso. RESOLUÇÃO (a) Mudança de coordenadas (exp. (4.1.), p. 116): a(1 ξ) T (ξ) = J(ξ) = b a Então, I = 0 + = = 1 sinh(x)dx = b(1 + ξ) 1 1 = 0(1 ξ) + sinh(1 + ξ) 1dξ = (1 + ξ) 1 1 = 1 + ξ sinh(1 + ξ)dξ. Com pontos, temos as abcissas e os pesos (Tabela 4.4.1, p. 13) ξ 1 = , A 1 = 1, ξ 1 = , A = 1. e, portanto I = 0 sinh(x)dx A 1 f(ξ 1 ) + A f(ξ ) = = (b) As regras de Gauss-Lobatto são tais que possuem os dois pontos dos extremos do intervalo (p. 135, de [Pina(1995)]) e os restantes no interior: I h (f) = Af(a) + Bf(b) + n A i f(x i ) i=1 Para n = 3 obtemos a regra de Simpson (ver Problema , p. 158, [Pina(1995)]): I h (f) = b a 6 [ f(a) + 4f( a + b ] ) + f(b) ou seja
69 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 61 I = 0 sinh(x)dx 0 6 [f(0) + 4f(1) + f()] = 1 ( ) = (c) O valor exacto do integral é I = 0 Alínea a) sinh(x)dx = cosh(x) 0 = pelo que E = I(f) I h (f) = e = Alínea b) E = I(f) E = I(f) I h (f) = e = E = I(f) 8.3 INTEGRAÇÃO NUMÉRICA: Regras de Gauss-Legendre e do trapézio composta Pretende-se calcular o seguinte integral I = 1 ln(x)dx. (a) Calcule uma aproximação pela regra de Gauss-Legendre com pontos. (b) Calcule outra aproximação pela regra do trapézio composta usando 5 valores da função integranda e um espaçamento uniforme. (c) Calcule um majorante do erro em cada caso. Obtenha também os erros absoluto e relativo cometidos em cada caso. RESOLUÇÃO (a) Mudança de coordenadas (exp. (4.1.), p. 116): a(1 ξ) T (ξ) = + J(ξ) = b a = 1 Então, I = 1 ln(x)dx = b(1 + ξ) 1 1 = 1(1 ξ) + (1 + ξ) = 1 (3 + ξ) [ ] 1 ln (3 + ξ) 1 dξ = 1 1 [ ] 1 ln (3 + ξ) dξ. 1
70 6 SEMANA 8 Com pontos, temos as abcissas e os pesos e, portanto ξ 1 = 1/3, A 1 = 1, ξ = + 1/3, A = 1. I = = 1 1 ln(x)dx A 1 f(ξ 1 ) + A f(ξ ) [ 1 (3 ] 1/3) + ln { ln [ 1 (3 + 1/3) ]} = (b) Considerando 5 valores da função e um espaçamento uniforme, temos sendo h = 1/4 = 0.5. Concretizando, (c) [ ln(1.00) I h (f) = h = ln(.00) ] + ln (1.5) + ln (1.50) + ln (1.75) ] [ ln(.00) + ln ( ) = Um majorante do erro: Alínea a) Atendendo às expressões (4.4.9) e (4.4.10), p. 130, de [Pina(1995)], obtemos para a regra de Gauss-Legendre com pontos (n = ): E 1 f 430 ( 1) +1 ( ) Alínea b) [1,] = ( 1) +1 max x [1,] = ( 1) +1 6 = x 4 Atendendo à expressão (4.5.9), p. 137, de [Pina(1995)], obtemos para a regra do trapézio composta usando 5 valores da função (h = 1/4): E b a 1 f [1,] h = 1 1 max x [1,] 1 x = = Erros absolutos e relativo: O valor exacto do integral é I = 0 ( ) 1 4 ln(x)dx = x ln(x) x 1 = pelo que
71 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 63 Alínea a) E = I(f) I h (f) = e = Alínea b) E I(f) = E = I(f) I h (f) = e = E I(f) =
72
73 9 TÓPICOS: Integração Numérica (CONT.): Dedução e grau de regras de integração; Regra do trapézio corrigida; Regra de Simpson adaptativa iterativa. LEITURAS RECOMENDADAS: Capítulo 4 (pp ) do livro [Pina(1995)] 9.1 INTEGRAÇÃO NUMÉRICA: Dedução e grau de regras de integração Pretende-se deduzir uma regra de integração do tipo I(f) = +1 1 sinh(x)f(x)dx I h (f) = A 1 [f( 1) + f(+1)] + A [f( ξ) + f(+ξ)] a) Calcule os pesos A 1 e A de modo a que a regra tenha o maior grau de exactidão 1 possível para ξ = 3. b) Que polinómios são integrados exactamente por esta regra? c) Caracterize esta regra quanto à família, ao número de pontos usados, à estimativa de erro e ao grau de exactidão da regra justificando a resposta. RESOLUÇÃO a) Como a regra é referida a um intervalo simétrico em relação à origem, todos os integrais do tipo,: I m (f) = +1 1 x m dx, a que se dá o nome de momentos, com m ímpar anulam-se. Assim sendo, a regra de integração terá de integrar exactamente os dois primeiros momentos de ordem par, ou seja, I 0 (f) = +1 x 0 dx = e I (f) = x dx = 3. Para estabelecer as duas equações que determinam os pesos A 1 e A, temos de obrigar a regra a um cálculo exacto das funções f(x) = 1 e f(x) = x. Substituindo, obtemos o seguinte sistema de equações
74 66 SEMANA 9 A 1 + A = A A = 3 A solução deste sistema é A 1 = 0 e A = 1. b) Como os momentos ímpares são todos integrados exactamente devido à disposição simétrica dos pontos, é de esperar que pelo menos a regra integre exactamente as funções 1, x, x e x 3. Ou seja, para estabelecer que o grau de exactidão da regra é 3 há que comprovar que a função x 4 não é integrada exactamente. Com efeito, o valor exacto é I 4 = 5 enquanto que o valor calculado pela regra é I h(f) = 9 I(f) = 5. Então, são integrados exactamente todos os polinómios de grau 3, pelo que a regra é de grau de exactidão 3. c) Como A 1 = 0, a contribuição dos pontos nos extremos do intervalo é nula, pelo 1 que só há dois pontos interiores em ξ = ± 3. A regra obtida corresponde à regra de Gauss-Legendre com pontos a qual tem um grau de exactidão de 3. A estimativa de erro é dada pelas expressões (4.4.9) e (4.4.10) em [Pina(1995)], p. 130, com n = e b a =. 9. INTEGRAÇÃO NUMÉRICA: Regra do trapézio corrigida a) Calcular o integral I(f) = 1 0 f(x)dx com f(x) = ln ( 1 + x ) pela regra do trapézio corrigida. b) Obtenha um majorante para o erro cometido. Nota: f 4 (x) = 1 ( 6x x 4 1 ) / ( 1 + x ) 4. c) Há, neste caso, alguma vantagem particular em usar esta regra? RESOLUÇÃO a) A expressão desta regra é I h (f) = b a [f(a) + f(b)] + (b a) 1 Concretizando para o caso presente, isto é, [f (a) f (b)] obtemos a = 0, b = 1, f(0) = 0, f(1) = , f (x) = I h (f) = 1 0 x 1 + x, f (0) = 0, f (1) = 1. [ ] + (1 0) 1 [0 1] =
75 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 67 b) O erro é tal que E h (f) (b a)5 f (4) (ξ) 70 sendo o majorante dado por E h (f) (b a)5 70 Determinação do majorante: f (4) [0,1] (b a)5 = 70 max x [0,1] f (4) Os valores de f (4) (x) nos extremos do intervalo são: f (4) (0) = 1 e f (4) (1) = 3. O ponto intermédio é tal que f (5) (x) = 0, sendo f (5) (x) = 1(1x 4x3 )(1 + x ) 4 1(6x x 4 1) 4(1 + x ) 3 x (1 + x ) 8 = 48(3x x3 )(1 + x ) 4 48(6x x 4 1) (1 + x ) 3 x (1 + x ) 8 = 48[(3x x3 )(1 + x ) (6x x 4 1) x] (1 + x ) 5 Então, vem = 48(x5 10x 3 + 5x) (1 + x ) 5 = 48x(x4 10x + 5) (1 + x ) 5 ou seja, f (5) (x) = 0 z 10z + 5 = 0 z = b ± b 4ac a z = z = f (5) (x) = 0 x = ± x = ± O ponto de estacionaridade no intervalo [0, 1] é x = , sendo f (4) ( ) = Contudo, este não é o máximo em valor absoluto da função f (4) (x) para x [0, 1], mas sim f (4) (0) = 1. Portanto, o majorante do erro é E h (f) (1 0) =
76 68 SEMANA 9 Na Figura 9..1 podemos ver graficamente a quarta derivada Figura 9..1: f 4 (x) = 1 ( 6x x 4 1 ) / ( 1 + x ) 4 para x [0, 1] c) Neste caso, e como a função é tal que f(x) C 4 (Ω), a regra do trapézio corrigida tem como erro (exp. (4.5.13), p. 138, de [Pina(1995)]): E h (f) = b a 70 f (4) (ξ)h 4 dependendo de h à quarta e não ao quadrado como na regra do trapézio simples (exp. (4.5.9), p. 138, de [Pina(1995)]): E h (f) = b a 1 f (ξ)h Só não haverá vantagens quando f (a) = f (b), pois neste caso a regra do trapézio corrigida coincide com a regra do trapézio simples. 9.3 INTEGRAÇÃO NUMÉRICA: Regra de Simpson adaptativa iterativa Use uma regra de Simpson adaptativa iterativa para aproximar o integral I = 1 0 x dx com as tolerâncias de erro total ɛ = e ɛ = CONCEITOS TEÓRICOS O valor de um integral num dado troço [x i, x i+h ] de comprimento h pode ser aproximado por, Ĩh, x i x i + h/ x i + h
77 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 69 Ĩ h = h 6 [f(x i) + 4f(x i + h/) + f(x i + h)] (9.3.1) ou subintervalos, [x i, x i+h/ ] e [x i+h/, x i+h ], cada um com comprimento h/, I h : x i x i + h/4 x i + h/ x i + 3h/ x i + h I h = h/ 6 [f(x i) + 4f(x i + h/4) + f(x i + h/) + 4f(x i + 3h/4) + f(x i + h)] = h 1 [f(x i) + 4f(x i + h/4) + f(x i + h/) + 4f(x i + 3h/4) + f(x i + h)] (9.3.) Uma estimativa do erro para a integração num subintervalo de comprimento h é dada por E = I I h 1 15 ( ) I h Ĩh Considerando que cada troço contribui para o erro total, ɛ, com um erro proporcional ao seu comprimento (ler segundo parágrafo na p. 145 e enunciado do Problema 4.1.5, p. 160, de [Pina(1995)]), teremos E = I I h 1 15 ( ) I h Ĩh h ɛ b a onde a e b são os limites de integração de todo o integral. (9.3.3) Como complemento a estes Conceitos Teóricos, remetemos o leitor para as páginas 144 e 145 de [Pina(1995)]. RESOLUÇÃO A Figura representa graficamente a função f(x) = x no intervalo [0, 1]. Observamos que o troço [1/, 1] apresenta menor variação da função, pelo que o escolhemos como primeiro subintervalo a analisar. Se iniciássemos o cálculo pelo troço [0, 1/] teríamos mais trabalho. Uma implementação computacional calcularia as estimativas de erro para saber onde começar. Ver resolução do Exercício 8.1, em particular a exp. (8.1.8), p. 59.
78 70 SEMANA Elevada variação em f(x) 0.7 Pequena variação em f(x) Figura 9.3.1: f(x) = x para x [0, 1] Troço [1/, 1]: Neste caso temos h = 1/. 1/ 5/8 3/4 7/8 1 1 subintervalo: Ĩ h1 [1/,1] = 1/ 6 ( 1/ + 4 3/4 + 1 ) = subintervalos: I h[1/,1] = 1/ ( ) 1/ + 4 5/8 + 3/ / = E (ɛ=0.005) [1/,1] = I h [1/,1] Ĩh 1 [1/,1] = < 1/ = = = E (ɛ=0.000) [1/,1] = I h [1/,1] Ĩh 1 [1/,1] = < 1/ = = = Ambos os critérios de erro são satisfeitos para este troço, pelo que passamos para o troço [0, 1/]. Troço [0, 1/]: Também neste caso temos h = 1/. 0 1/8 1/4 3/8 1/
79 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 71 1 subintervalo: Ĩ h1 [0,1/] = 1/ ( ) /4 + 1/ 6 = subintervalos: I h [0,1/] = 1/ ( ) /8 + 1/ /8 + 1/ 1 = E (ɛ=0.005) [0,1/] = I h [0,1/] Ĩh 1 [0,1/] = < 1/ = = E (ɛ=0.000) [0,1/] = I h [0,1/] Ĩh 1 [0,1/] = > 1/ = = O critério de erro ɛ = é satisfeito para este troço, mas não o critério ɛ = Para este último caso temos de subdividir o intervalo [0, 1/]. Ficaremos, então, com dois novos troços: [1/4, 1/] e [0, 1/4]. Troço [1/4, 1/]: Agora temos h = 1/4. 1/4 5/16 3/8 7/16 1/ 1 subintervalo: Ĩ h1[1/4,1/] = 1/4 ( ) 1/ /8 + 1/ 6 = subintervalos: I h [1/4,1/] = 1/4 1 ( 1/ /16 + 3/ /16 + 1/ ) = E (ɛ=0.000) [1/4,1/] = I h [1/4,1/] Ĩh 1 [1/4,1/] = < 1/ = = Troço [0, 1/4]: À semelhança do troço [1/4, 1/] temos também h = 1/4.
80 7 SEMANA 9 0 1/16 1/8 3/16 1/4 1 subintervalo: Ĩ h1 [0,1/4] = 1/4 ( ) /8 + 1/4 6 = subintervalos: I h [0,1/4] = 1/4 ( ) /16 + 1/ /16 + 1/4 1 = E (ɛ=0.000) [0,1/4] = I h [0,1/4] Ĩh 1[0,1/4] = > 1/ = = Como vemos, para a tolerância ɛ = 0.000, é necessário subdividir o troço [0, 1/4] nos troços [1/8, 1/4] e [0, 1/8]. Em ambos os casos temos h = 1/8. Troço [1/8, 1/4]: 1/8 5/3 3/16 7/3 1/4 1 subintervalo: Ĩ h1[1/8,1/4] = 1/8 ( ) 1/ /16 + 1/4 6 = subintervalos: I h [1/8,1/4] = 1/8 ( ) 1/ /3 + 3/ /3 + 1/4 1 = E (ɛ=0.000) [0,1/4] = I h [0,1/4] Ĩh 1 [0,1/4] = < 1/ = = Troço [0, 1/8]: 0 1/3 1/16 3/3 1/8
81 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 73 1 subintervalo: Ĩ h1 [0,1/8] = 1/8 ( ) /16 + 1/8 6 = subintervalos: I h [0,1/8] = 1/8 ( ) /3 + 1/ /3 + 1/8 1 = E (ɛ=0.000) [0,1/8] = I h [0,1/8] Ĩh 1 [0,1/8] = > 1/ = = Verificamos que é ainda necessário subdividir este troço em dois e começamos a suspeitar que existe algures um problema na resolução deste exercício. A aproximação do integral é, nesta iteração e para o critério ɛ = 0.000, I h = I h [1/,1] + I h [1/4,1/] + I h [1/8,1/4] + I h [0,1/8] = = O valor exacto do integral é /3. Reflectindo um pouco, notamos que a estimativa do erro utilizada não tem suporte quando a derivada envolvida não é limitada, como acontece para x = 0 neste problema. Assim, no cálculo do integral dado existem problemas de convergência. Estes problemas também se encontram nos actuais programas comerciais como, por exemplo, na função QUAD do MATLAB que efectua a quadratura de Simpson adaptativa. Para verificar o que atrás foi dito, convidamos o leitor a emitir os comandos f (f(x) = x) a = 0; b = 1; (limites de integração) tolerancia_do_erro = 0.000; (ɛ = 0.000) I_S_adapt = quad(f,a,b,tolerancia_do_erro); (valor numérico) I_exacto = /3; (valor exacto) E = I_exacto - I_S_adapt; (erro absoluto) no MATLAB e a observar os resultados. Um utilizador menos avisado pode ver-se na situação de o resultado fornecido não cumprir a tolerância exigida, pois o MATLAB não o avisa de tal.
82
83 10 TÓPICOS: Equações Não-Lineares: Métodos da Bissecção, Falsa Posição e Secante; Método da Bissecção e zeros múltiplos; Método da Falsa Posição. LEITURAS RECOMENDADAS: Capítulo 5 (pp ) do livro [Pina(1995)] 10.1 DETERMINAÇÃO DE ZEROS DE EQUAÇÕES NÃO-LINEARES: Métodos da Bissecção, Falsa Posição e Secante Verifique que a função f(x) = x 3 exp( x) tem um zero no intervalo [0, 1]. Calcule este zero com 3 dígitos decimais correctos utilizando os métodos: i) da Bissecção, ii) da Falsa Posição e iii) da Secante. RESOLUÇÃO Pelo teorema do valor intermédio (p. 315 do livro [Ferreira(1985)]), sendo f(x) uma função contínua com mudança de sinal no valor da função nos pontos extremos do intervalo [0, 1], então entre estes existe um ponto z [0, 1] : f(z) = 0. Neste caso mostra-se que: ou seja, f(0) = f(x) = x 3 exp( x) f(1) f(0) f(1) < 0, i.e., a função apresenta pelo menos um zero no intervalo. Sendo f(x) monótona crescente, só pode ter um zero. i) Método da Bisseção (Ordem de convergência 1): Há 3 etapas a considerar na determinação do zero: 1. Aproximação inicial ao zero. Considere-se um intervalo [a, b] tal que sendo f(x) uma função contínua, verifica-se obrigatoriamente f(a) f(b) < 0.
84 76 SEMANA 10. Processo iterativo: Começar com o intervalo [a, b] = [a 0, b 0 ] iterando da seguinte forma: x k+1 = a k + b k f(a k ) f(x k+1 ) < 0 a k+1 = a k, b k+1 = x k+1 f(a k ) f(x k+1 ) > 0 a k+1 = x k+1, b k+1 = b k O processo consiste em subdivisão sucessiva do intervalo em dois e escolha de um deles. 3. Critério de paragem: Se a k b k < ε, parar. O comprimento total do último intervalo escolhido é na pior das situações a medida de erro na aproximação ao zero. Por isso diz-se que mede a incerteza na localização do zero. É possível neste caso saber a priori o número de iterações (exp. (5..), [Pina(1995)]) necessário para garantir que o erro entre a aproximação e o zero exacto é menor que um determinado valor de desvio ε. Esse número de divisões pode ser calculado com base no comprimento do intervalo na última bissecção da seguinte forma: e k a b k, ou seja, expressando o critério de paragem em termos do número de iterações necessárias, vem ( ) a b a b a b e n n < ε < n n log > log ε ε ( ) log a b ε n >. log Pretendemos 3 dígitos decimais exactos no intervalo [a 0, b 0 ] = [0, 1] pelo que ε = = Assim, obtemos ( ) log a b ε n > = log ( ) log log = 9.97 n > 10. A seguinte tabela apresenta os resultados em cada iteração. k a k f(a k ) b k f(b k ) x k+1 f(x k+1 ) (.4076) (.4076) (.6378) (.6378) (.4076) (.109) (.109) (.4076) (.1419) (.109) (.1419) (.1017) (.109) (.1017) (.5544) (.5544) (.1017) (.66) (.66) (.1017) (.65)10 3
85 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 77 A aproximação ao zero obtida pelo método da Bissecção é z ii) Método da Falsa Posição (Ordem de convergência 1 para zeros simples): 1. Aproximação inicial ao zero. Considere-se um intervalo [a, b], tal que sendo f(x) uma função contínua, verificase obrigatoriamente f(a) f(b) < 0.. Processo iterativo: Começar com o intervalo [a, b]=[a 0, b 0 ] iterando da seguinte forma: x k+1 = a kf(b k ) b k f(a k ) f(b k ) f(a k ) f(a k ) f(x k+1 ) < 0 a k+1 = a k, b k+1 = x k+1 f(a k ) f(x k+1 ) > 0 a k+1 = x k+1, b k+1 = b k 3. Critério de paragem: Neste caso utiliza-se um critério universal baseado na série de Taylor. Numa vizinhança suficientemente pequena do zero pode considerar-se a seguinte aproximação f(x k+1 ) = f(z) + f (z) (x k+1 z). 1! Logo, f(x n ) f (x) = (x n z) = e n ε. Sendo m um minorante de f (x) no intervalo, tem-se f(x n ) mε. Por outro lado sendo M um majorante de f (x) no intervalo, tem-se f(x n ) M e n f(x n) m M z x n f(x n ) m z x n, Assim transforma-se um critério de paragem definido para as abcissas (mas cujo z é desconhecido), num definido para as ordenadas onde se conhece f(x n ). f(x n ) mε. Este é o critério de paragem universal que se vai utilizar. Neste problema a tolerância requerida é ε = 10 3 pois o intervalo onde está o zero z [0, 1]. Cálculo do minorante m:
86 78 SEMANA 10 sendo O valor de m minorante de f (x) no intervalo é obtido estudando f (x) no intervalo, f(x) = x 3 exp( x), f (x) = 3x + exp( x) e f (x) = 6x exp( x). Podemos observar que no intervalo [0, 1] a derivada f (x) será primeiro decrescente (até aproximadamente x = 0.6 e depois crescente. Uma forma expedita de estimar um minorante e um majorante para f (x) consiste em considerar a pior situação: 0 + exp( 1) f (x) = 3x + exp( x) f (x) 5 Então, m = e o critério de paragem vem f(x n ) Aproximação inicial: (a 0 = 0, b 0 = 1). Processo iterativo: Os valores obtidos no processo iterativo são apresentados na tabela a seguir, sendo o critério de paragem f(x n ) testado no fim de cada iteração (ver coluna da direita na tabela que se segue). Note-se que este critério de paragem foi deduzido na hipótese de a aproximação estar numa vizinhança suficientemente pequena do zero. Se o cálculo da derivada for simples de obter, pode ajustar-se em cada iteração o valor de m através da seguinte aproximação m f (x). k a k f(a k ) b k f(b k ) x k+1 f(x k+1 ) (0.7404) (0.7404) (0.3843)10 3 A aproximação do zero obtida pelo método da Falsa Posição é z = O extremo b k imobilizou-se no ponto x = 1. A convergência nestas situações pode ser acelerada utilizando a variante de Illinois ([Pina(1995)]). iii) Método da Secante (Ordem de convergência ( ) / para zeros simples): 1. Aproximação inicial ao zero. Sejam (x 1, f(x 1 )), (x 0, f(x 0 )) duas estimativas iniciais.. Processo iterativo: Aplicar de forma sucessiva a seguinte expressão com k = 0, 1,,... x k+1 = x k f(x k ) f [x k 1, x k ] onde f [x k 1, x k ] = f(x k) f(x k 1 ) x k x k 1
87 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL Critério de paragem: i) f(x n ) mε, ou ii) x k+1 x k mε. Utiliza-se ii) caso z seja um zero simples. Caso não se saiba ou não o seja, utiliza-se o critério universal i) onde m é o minorante da primeira derivada, f (x), no intervalo. Deste modo, temos para este problema com o método da secante a mesma expressão f(x n ) utilizada no método da Falsa Posição. Aproximação inicial: (a 0 = 0, b 0 = 1). Processo iterativo: Os valores obtidos no processo iterativo são apresentados na tabela a seguir, sendo o critério de paragem f(x n ) testado no fim de cada iteração (ver coluna da direita na tabela que se segue). k x k f(x k ) x k+1 f(x k+1 ) (0.7404) (0.7404) (0.36)10 3 A aproximação do zero obtida pelo método da Secante é z = Note-se que pelo critério ii) seria necessário continuar o processo iterativo até k = 3. Em ambiente de MATLAB encontram-se várias aplicações (funções do MATLAB) para a determinação de zeros de funções. No caso de funções de uma variável o algoritmo utilizado combina os métodos da bissecção, secante e interpolação inversa quadrática. Uma implementação em FORTRAN deste algoritmo encontra-se em Forsythe, G. E., M. A. Malcolm, and C. B. Moler, Computer Methods for Mathematical Computations, Prentice-Hall, A determinação de zeros de funções não-lineares com mais de uma variável está fora dos objectivos deste livro, apenas se referindo que em MATLAB se utiliza a função fsolve. Os algoritmos utilizados são os do método de Gauss-Newton, de Levenberg-Marquardt e em problemas de grande dimensão recorre-se a métodos dos mínimos quadrados. No caso particular de polinómios utiliza-se a função root que se baseia num algoritmo de cálculo de valores e vectores próprios de uma matriz associada ao problema. Para uma leitura mais detalhada sobre este assunto recomenda-se a consulta da respectiva parte do manual do MATLAB e as referências indicadas. 10. EQUAÇÕES NÃO-LINEARES: Método da Bissecção e zeros múltiplos Indique como se comporta o método da bissecção no caso de zeros múltiplos? Considere para a resposta, os casos de zeros de multiplicidade par e multiplicidade ímpar.
88 80 SEMANA 10 CONCEITOS TEÓRICOS A Figura exemplifica alguns dos diferentes tipos de zeros e a tabela define as características de zeros simples, duplos e triplos (ver definição 5.1. e teorema em Pina[1995]) (a) f(x) = x: Zero simples (b) f(x) = x : Zero duplo (c) f(x) = x 3 : Zero triplo Figura 10..1: Exemplos de funções com zeros de diferentes multiplicidades Tabela 10..1: Características dos zeros simples, duplos e triplos. a) b) c) Zero simples Zero duplo Zero triplo f(z) = 0 f(z) = f (z) = 0 f(z) = f (z) = f (z) = 0 f (z) 0 f (z) 0 f (z) 0 Em termos geométricos, dizemos que ao zero simples corresponde um declive não nulo, ao zero duplo corresponde um declive nulo, mas curvatura não nula, e ao zero triplo um declive e uma curvatura nulos. RESOLUÇÃO No caso de multiplicidade par, o método da bissecção não pode iterar por não ser possível encontrar um intervalo I = [a, b] : f(a) f(b) < 0. No caso de multiplicidade ímpar o método da bissecção funciona num intervalo com mudança de sinal nos valores da função para os extremos do intervalo EQUAÇÕES NÃO-LINEARES: Método da Falsa Posição O cálculo da carga crítica de instabilidade de Euler de uma estrutura, conduziu à seguinte equação: f(x) = x(x 10) sin(x) 4(x + 1) cos(x) + 88 = 0. Da análise de casos-limite sabe-se que a solução da equação está situada no intervalo [π, π]. Usando este intervalo inicial, efectue 4 iterações pelo método da falsa posição
89 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 81 para obter uma solução aproximada x 4. Verifique, justificando, se o erro absoluto de x 4 na aproximação ao zero nesse intervalo é inferior a RESOLUÇÃO Pelo teorema do valor intermédio, se f(x) for uma função contínua, existe um ponto z [π, π] : f(z) = 0. A função f(x) é contínua verificando-se que: f(π) = f(x) = x(x 10) sin(x) 4(x + 1) cos(x) + 88 = 0 f(π) f(π) f(π) < 0 Método da Falsa Posição (Ordem de convergência 1 para zeros simples): 1. Aproximação inicial ao zero. Sejam (a k, f(a k )), (b k, f(b k )) duas estimativas iniciais.. Processo iterativo: x k+1 = a kf(b k ) b k f(a k ) f(b k ) f(a k ) f(a k ) f(x k+1 ) < 0 a k+1 = a k, b k+1 = x k+1 f(a k ) f(x k+1 ) > 0 a k+1 = x k+1, b k+1 = b k tabela. A aproximação inicial é a 0 = π, b 0 = π. Os resultados do processo iterativo até obter x 4 são apresentados na seguinte k a k f(a k ) b k f(b k ) x k+1 f(x k+1 ) 0 (.31415) (.8187)10 +3 (.6831)10 +1 (.94748)10 +3 (.459) (.83411) (.459) (.83411)10 +3 (.6831)10 +1 (.94748)10 +3 (.53839) (.59571)10 + (.53839) (.59571)10 + (.6831)10 +1 (.94748)10 +3 (.54371)10 +1 (.51381) (.53839) (.59571)10 + (.54371)10 +1 (.51381)10 +1 (.5439) (.310)10 1 A aproximação obtida pelo método da Falsa Posição é x 4 = A verificação do erro absoluto de x 4 faz-se da seguinte forma: E = z x 4 < 10 4 f(x 4 ) < mε sendo o valor de m obtido no ponto x 4 por: f (x) = (7x + 168) sin(x) + (x 3 168x) cos(x), f (x 4 ) = f ( ) = Com este valor de m, verifica-se que: f(x 4 ) = < = 0.115, confirmando-se de facto que o erro absoluto é E x4 < 10 4.
90
91 11 TÓPICOS: Equações Não-Lineares (cont.): Natureza e localização de zeros de polinómios (Regra de Descartes e de Budan); Método de Newton-Raphson; Método do ponto fixo e aceleração de Aitken. Localização de zeros de polinómios. LEITURAS RECOMENDADAS: Capítulo 5 (pp ) do livro [Pina(1995)] 11.1 EQUAÇÕES NÃO-LINEARES: Natureza e localização de zeros de polinómios (metodologia) Para o polinómio p(x) = x 3 + x + 10x 0: a) Determine a natureza dos seus zeros, b) Obtenha a localização do zero positivo, e c) Determine o zero positivo pelo método da secante com 3 decimais exactos. RESOLUÇÃO a) Natureza dos zeros Aplicando a regra dos sinais de Descartes I (p. 19, [Pina(1995)]) ao polinómio p(x) = x 3 + x + 10x 0, observa-se que o número V de mudanças de sinal dos coeficientes do polinómio permite concluir pela existência de um zero real positivo, i.e., N + V = 1 V N + é par N + = 1 (1 zero real positivo) Aplicando agora a regra dos sinais de Descartes II (p. 19-3, [Pina(1995)]) constróise o polinómio p( x): q(x) = p( x) q(x) = x 3 + x 10x 0 onde se observa que o número V de mudanças de sinal dos coeficientes do polinómio p( x) permite concluir pela existência de nenhum zero real negativo ou dois, i.e.,
92 84 SEMANA 11 V = N V N é par N = 0 N = (0 ou zeros reais negativos) Por fim, tratando-se de um polinómio de grau 3 pode concluir-se que o polinómio p(x) tem duas possibilidades: i) 1 zero real positivo e zeros reais negativos, ou ii) 1 zero real positivo e zeros complexos. b) Localização dos zeros do polinómio Pelo Teorema (p. 193, [Pina(1995)]) os zeros do polinómio estão no interior de um círculo centrado na origem de raio: Ω = 1 + max 0 k n 1 a k a n. Com n = 3 e com os os coeficientes a k do polinómio obtém-se o valor: Ω = 1 + max 0 k a k a 3 = = 1. Todos os zeros do polinómio p(x) estão situados no círculo do plano complexo centrado na origem e de raio 1. Verificação: Pode-se testar se existe mudança de sinal no valor do polinómio entre dois pontos do intervalo [0, 1], i.e. { p(x) = x 3 + x p(0) = x 0 p(1) = observando-se que p(0) p(1) < 0. Pelo teorema do valor intermédio, se f(x) for uma função contínua, existe um ponto z [0, 1] : f(z) = 0. Podemos ainda proceder ao refinamento do intervalo onde se encontra o zero real positivo utilizando a Regra de Budan (p. 195, [Pina(1995)]) num intervalo. para isso precisamos das derivadas até à ordem n do polinómio. p(x) = x 3 + x + 10x 0 p (x) = 3x + 4x + 10 p (x) = 6x + 4 p (x) = 6 Para um intervalo [a, b] = [0, ] tem-se:
93 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 85 a = 0 : p(0) = 0; p (0) = 10; p (0) = 4; p (0) = 6 b = : p() = 16; p () = 30; p () = 16; p () = 6 onde pela regra de Budan se concluí que N V a V b = 1 N = 1 (1 zero real positivo no intervalo [0, ]), (V a V b ) N é par i.e., o zero real está neste intervalo. Por fim sugere-se que aplique a regra de Budan ao intervalo [, 1]. c) Método da Secante (Ordem de convergência ( ) / para zeros simples): Aproximação inicial: Sejam os pontos (x 1, f(x 1 )), (x 0, f(x 0 )) duas estimativas iniciais. Processo iterativo:itera-se sucessivamente em k=0,1,,... x k+1 = x k f(x k ) f [x k 1, x k ] onde f [x k 1, x k ] = f(x k) f(x k 1 ) x k x k 1 Critério de paragem: f(x n ) M e n f(x n) m M z x n f(x n ) m z x n Logo f(x n ) mε onde m é o minorante da primeira derivada, f (x), no intervalo. Tratando-se de um zero simples pode utilizar-se também o seguinte critério de paragem: x k+1 x k ε Neste problema como pretendemos 3 decimais exactas no intervalo [0, ], então ε = Para utilizar o critério universal calcula-se da seguinte forma o minorante, m: f(x) = p(x) = x 3 + x + 10x 0 f (x) = p (x) = 3x + 4x + 10 f (x) = p (x) = 6x + 4 > 0 no intervalo [0, ], logo aí f (x) é monótona crescente.
94 86 SEMANA 11 Conclui-se de 10 3x + 4x , que o minorante m ocorre em x = 0, com valor m = 10 e por isso o critério de paragem será f(x n ) = 10. Aproximação inicial: x 1 = 0, x 0 = Processo iterativo: Os resultados encontram-se na seguinte tabela. k x k f(x k ) x k+1 f(x k+1 ) A aproximação do zero obtida pelo método da Secante é z = , pois f(x 4 ) mε. 11. EQUAÇÕES NÃO-LINEARES: Método de Newton-Raphson a) Verifique que a função f(x) = 16 exp(x) 48+7 exp( x) tem um zero no intervalo [0.5, 1] e outro no intervalo [ 0.5, 0]. Verifique também que não existem mais zeros (justifique). b) Pretende-se obter uma aproximação do zero positivo da equação f(x) = 0. Partindo de x 0 = 1.0, efectue 3 iterações de Newton-Raphson. Verifique se o erro da aproximação de x 3 ao zero é inferior a RESOLUÇÃO a) A função f(x) = 16 exp(x) exp( x) tem os seguintes limites: lim f(x) = +, x ± e a sua derivada f (x) = 16 exp(x) 7 exp( x) anula-se no ponto f (x) = 0 16 exp(x) 7 exp( x) = 0 x =
95 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 87 Se x ], 0.616[, f (x) < 0 f(x) é monótona decrescente. Se x ]0.616, + [, f (x) > 0 f(x) é monótona crescente. Logo, como f(0.616) = 6.43 < 0, então existe um único zero no intervalo ], 0.616[ e mais outro único zero no intervalo ]0.6164, + [. b) Método de Newton-Raphson (Ordem de convergência para zeros simples) 1. Aproximação inicial ao zero. Seja x 0 uma estimativa inicial do zero.. Processo iterativo: Itera-se sucessivamente em k=0,1,,... utilizando a seguinte expressão: x k+1 = x k f (x k) f (x k ) Aproximação inicial: x 0 = 1 Processo iterativo: São pedidas 3 iterações. Os resultados são apresentados na seguinte tabela. k x k f(x k ) f (x k ) 0 1 (.545)10 1 (.33559) (.6760)10 0 (.534) (.176)10 1 (.4034) (.1881)10 4 A aproximação ao zero é z = Para a verificação do erro absoluto em x 3 faz-se: E = z x 3 < 10 5 f(x 3 ) < mε, f (x) = 16 exp(x) 7 exp( x), f (x 3 ) = f ( ) = (.3998)10, f(x 3 ) = (.1881)10 4 < (.3998) = (.3998)10 3. Confirma-se que E x3 < Poderia ter utilizado o critério aplicável a converg encias supralineares já que se trata de um zero simples.
96 88 SEMANA 11 As Figuras e 11.. mostram a função f(x) e a sua derivada no intervalo [ 1, 1] Figura 11..1: Função f(x) = 16 exp(x) exp( x) no intervalo [ 1, 1] Figura 11..: Função f (x) = 16 exp(x) 7 exp( x) no intervalo [ 1, 1] 11.3 EQUAÇÕES NÃO-LINEARES: Método do Ponto Fixo. Localização de zeros de polinómios e aceleração de Aitken Determine com 5 dígitos correctos o zero positivo da equação x 3 x x 1 = 0 utilizando o método do Ponto Fixo.
97 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 89 CONCEITOS TEÓRICOS Teorema para a convergência do método do Ponto Fixo (p. 186, [Pina(1995)]): Se existir um intervalo I [a, b] tal que g(i) I e relativamente ao qual a função g é contractiva, g (x) < 1, então esta função possui um único ponto fixo neste intervalo, e a sucessão {x k } gerada por x k+1 = g(x k ), com k = 0, 1,... converge para este ponto fixo qualquer que seja a estimativa inicial x 0 I. Uma função g(x) contínua num intervalo I diz-se contractiva nesse intervalo se g (x) < 1 para todo x I. Observando a Figura constatamos que o método do ponto fixo tem como base geométrica a determinação do ponto de intersecção de g(x) com a recta y = x, correspondendo este ponto ao zero da função f(x). Ou seja, transforma-se o problema de localização de zeros de f(x) no problema matematicamente equivalente de determinação da intersecção da g(x) com a recta y = x. A vantagem é, como veremos, em termos de algoritmo o mais simples que se pode obter. Dada uma aproximação inicial x 0 o processo iterativo consiste simplesmente em calcular sucessivamente para k = 0, 1,...: x k+1 = g (x k ) A prova de convergência pode tornar-se num problema de alguma dificuldade. Em termos práticos, podemos limitarmo-nos a verificar se existe convergência dos resultados numéricos para o ponto fixo da função no intervalo pretendido. Na Figura estão exemplificados os casos: a) processo iterativo convergente e b) processo iterativo divergente. Quer os casos convergentes, quer os divergentes, podem ocorrer em "escada"ou por "envolvente". (a) Convergência (b) Divergência Figura : Convergência e divergência do método do ponto fixo Aceleração de Aitken: Como escreve [Pina(1995)] na p. 188: Se g (z) 0, a convergência do método iterativo de ponto fixo é linear, o que, frequentemente significa que é lenta. No entanto, é possível acelerar a convergência por um processo devido a Aitken. A fórmula para proceder à aceleração de Aitken é: x k = x k ( x k) x k
98 90 SEMANA 11 onde se tem o operador de diferença progressiva: x k = x k+1 x k e x k = x k+ x k+1 + x k, ou seja, x k,m+1 = x k,m (x k+1,m x k,m ) x k+,m x k+1,m + x k,m com k, m = 0, 1,... O indíce m é para o cálculo com a aceleração de Aitken. RESOLUÇÃO Método do ponto fixo (Ordem de convergência 1): Como é pedido para aplicar o método do ponto fixo, considere-se a equação f(x) = 0 escrita na forma x = g(x). De imediato verificamos que podemos escolher várias funções g(x), mas como se verá nem todas são escolhas válidas para utilizar com este método. Para cada função escolhida verificam-se as condições de convergência. Escolha-se a seguinte função. Função 1: g(x) = x 3 x 1 = x(3x x) Para se garantir que o processo é convergente teremos desde já que verificar se g (x) < 1 num intervalo I que contenha a raiz e depois se g(i) I. Convergência: O processo não é convergente em todos os pontos, pois g (x) = 3x x = 3x(x ) dependendo do intervalo escolhido poderá em módulo ser maior do que 1. Neste problema não nos é indicado um intervalo que contenha o zero, pelo que temos de determinar uma localização dos zeros desta função polinomial. Localização dos zeros Pelo Teorema (p. 193, [Pina(1995)]): Ω = 1 + max 0 k n 1 Com n = 3, fica Ω = 1 + max 0 k a k a 3 a k a n = = Todos os zeros estão situados no círculo do plano complexo de raio. Verificação: { p(x) = x 3 x p(0) = 1 x 1 p() = 1 p(0) p() < 0 Pelo teorema do valor intermédio (p. 315 do livro [Ferreira(1985)]), se f(x) for uma função contínua, existe um ponto z [0, ] : f(z) = 0.
99 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 91 Um refinamento do intervalo onde se encontra o zero real positivo pode ser determinado pela Regra de Budan (p. 195, [Pina(1995)]): p(x) = x 3 x x 1, p (x) = 3x x 1, p (x) = 6x, p (x) = 6, onde para verificar se o zero está no intervalo [0, 1] basta fazer: a = 0 : p(0) = 1; p (0) = 1; p (0) = ; p (0) = 6 b = 1 : p(1) = ; p (1) = 0; p (1) = 4; p (1) = 6 N V a V b = 0 N = 0 (0 zeros reais positivo no intervalo [0, 1]) (V a V b ) N é par O zero real positivo está localizado no intervalo [1, ], pois não existe nenhum em [0, 1], como verificámos. Ora, para x > 1 facilmente se conclui que g (x) = 3x(x ) em módulo é maior do que 1. Temos por isso que escolher outra função que esta não possui as condições de convergência. Função : Como f(x) = x 3 x x 1, pode obter-se para g(x) a seguinte função: g(x) = (x + x + 1) 1/3 Como anteriormente referido, para se garantir que o processo é convergente tem que se assegurar que g (x) < 1 num intervalo que contenha a raiz. Ora g (x) = 1 x (x + x + 1), /3 não sendo óbvio que no intervalo [1, ] se tenha g (x) < 1. Para isso vai-se estudar a segunda derivada: g (x) = 1 (x + x + 1) /3 (x + 1) /3(x + x + 1) 1/3, 3 (x + x + 1) 4/3 onde, multiplicando a segunda parcela do numerador por (x + x + 1) (x + x + 1), permite obter a expressão:
100 9 SEMANA 11 (x+1) g (x) = (x + x + 1) /3 [1 1 3 (x +x+1) ], 3 (x + x + 1) /3 g (x) = 9 (x + x ) (x + x + 1). 5/3 Pode agora concluir-se que para x [1, ] se terá g (x) monotona decrescente. É agora suficiente conhecer os valores da derivada nos extremos deste intervalo. g (x) = 1 x + 1 g (1) < 1 3 (x + x + 1) /3 g () < 1 Falta verificar que g(i) I. Como no intervalo x [1, ] se verifica g (x) = 1 x (x + x + 1), /3 então a função g(x) é monotona. Basta agora verificar o que se passa nos extremos do intervalo. { g(x) = (x + x + 1) 1/3 g(1) 1.44 [1, ] g() [1, ] Como [g(1), g()] [1, ] estão assim garantidas as condições de convergência para o ponto fixo no caso da segunda função Figura 11.3.: Polinómio x 3 x x 1 no intervalo [1, ]
101 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL (a) Função g(x) (b) Função g (x) Figura : Funções g(x) e g (x) no intervalo [1, ] A aproximação inicial pode agora ser escolhida como x 0 = 1.5. O processo iterativo consiste simplesmente em calcular sucessivamente para k=0,1,...: x k+1 = g (x k ) O critério de paragem de acordo com o enunciado do Problema em [Pina(1995)] (sugere-se a resolução desse problema), para o método do ponto fixo prevê a seguinte condição: e k M 1 M x k x k 1 onde g (x) M < 1 em I = [a, b], onde, se M 1/ então e k x k x k 1 x k x k 1 < ε Como são pedidos 5 dígitos correctos e tendo em conta que o zero está localizado entre 1 e 10 (em ordem de grandeza) então ε = = 10 4 ou seja quatro decimais correctos. k x k x k x k (.18) (.85) (.39) (.18) (.84) (.39) (.18) (.83) (.38) (.18) (.80)10 4 Verifica-se que x 11 x 10 = (.80)10 4 < 10 4, pelo que a aproximação do zero obtida pelo método do ponto fixo é z = (.1839)10 1.
102 94 SEMANA 11 Aceleração de Aitken: Depois de calculados x 0, x 1 e x podemos usar a aceleração de Aitken, ou seja k x k x k x k (.1) (.8) (.90) (.40) (.50)10 4 Verifica-se que x 5 x 4 = (.50)10 4 < 10 4, pelo que a aproximação do zero obtida pelo método do ponto fixo é z = (.1839)10 1. Bastava pararmos em k = 3, dado que x 3 x = (.90)10 4.
103 1 TÓPICOS: Sistemas de Equações Lineares: Método de Gauss; Método de Gauss com escolha de pivot total; Método de Gauss com escolha de pivot parcial. LEITURAS RECOMENDADAS: Capítulo 6 (pp ) do livro [Pina(1995)] 1.1 SISTEMAS DE EQUAÇÕES LINEARES: Método de Gauss Resolva pelo método de Gauss o seguinte sistema de equações lineares: x 1 + x + x 3 = 4 x 1 x + x 3 = 4 x 1 + x + x 3 = 5 ALGORITMO Transformar por n-1 etapas sucessivas a matriz A numa matriz triangular superior. Algoritmo para o método de condensação de Gauss: Ciclo de k = 1,,..., n-1 a (k+1) ij b (k+1) i (coluna a factorizar) Ciclo de i = k+1,,..., n (linhas abaixo do pivot a kk ) m ik = a (k) ik /a (k) kk (o pivot a kk não pode ser nulo) Ciclo de j = k+1,,..., n (colunas à direita do pivot a kk ) = a (k) ij m ik a (k) kj = b (k) i Continuar ciclo em j Continuar ciclo em i Continuar ciclo em k m ik b (k) k Algoritmo para as substituições ascendentes: Ciclo de i = n, n-1,...,1 sum=0 Ciclo de k = i+1,..., n sum = sum + a ik x k Continuar ( ciclo em ) k x (n 1) i = b (n 1) i sum Continuar ciclo em i /a ii (linhas)
104 96 SEMANA 1 RESOLUÇÃO Sistema de equações Ax = b escrito na forma matricial: x 1 x x 3 = Condensação: Procedendo sucessivamente, obtemos k = 1: m 1 = a(1) 1 = 1 a (1) 1 = 1 11 a () = a(1) m 1a (1) 1 = = a () 3 = a(1) 3 m 1a (1) 13 = 1 1 = 1 b () = b (1) m 1 b (1) 1 = = 0 m 31 = a(1) 31 = a (1) 1 = 11 a () 3 = a(1) 3 m 31a (1) 1 = 1 1 = 1 a () 33 = a(1) 33 m 31a (1) 13 = 1 1 = 1 b () 3 = b (1) 3 m 31 b (1) 1 = 5 4 = 3 k = :
105 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 97 m 3 = a() 3 = 1 a () = 1 a (3) 33 = a() 33 m 3a () 3 = = 3 b (3) 3 = b () 3 m 3 b () = = / 3 O sistema fica então, / x 1 x x 3 = Por substituição ascendente obtém-se: 3 x 3 = 3 x 3 =, x + x 3 = 0 x + = 0 x = 1, x 1 + x + x 3 = 4 x = 4 = 0 x 1 = 1. A solução do sistema de equações é: x 1 x x 3 = SISTEMAS DE EQUAÇÕES LINEARES: Método de Gauss com escolha de pivot total Considere os sistemas de equações cujas matrizes A e segundos membros b são dados por: a ij = (i j) /(i + j), i, j = 1,..., n; b k = 1/k, k = 1,..., n Resolva o sistema em aritmética exacta para n = 3 pelo método de Gauss com escolha de pivot total.
106 98 SEMANA 1 CONCEITOS TEÓRICOS E ALGORITMOS Método de Gauss com escolha de pivot total: Consiste em transformar por etapas sucessivas a matriz A numa matriz triangular superior. De acordo com a técnica de pivot total, são candidatos a pivot todos os elementos a (k) ij, i, j = k,..., n, ou seja, todos os elementos abaixo e à direita de a (k) kk incluindo o póprio, i.e., todos os elementos da parte activa de A (k), determinando-se dois índices p k e q k tais que a (k) p k q k = max a ij k i,j n Se p k k trocam-se as linhas k e p k e se q k k efectua-se também uma troca das colunas k e q k. Trocadas as linhas e colunas no início da etapa, quando da escolha de pivot, a factorização prossegue como no método sem escolha de pivot. Apenas convém reter os índices de troca de colunas já que correspondem a troca de variáveis. Algoritmo para o método de condensação de Gauss com pivot total: Ciclo de k = 1,,..., n-1 Escolher pivot (total) tal que a (k) kk Trocar as linhas e colunas necessárias Registar as trocas de coluna efectuadas (coluna a condensar) = max k i,j n a ij Ciclo de i = k+1,,..., n (linhas abaixo do pivot a kk ) m ik = a (k) ik /a (k) kk (o pivot a kk não pode ser nulo) Ciclo de j = k+1,,..., n (colunas à direita do pivot a kk ) a (k+1) ij = a (k) ij m ik a (k) kj Continuar ciclo em j b (k+1) i = b (k) i m ik b (k) k Continuar ciclo em i Continuar ciclo em k Algoritmo para as substituições ascendentes: Ciclo de i = n, n-1,...,1 (linhas) sum=0 Ciclo de k = i+1,..., n sum = sum + a ik x k Continuar ciclo em k ( ) x (n 1) i = b (n 1) i sum Continuar ciclo em i /a ii Caso se tenha procedido a alguma troca de colunas repôr os indíces de acordo com as trocas realizadas.
107 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 99 RESOLUÇÃO Com n = 3 temos o seguinte sistema de equações Ax = b escrito na forma matricial: 0 1/3 1 1/3 0 1/5 1 1/5 0 x 1 x x 3 = 1 1/ 1/3 Este sistema só pode ser resolvido com troca de linhas ou colunas, já que os valores zero na posição de pivot não são admissíveis. Permutação e condensação: Procedendo sucessivamente, obtemos k = 1: 0 1/ /3 0 1/5 1/ 1 1/5 0 1/3 x 1 x x 3 Trocar a 1. a linha com a 3. a linha (não afecta a ordem das variáveis): 1 1/5 0 1/3 1/3 0 1/5 1/ 0 1/3 1 1 x 1 x x 3 m 1 = a(1) 1 = 1/3 a (1) 1 = a () = a(1) m 1a (1) 1 = = 1 15 a () 3 = a(1) 3 m 1a (1) 13 = = 1 5 b () = b (1) m 1 b (1) 1 = = 7 18 k = : 1 1/5 0 1/3 0 1/15 1/5 7/18 0 1/3 1 1 x 1 x x 3
108 100 SEMANA 1 A escolha de pivot na submatriz activa requer trocar a. a linha com a 3. a linha seguida de troca da. a coluna com a 3. a coluna: 1 0 1/5 1/ / /5 1/15 7/18 x 1 x 3 x A condensação prossegue da mesma forma: m 3 = a() 3 = 1/5 a () 1 = 1 5 a (3) 33 = a() 33 m 3a () 3 = = 15 b (3) 3 = b () 3 m 3 b () = = obtendo-se: 1 0 1/5 1/ / /15 17/90 x 1 x 3 x O sistema fica então com a ordem das variáveis trocada em resultado da troca de colunas anteriormente efectuada: 1 0 1/ /3 0 0 /15 x 1 x 3 x = Por substituição ascendente obtém-se: 15 x = x = 17 1 x x = 1 x ( 3 17 ) 1 x x = 1 3 x ( 5 17 ) 1 1/3 1 17/90 A solução do sistema de equações é dada por: x 1 x x 3 = +37/60 17/1 +53/36 x = 0 x 3 = = 1 3 x 1 = 37 60
109 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL SISTEMAS DE EQUAÇÕES LINEARES: Método de Gauss com escolha de pivot parcial Considere a matriz A n n com n = 4 cujas entradas a ij são definidas para i, j = 1,,..., n de acordo com a seguinte regra e o vector b indicado. /i; i = j a ij = 1/ i j ; i j b i = ( ) T Resolva o sistema de equações lineares Ax = b pelo método de Gauss com escolha de pivot parcial. Faça as operações com a precisão da sua calculadora mas apresente os resultados (intermédios e finais) em F P (10, 4,, A). CONCEITOS TEÓRICOS Método de Gauss com pivot parcial: Transformar por etapas sucessivas a matriz A numa matriz triangular superior. De acordo com a técnica de pivot parcial, são candidatos a pivot os elementos a (k) ik, i = k,..., n da matriz A(k), escolhendo-se aquele que tiver maior valor absoluto na parte activa da respectiva coluna. Mais precisamente, seja p k um índice tal que a (k) p k k = max a (k) ik k i n Se p k k procede-se à permuta das linhas k e p k. Trocadas as linhas, a aplicação do algoritmo prossegue normalmente, não havendo necessidade de registar as trocas para o cálculo das incógnitas já que trocas de linha não afectam a ordem das incógnitas. Algoritmo para o método de condensação de Gauss com pivot parcial: Ciclo de k = 1,,..., n-1 Escolher pivot (parcial) tal que a (k) kk Trocar as linhas e colunas necessárias (coluna a condensar) = max k i n a ij Ciclo de i = k+1,,..., n (linhas abaixo do pivot a kk ) m ik = a (k) ik /a (k) kk (o pivot a kk não pode ser nulo) Ciclo de j = k+1,,..., n (colunas à direita do pivot a kk ) a (k+1) ij = a (k) ij m ik a (k) kj Continuar ciclo em j b (k+1) i = b (k) i m ik b (k) k Continuar ciclo em i Continuar ciclo em k Algoritmo para as substituições ascendentes: Ciclo de i = n, n-1,...,1 sum=0 Ciclo de k = i+1,..., n (linhas)
110 10 SEMANA 1 sum = sum + a ik x k Continuar ciclo em k ( ) x (n 1) i = b (n 1) i sum Continuar ciclo em i /a ii RESOLUÇÃO O sistema de equações Ax = b a resolver pode ser escrito na seguinte forma: Permutação e condensação: x 1 x x 3 x 4 0 = Procedendo sucessivamente à condensação de acordo com o algoritmo, fazendo os cálculos na precisão da calculadora e escrevendo os valores em FP tem-se: k = 1: (.000) (.1000) (.5000)10 00 (.3333)10 00 (.0000)10 00 (.1000) (.1000) (.1000) (.5000)10 00 (.1000) (.5000)10 00 (.1000) (.6667)10 00 (.1000) (.0000)10 00 (.3333)10 00 (.5000)10 00 (.1000) (.5000)10 00 (.0000)10 00 Não é necessário trocar linhas. m 1 = a(1) 1 = 1 a (1) = a () = a(1) m 1a (1) 1 = = 0.5 = (.5000)1000 a () 3 = a(1) 3 m 1a (1) 13 = = 0.75 = (.7500)1000 a () 4 = a(1) 4 m 1a (1) 14 = = = (.3334)1000 b () = b (1) m 1 b (1) 1 = = 1 = (.1000)10 +01
111 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 103 m 31 = a(1) 31 = 0.5 a (1) = a () 3 = a(1) 3 m 31a (1) 1 = = 0.75 = (.7500)1000 a () 33 = a(1) 33 m 31a (1) 13 = = = (.5417)1000 a () 34 = a(1) 34 m 31a (1) 14 = = = (.9167)1000 b () 3 = b (1) 3 m 31 b (1) 1 = = 0 = (.0000)10 00 m 41 = a(1) 41 = = a (1) 11 a () 4 = a(1) 4 m 41a (1) 1 = = = (.3334)1000 a () 43 = a(1) 43 m 41a (1) 13 = = = (.9167)1000 a () 44 = a(1) 44 m 41a (1) 14 = = = (.4444)1000 b () 4 = b (1) 4 m 41 b (1) 1 = = 0 = (.0000)10 00 k = : (.000) (.1000) (.5000)10 00 (.3333)10 00 (.0000)10 00 (.0000)10 00 (.5000)10 00 (.7500)10 00 (.3334)10 00 (.1000) (.0000)10 00 (.7500)10 00 (.5417)10 00 (.9167)10 00 (.0000)10 00 (.0000)10 00 (.3334)10 00 (.9167)10 00 (.4444)10 00 (.0000)10 00 Trocar a. a linha com a 3. a linha: (.000) (.1000) (.5000)10 00 (.3333)10 00 (.0000)10 00 (.0000)10 00 (.7500)10 00 (.5417)10 00 (.9167)10 00 (.0000)10 00 (.0000)10 00 (.5000)10 00 (.7500)10 00 (.3334)10 00 (.1000) (.0000)10 00 (.3334)10 00 (.9167)10 00 (.4444)10 00 (.0000)10 00
112 104 SEMANA 1 m 3 = a() 3 = 0.5 a () 0.75 = a (3) 33 = a() 33 m 3a () 3 = = = (.3888)1000 a (3) 34 = a() 34 m 3a () 4 = = = (.778)1000 b (3) 3 = b () 3 m 3 b () = = 1 = (.1000) m 4 = a() 4 = a () 0.75 = a (3) 43 = a() 43 m 4a () 3 = = = (.6759)1000 a (3) 44 = a() 44 m 4a () 4 = = = (.3693)10 01 b (3) 4 = b () 4 m 4 b () = = 0 = (.0000)10 00 k = 3: (.000) (.1000) (.5000)10 00 (.3333)10 00 (.0000)10 00 (.0000)10 00 (.7500)10 00 (.5417)10 00 (.9167)10 00 (.0000)10 00 (.0000)10 00 (.0000)10 00 (.3888)10 00 (.778)10 00 (.1000) (.0000)10 00 (.0000)10 00 (.6759)10 00 (.3693)10 01 (.0000)10 00 Trocar a 3. a linha com a 4. a linha: (.000) (.1000) (.5000)10 00 (.3333)10 00 (.0000)10 00 (.0000)10 00 (.7500)10 00 (.5417)10 00 (.9167)10 00 (.0000)10 00 (.0000)10 00 (.0000)10 00 (.6759)10 00 (.3693)10 01 (.0000)10 00 (.0000)10 00 (.0000)10 00 (.3888)10 00 (.778)10 00 (.1000)10 +01
113 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 105 m 43 = a(3) 43 = a (3) = a (4) 44 = a(3) 44 m 43a (3) 34 = = = (.990)1000 b (4) 4 = b (3) 4 m 43 b (3) 3 = = 1 = (.1000) O sistema condensado é dado por: (.000) (.1000) (.5000)10 00 (.3333)10 00 (.0000)10 00 (.7500)10 00 (.5417)10 00 (.9167)10 00 (.0000)10 00 (.0000)10 00 (.6759)10 00 (.3693)10 01 (.0000)10 00 (.0000)10 00 (.0000)10 00 (.990)10 00 x 1 x x 3 x 4 = (.1000)10 00 (.1000)10 00 (.1000)10 00 (.1000) Procedendo agora à substituição ascendente obtém-se: 0.990x 4 = 1 x 4 = = (0.3344) x x 4 = x ( ) = 0 x 3 = = (.187) x x x 4 = x ( ) = 0 x = = (.3956) x 1 + x + 0.5x x 4 = 0 x ( ) = 0 A solução do sistema de equações é: x 1 x x 3 x 4 (.1466) = +(.3956) (.187)10 00 (0.3344) x 1 = = (.1466) Esta resolução ilustra o trabalho por vezes necessário para localizar um erro num código que estejamos a programar. É pedido que se utilize a calculadora para as operações elementares (processador) e se escrevesse os resultados em FP (memória). Em geral, estaremos a trabalhar com dois sistemas FP, um no cálculo e outro no registo.
114
115 13 TÓPICOS: Resolução de Sistemas de Equações Lineares (cont.): Métodos de factorização: método de Doolittle e Crout (Factorização LU); Método de Choleski (Factorização LL T ); Factorização LDL T ; Método de Doolittle e cálculo de inversa, determinante e número de condição de uma matriz. LEITURAS RECOMENDADAS: Capítulo 6 (pp e 43 65) do livro [Pina(1995)] 13.1 SISTEMAS DE EQUAÇÕES LINEARES: Métodos de Doolittle e Crout. Factorização LU Repita o exercício 1.1 empregando agora em aritmética exacta o método da factorização triangular de Doolittle e de Crout, ou seja, resolva pelos métodos referidos o seguinte sistema de equações lineares: x 1 + x + x 3 = 4 x 1 x + x 3 = 4 x 1 + x + x 3 = 5 CONCEITOS TEÓRICOS Método de Doolittle: Factorizar LU com L de diagonal unitária. Através do produto de matrizes aqui ilustrado apenas para o caso de dimensão n = 3 podem obter-se os coeficientes L ij e U ij com U 11 U 1 U 13 L U U 3 L 31 L U 33 = A 11 A 1 A 13 A 1 A A 3 A 31 A 3 A 33,
116 108 SEMANA 13 de onde se obtém sucessivamente U 11, L 1 e L 31 ; U 1, U e L 3 ; U 13, U 3 e U 33, originando as seguintes expressões: u ij = a ij i 1 m=1 l im u mj ; j i l ij = ( a ij j 1 m=1 l im u mj ) /u jj ; j < i À sucessão de U ij e L ij indicada antes destas expressões, chamaremos varrimento por colunas (em Doolittle). Método de Crout: Factorizar LU com U de diagonal unitária. Através do produto de matrizes aqui ilustrado apenas para o caso de dimensão n = 3 podem obter-se os coeficientes L ij e U ij com L U 1 U 13 L 1 L U 3 L 31 L 3 L = A 11 A 1 A 13 A 1 A A 3 A 31 A 3 A 33 de onde se obtém sucessivamente L 11, U 1 e U 13 ; L 1, L e U 3 ; L 31, L 3 e U 33, originando as seguintes expressões:, l ij = a ij j 1 m=1 l im u mj ; j i u ij = ( a ij i 1 m=1 l im u mj ) /l ii, j > i À sucessão de L ij e U ij indicada antes destas expressões, chamaremos varrimento por linhas (em Crout). RESOLUÇÃO O sistema de equações Ax = b é escrito na forma matricial: x 1 x x 3 = Aplicando o método de Doolittle com o seu varrimento por colunas j = 1,,..., n tem-se:
117 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 109 Coluna 1 (j = 1): u i1 = a i1, i 1 u 11 = a 11 u 11 = 1 l i1 = a i1 /u 11, i > 1 l i1 = a i1 l 1 = a 1 = 1; l 31 = a 31 = Coluna (j = ): u i = a i i 1 m=1 u 1 = a 1 = 1; l i = ( a i l im u m, i u = a (l 1 u 1 ) = 1 (1 1) = ) 1 l im u m /u, i > m=1 l 3 = (a 3 l 31 u 1 )/u = 1 1 = 1 Coluna 3 (j = 3): u i3 = a i3 i 1 m=1 l im u m3, i 3 u 13 = a 13 = 1; u 3 = a 3 (l 1 u 13 ) = (1 1) = 1; u 33 = a 33 (l 31 u 13 + l 3 u 3 ) = 1 ( ) 1 = 3 L = / 1 e U = / Após a factorização de A = LU fazemos a substituição Ux = y e resolve-se primeiro para y, i.e.: Ly = b Ax = b (LU)x = b L(Ux) = b Ux = y Faz-se a determinação de y resolvendo Ly = b: / 1 y 1 y y 3 = y = 4 0 3
118 110 SEMANA 13 seguido da determinação de x resolvendo Ux = y: / x 1 x x 3 = x = 1 1 O vector x é a solução do sistema de equações. ==================================== Aplicando o método de Crout com o seu varrimento por linhas i = 1,,..., n temse: Linha 1 (i = 1): l 1j = a 1j, j 1 l 11 = a 11 l 11 = 1 u 1j = a 1j /l 11, j > 1 u 1j = a 1j u 1 = a 1 = 1; u 13 = a 13 = 1 Linha (i = ): l j = a j j 1 m=1 l 1 = a 1 = 1; l m u mj, j l = a (l 1 u 1 ) = 1 (1 1) = u j = (a j l 1 u 1j ) /l, j > u 3 = (a 3 l 1 u 13 )/l = 1 1 = 1 Linha 3 (i = 3): l 3j = a 3j j 1 m=1 l 3m u mj, j 3 l 31 = a 31 = ; l 3 = a 3 (l 31 u 1 ) = 1 ( 1) = 1; [ ( l 33 = a 33 (l 31 u 3 + l 3 u 3 ) = ( 1) 1 )] = 3 L = / e U = / 0 0 1
119 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 111 À semelhança do que efectuamos anteriormente, após a factorização de A = LU fazemos Ly = b Ax = b (LU)x = b L(Ux) = b Ux = y A determinação de y faz-se resolvendo Ly = b: / y 1 y y 3 = y = E, por fim, a determinação de x faz-se resolvendo Ux = y: / x 1 x x 3 = 4 0 x = O vector x é a solução do sistema de equações, que em aritmética exacta tem de ser o mesmo que o obtido pelo método de Doolittle SISTEMAS DE EQUAÇÕES LINEARES: Factorização LU. Cálculo do determinante a) Calcule, em aritmética exacta, a factorização LU da matriz (com L unitária) A = b) Calcule o determinante de A a partir da factorização obtida. CONCEITOS TEÓRICOS Na resolução que se segue, da aplicação do método de condensação de Gauss obtém-se a factorização LU, onde L é uma matriz de diagonal unitária cujos restantes elementos não nulos são os coeficientes m ij, sendo U a matriz resultante da condensação (sem escolha de pivot). Definição: O determinante de uma matriz A de dimensão n n é obtido após a factorização de Gauss sem escolha de pivot fazendo: n n n det A = det(lu) = det L det U = l ii u ii = 1 i=1 i=1 i=1 u ii pois L é uma matriz de diagonal unitária, isto é, l ii = 1 para i = 1,..., n.
120 11 SEMANA 13 RESOLUÇÃO a) Condensação de Gauss: Procedendo sucessivamente, obtemos k = 1: m 31 = a(1) 31 = 5 a (1) 1 = 5 11 a () 3 = a(1) 3 m 31a (1) 1 = = 0 a () 33 = a(1) 33 m 31a (1) 13 = = 45 a () 34 = a(1) 34 m 31a (1) 14 = = 5 k = : m 4 = a() 4 = 1 a () 9 a (3) 43 = a() 43 m 4a () 3 = = 0 a (3) 44 = a() 44 m 4a () 4 = = 3 Obteve-se desta forma a factorização LU da matriz (com L unitária) dada pelas matrizes: U =
121 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 113 e L = m m 31 m m 41 m 4 m 43 1 = / b) O cálculo do determinante da matriz A é feito por: det A = det(lu) = det L det U = 1 = 1 [1 9 ( 45) 3] = i=1 u ii 13.3 SISTEMAS DE EQUAÇÕES LINEARES: Método de Choleski e factorização LDL T a) Obtenha em aritmética exacta a factorização da matriz de Pascal para n = 3 (a ij : a 1j = 1, a i1 = 1, a ij = a (i 1)j + a i(j 1) ), recorrendo ao método de Choleski. b) Usando o resultado anterior, obtenha a factorização LDL T. CONCEITOS TEÓRICOS Método de Choleski: Factorizar LL T. Através do produto de matrizes aqui ilustrado apenas para o caso de dimensão n = 3 podem obter-se os coeficientes L ij numa só etapa com: L L 1 L 0 L 11 L 1 L 13 0 L L 3 = A 11 A 1 A 13 A 1 A A 3, L 31 L 3 L L 33 A 31 A 3 A 33 ou seja, calculando sucessivamente L 11, L 1 e L 31 ; L e L 3 ; L 33 o que origina as seguintes expressões: l jj = l ij = ( ( a jj a ij j 1 m=1 j 1 m=1 l jm ) 1/ De notar que se escolhe a raiz positiva. l im l jm ) /l jj, i > j À sucessão de L ij indicada antes destas expressões, chamaremos varrimento por colunas (em Choleski).
122 114 SEMANA 13 RESOLUÇÃO a) A matriz A é simétrica: A = Se fôr factorizável então é definida positiva. A sua factorização de Choleski é obtida em varrimento por colunas da seguinte forma: Coluna 1 (j = 1) l 11 = (a 11 ) 1/ = 1 l 1 = a 1 /l 11 = 1/1 = 1; l 31 = a 31 /l 11 = 1/1 = 1 Coluna (j = ) l = ( a l 1) 1/ = ( 1 ) 1/ = 1 l 3 = (a 3 l 31 l 1 ) /l = (3 1 1)/1 = Coluna 3 (j = 3) l 33 = [ a 33 ( l 31 + l 3)] 1/ = [ 6 ( 1 + )] 1/ = 1 Obteve-se desta forma a factorização LL T da matriz, tal que: L = b) Como a diagonal de L é unitária não é preciso desenvolver o cálculo LDL T (ver 13.4). A matriz D é a matriz identidade sendo a factorização dada pelas matrizes: L = , L T = e D = Notar que, em geral, após a aplicação do método de Choleski a matriz L resultante não é de diagonal unitária.
123 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL SISTEMAS DE EQUAÇÕES LINEARES: Método de Doolittle. Inversa, determinante e número de condição As matrizes de Pei (A) são definidas por: a ii = c e a ij = 1 para i j com i, j = 1,,..., n. a) Obtenha a inversa e o determinante da matriz para n = 3 e c = 4 usando a factorização de Doolittle. b) A matriz A da alinea a) é definida positiva, definida negativa ou indefinida? Justifique. c) Calcule o número de condição dessa matriz (n = 3, c = 4) na norma de Frobenius. A matriz é bem condicionada? Justifique. CONCEITOS TEÓRICOS Norma de Frobenius de uma matriz A: Esta norma é dada por: n A F = a ij i,j=1 1/. Número de condição e norma de Frobenius: cond A = A F A 1 F. RESOLUÇÃO a) A matriz de Pei para n = 3 e c = 4 é A = Aplicando o método de Doolittle com varrimento por colunas tem-se: Coluna 1 (j = 1): u i1 = a i1, i 1 u 11 = a 11 u 11 = 4 l i1 = a i1 /u 11, i > 1 l i1 = a i1 /4 l 1 = a 1 /4 = 1 4 ; l 31 = a 31 /4 = 1 4
124 116 SEMANA 13 Coluna (j = ): u i = a i i 1 m=1 u 1 = a 1 = 1; l i = ( a i l im u m, i ( ) 1 u = a (l 1 u 1 ) = = 15 4 ) 1 l im u m /u, i > m=1 l 3 = (a 3 l 31 u 1 )/u = Coluna 3 (j = 3): u i3 = a i3 i 1 m=1 l im u m3, i 3 = 1 5 ( ) 1 u 13 = a 13 = 1; u 3 = a 3 (l 1 u 13 ) = = 3 4 ; ( 1 u 33 = a 33 (l 31 u 13 + l 3 u 3 ) = ) = Obtém-se a seguinte factorização (com L de diagonal unitária) L = / /4 1/5 1 e U = /4 3/ /5 Cálculo da inversa A 1 da matriz A: AA 1 = I onde I é a matriz identidade. Como A = LU, então Ly = I (LU)A 1 = I L(UA 1 ) = I UA 1 = Y LY = I / /4 1/5 1 y 11 y 1 y 13 y 1 y y 3 y 31 y 3 y 33 = Y = y 11 y 1 y 13 y 1 y y 3 y 31 y 3 y 33 = / /5 1/5 1
125 EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL /4 3/ /5 a 1 11 a 1 1 a 1 13 a 1 1 a 1 a 1 3 a 1 31 a 1 3 a 1 33 UA 1 = Y = / /5 1/5 1 Portanto, a inversa é A 1 = a 1 11 a 1 1 a 1 13 a 1 1 a 1 a 1 3 a 1 31 a 1 3 a 1 33 = +5/18 1/18 1/18 1/18 +5/18 1/18 1/18 1/18 +5/18 Determinante da matriz A (ver definição na p. 111): det A = det(lu) = det L det U = 1 15 = = i=1 u ii b) DŨ = D L = d d d 33 1 ũ 1 ũ ũ = /4 3/ /5 d 11 = 4, d = 15 4 d 33 = 18 5 b) A matriz é definida positiva uma vez que é possível factorizá-la e todos os valores da matriz D são positivos. c) Cálculo da norma de Frobenius da matriz A: n A F = a ij i,j=1 1/ A F = ( ) 1/ = 7.35 Cálculo da norma de Frobenius da matriz A 1 : A 1 F = [ 3 ( + 5 ) ( ) ] 1/ = Assim, cond A = A F A 1 F = = 3.67
126 118 SEMANA 13 Podemos concluir que a matriz A é bem condicionada, pois 3.67 é um número relativamente pequeno, isto é, da ordem de grandeza das unidades. É este número que indica a maior, ou menor, influência que perturbações sobre a precisão dos valores das entradas da matriz A e/ou do segundo membro b podem ter na solução do sistema de equações associado (ver pp. 60 do livro [Pina(1995)]).
127 REFERÊNCIAS [Ferreira(1985)] Ferreira, J. C. Introdução À Análise Matemática. Fundação Calouste Gulbenkian, Lisboa, 4. a edição, [Pina(1995)] Pina, H. Métodos Numéricos. McGraw-Hill, Lisboa, 1995.
Matemática Computacional - Exercícios
Matemática Computacional - Exercícios 1 o semestre de 2007/2008 - Engenharia Biológica Teoria de erros e Representação de números no computador Nos exercícios deste capítulo os números são representados
Representação de números - Conversão de base b para base 10
Representação de números - Conversão de base b para base Números em base 0,,,, 8, 9,,,,, 9, 0,,, 99, 0,,, 47,, 999, 00, 0, dígitos que constituem a base Valor depende da posição dos dígitos centenas unidades
Matemática Computacional - Exercícios
Matemática Computacional - Exercícios 2 o semestre de 2005/2006 - LEE, LEGI e LERCI Programação em Mathematica 1. Calcule no Mathematica e comente os resultados: (a) 7; (b) 7.0; (c) 14406; (d) cos π 6
Representação de números Conversão de base b para base 10
Representação de números Conversão de base b para base 0 Números em base 0 0,,,, 8, 9, 0,,,, 9, 0,,, 99, 00, 0,, 47,, 999, 000, 00, 0 dígitos que constituem a base Valor depende da posição dos dígitos
Notas de Aula de Cálculo Numérico
IM-Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Notas de Aula de Cálculo Numérico Lista de Exercícios Prof. a Angela Gonçalves 3 1. Erros 1) Converta os seguintes números
A. Equações não lineares
A. Equações não lineares 1. Localização de raízes. a) Verifique se as equações seguintes têm uma e uma só solução nos intervalos dados: i) (x - 2) 2 ln(x) = 0, em [1, 2] e [e, 4]. ii) 2 x cos(x) (x 2)
Lista 1 de Exercícios de MAT Cálculo Numérico /II
Lista 1 de Exercícios de MAT 271 - Cálculo Numérico - 2017/II OBS.: Utilize arredondamento por corte (truncamento) com 5 casas decimais após a virgula (caso seja necessário). 1) Converta os números abaixo
Exercícios de ANÁLISE E SIMULAÇÃO NUMÉRICA
Exercícios de ANÁLISE E SIMULAÇÃO NUMÉRICA Licenciaturas em Engenharia do Ambiente e Química 2 o Semestre de 2005/2006 Capítulo IV Aproximação de Funções 1 Interpolação Polinomial 1. Na tabela seguinte
Lista de exercícios de MAT / I
1 Lista de exercícios de MAT 271-29 / I 1. Converta os seguintes números da forma decimal para a forma binária:x 1 = 37; x 2 = 2347; x 3 =, 75; x 4 =(sua matrícula)/1; x 5 =, 1217 2. Converta os seguintes
Testes Formativos de Computação Numérica e Simbólica
Testes Formativos de Computação Numérica e Simbólica Os testes formativos e 2 consistem em exercícios de aplicação dos vários algoritmos que compõem a matéria da disciplina. O teste formativo 3 consiste
Matemática Computacional - 2 o ano LEMat e MEQ
Instituto Superior Técnico Departamento de Matemática Secção de Matemática Aplicada e Análise Numérica Matemática Computacional - o ano LEMat e MEQ Exame/Teste - 1 de Janeiro de 1 - Parte I (1h3m) 1. Considere
Podem ser calculados num número finito de operações aritméticas, ao contrário de outras funções (ln x, sin x, cos x, etc.)
Interpolação polinomial 1 Interpolação Polinomial Slide 1 Definição simples Definição 1 Dados os conjuntos de valores x 0, x 1,..., x n e y 0, y 1,..., y n, determinar uma função f tal que: Slide 2 f(x
Lista de exercícios de MAT / II
1 Lista de exercícios de MAT 271-26 / II 1. Converta os seguintes números da forma decimal para a forma binária:x 1 = 37; x 2 = 2347; x 3 =, 75; x 4 =(sua matrícula)/1; x 5 =, 1217 2. Converta os seguintes
Interpolação polinomial
Cálculo Numérico Prof. Daniel G. Alfaro Vigo [email protected] Departamento de Ciência da Computação IM UFRJ Motivação: População do Brasil Ano População (milhões) 1960 70, 992343 1970 94, 508583 1980
Matemática Computacional. Exercícios. Teoria dos erros
Matemática Computacional Exercícios 1 o Semestre 2014/15 Teoria dos erros Nos exercícios deste capítulo os números são representados em base decimal. 1. Represente x em ponto flutuante com 4 dígitos e
x exp( t 2 )dt f(x) =
INTERPOLAÇÃO POLINOMIAL 1 As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia e não têm a intenção de substituir o livro-texto, nem qualquer outra bibliografia Aproximação
Exercícios de MATEMÁTICA COMPUTACIONAL. 1 0 Semestre de 2009/2010 Resolução Numérica de Equações Não-Lineares
Exercícios de MATEMÁTICA COMPUTACIONAL Mestrado Integrado em Engenharia Biomédica 1 0 Semestre de 2009/2010 Resolução Numérica de Equações Não-Lineares 1. Considere a equação sin(x) e x = 0. a) Prove que
MÉTODOS NUMÉRICOS. ENGENHARIA e GESTÃO INDUSTRIAL
UNIVERSIDADE DO MINHO MÉTODOS NUMÉRICOS ENGENHARIA e GESTÃO INDUSTRIAL EXERCÍCIOS PRÁTICOS Ano lectivo de 2005/2006 Métodos Numéricos - L.E.G.I. Exercícios práticos - CONUM Solução de uma equação não linear
Lista de Exercícios 1
Lista de Exercícios 1 MAT 01169 - Cálculo Numérico 2 de Agosto de 2015 As respostas de alguns exercícios estão no final da lista. Exercício 1. Converta para binário os números abaixo: (a) (102) 10 = (b)
Resolução do Exame Tipo
Departamento de Matemática e Engenharias Análise e Computação Numérica Resolução do Exame Tipo 1. O computador IBM 3090 possuía um sistema de vírgula flutuante F F(16, 5, 65, 62) (em precisão simples),
Instituto Politécnico de Tomar Escola Superior de Tecnologia de Tomar Área Interdepartamental de Matemática
Instituto Politécnico de Tomar Escola Superior de Tecnologia de Tomar Área Interdepartamental de Matemática Análise Numérica Licenciaturas em Engenharia Ambiente,Civil e Química I - Equações Não Lineares.
MÉTODOS NUMÉRICOS. ENGENHARIA ELECTRÓNICA INDUSTRIAL e de COMPUTADORES
UNIVERSIDADE DO MINHO MÉTODOS NUMÉRICOS ENGENHARIA ELECTRÓNICA INDUSTRIAL e de COMPUTADORES EXERCÍCIOS PRÁTICOS- 1 a parte Ano lectivo de 2004/2005 Exercícios práticos - CONUM Solução de uma equação não
Matemática Computacional - 2 o ano LEMat e MEQ
Instituto Superior Técnico Departamento de Matemática Secção de Matemática Aplicada e Análise Numérica Matemática Computacional - o ano LEMat e MEQ Exame/Teste - 5 de Fevereiro de - Parte I (h3m). Considere
exercícios de análise numérica II
exercícios de análise numérica II lic. matemática aplicada e computação (4/5) aulas práticas - capítulo Exercício. Mostre que a soma dos polinómios base de Lagrange é a função constante. Exercício. Usando
Universidade de Coimbra Departamento de Engenharia Electrotecnica e Computadores Matemática Computacional
Ano Lectivo: 2007/2008 Sumários da turma Teórico-Prática [TP2]: Aula: 1 Data: 2008-02-12 Hora de Início: 15:00 Duração: 1h30m Apresentação da Unidade Curricular. Discussão de aspectos relacionados com
SME CÁLCULO NUMÉRICO I PROFESSORES MARCOS ARENALES MARISTELA SANTOS. Agosto 2011
SME0100 - CÁLCULO NUMÉRICO I PROFESSORES MARCOS ARENALES MARISTELA SANTOS Agosto 2011 SME0100 - Cálculo Numérico I Ementa: 1) Representação de números no computador. Erros em métodos numéricos. 2) Soluções
Exercícios de Matemática Computacional -Cap. 6 Interpolação e aproximação polinomial
Exercícios de Matemática Computacional -Cap. 6 Interpolação e aproximação polinomial.. Departamento de Matemática Universidade da Beira Interior Matemática Computacional - Capítulo 6 Questão 6.1 Questão
2006/2007 EXERCÍCIOS. 2. Determine a representação decimal dos seguintes números: , ( ) 2 , (1A0F ) 16
ANÁLISE NUMÉRICA 006/007 EXERCÍCIOS. Represente os números nas bases, 5 e 6. 57,,.3, 06.0, 0.7, 3.7, 5. Determine a representação decimal dos seguintes números: (00), () 3, (47) 8, (A0F ) 6, (0.000), (0.),
INSTITUTO SUPERIOR TÉCNICO Mestrado em Engenharia Electrotécnica e de Computadores Ano Lectivo: 2007/2008 Semestre: 2 o
INSTITUTO SUPERIOR TÉCNICO Mestrado em Engenharia Electrotécnica e de Computadores Ano Lectivo: 2007/2008 Semestre: 2 o MATEMÁTICA COMPUTACIONAL Eercícios 1 1.1 Represente num sistema de ponto flutuante
UNIVERSIDADE FEDERAL DO ABC. 1 Existência e unicidade de zeros; Métodos da bissecção e falsa posição
UNIVERSIDADE FEDERAL DO ABC BC1419 Cálculo Numérico - LISTA 1 - Zeros de Funções (Profs. André Camargo, Feodor Pisnitchenko, Marijana Brtka, Rodrigo Fresneda) 1 Existência e unicidade de zeros; Métodos
Capítulo 1 - Erros e Aritmética Computacional
Capítulo 1 - Erros e Carlos Balsa [email protected] Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança 2 o Ano - Eng. Civil e Electrotécnica Carlos Balsa 1/ 26 Sumário 1 Definição
Cálculo Numérico Noções básicas sobre erros
Cálculo Numérico Noções básicas sobre erros Profa. Vanessa Rolnik 1º semestre 2015 Fases da resolução de problemas através de métodos numéricos Problema real Levantamento de Dados Construção do modelo
UNIVERSIDADE FEDERAL DE PERNAMBUCO Lista de Exercícios / Cálculo Numérico 1ª Unidade
1) Analise as alternativas abaixo e marque V para verdadeiro e F para falso. No segundo caso, explique como as tornaria verdadeiras: ( ) O método das secantes é utilizado para solucionar um problema de
Métodos Numéricos I. A. Ismael F. Vaz. Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho
Métodos Numéricos I A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho [email protected] Engenharia Mecânica Ano lectivo 2007/2008 A. Ismael F. Vaz (UMinho)
INSTITUTO SUPERIOR TÉCNICO Licenciatura em Engenharia Física Tecnológica Licenciatura em Engenharia e Gestão Industrial Ano Lectivo: 2002/
INSTITUTO SUPERIOR TÉCNICO Licenciatura em Engenharia Física Tecnológica Licenciatura em Engenharia e Gestão Industrial Ano Lectivo: / ANÁLISE NUMÉRICA Exercícios Considere o sistema linear 6 x 5 y = a)
1. Converta os seguintes números decimais para sua forma binária: (a) 22 (b) 255 (c) 256 (d) 0.11 (e) (f)
1 a Lista de Exercícios de Cálculo Numérico Prof a. Vanessa Rolnik 1. Converta os seguintes números decimais para sua forma binária: (a) 22 (b) 255 (c) 256 (d).11 (e).8125 (f) 4.69375 2. Converta os seguintes
étodos uméricos INTERPOLAÇÃO, EXTRAPOLAÇÃO, APROXIMAÇÃO E AJUSTE DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno
étodos uméricos INTERPOLAÇÃO, EXTRAPOLAÇÃO, APROXIMAÇÃO E AJUSTE DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UNIVERSIDADE DE JOÃO DEL-REI PRÓ-REITORIA
Matemática Computacional - Exercícios
Matemática Computacional - Exercícios o semestre de 009/00 - LEMat e MEQ Resolução de sistemas lineares. Inuência dos erros de arredondmento. Consideremos o sistema linear A x = b, onde 0 6 0 A = 0 6,
Capítulo 4 - Equações Não-Lineares
Capítulo 4 - Carlos Balsa [email protected] Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança 2 o Ano - Eng. Civil, Química e Gestão Industrial Carlos Balsa Métodos Numéricos 1/
1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35. e) 347 f) 513.
1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35 c) 192 d) 255 e) 347 f) 513 g) 923 2. Converta para a base binária, usando os métodos
1 a Lista de Exercícios Prof a. Vanessa Rolnik. seguir e indique o tipo de erro quando a representação não for possível.
Tópicos de Análise Numérica 1 a Lista de Exercícios Prof a. Vanessa Rolnik 1. Considere o sistema PF( 1, 3, -4, 4) de base 1, 3 dígitos na mantissa, menor expoente -4 e maior expoente 4.Quantos números
1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35.
Computação Científica Folha Prática Computação Numérica 1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35 c) 192 d) 255 e) 347 f) 513
Matemática Computacional Ficha 1: Capítulo /19
Matemática Computacional Ficha 1: Capítulo 1 2018/19 I. Notação e revisão da matéria e x = x x (erro de x em relação a x) e x : erro absoluto de x δ x : erro relativo de x em relação a x, onde, para x
Capítulo 1 - Erros e Aritmética Computacional
Capítulo 1 - Erros e Carlos Balsa [email protected] Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança 2 o Ano - Eng. Civil e Electrotécnica Carlos Balsa Métodos Numéricos 1/ 21 Sumário
Folha Prática - Representação de Números e Erros. 1. Representar os seguintes números decimais em binário com ponto fixo:
Computação Científica Folha Prática - Representação de Números e Erros 1. Representar os seguintes números decimais em binário com ponto fixo: a) 24 b) 197 c) 1001 d) 7,65 e) 8,963 f) 266,66 2. Obter os
3.6 Erro de truncamento da interp. polinomial.
3 Interpolação 31 Polinômios interpoladores 32 Polinômios de Lagrange 33 Polinômios de Newton 34 Polinômios de Gregory-Newton 35 Escolha dos pontos para interpolação 36 Erro de truncamento da interp polinomial
Lista de Exercícios de Métodos Numéricos
Lista de Exercícios de Métodos Numéricos 1 de outubro de 010 Para todos os algoritmos abaixo assumir n = 0, 1,, 3... Bisseção: Algoritmo:x n = a+b Se f(a) f(x n ) < 0 então b = x n senão a = x n Parada:
Dessa forma pode-se transformar qualquer número em qualquer base para a base 10.
Sistemas de numeração e representação dos números Sistemas de Numeração e Somadores Binários I Base Numérica Um número em uma base qualquer pode ser representado da forma: N = An-1.B n-1 + An-2.B n-2 +...+
Capítulo 2. Representação de números em vírgula flutuante
Capítulo 2 Representação de números em vírgula flutuante Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Números inteiros Os computadores foram
Interpolação Polinomial. Ana Paula
Interpolação Polinomial Sumário 1 Interpolação Polinomial 2 Forma de Lagrange 3 Revisão Interpolação Polinomial Interpolação Polinomial Interpolação Polinomial Interpolação Polinomial Suponha que se tenha
Exercícios de ANÁLISE E SIMULAÇÃO NUMÉRICA
Exercícios de ANÁLISE E SIMULAÇÃO NUMÉRICA Licenciaturas em Engenharia do Ambiente e Química 2 o Semestre de 2005/2006 Capítulo II Resolução Numérica de Equações Não-Lineares 1. Considere a equação sin(x)
6.Elaboração de algoritmos...13
Índice de conteúdos Capítulo 1. Computação Científica...1 1.Definição...1 2.Modelo genérico...2 3.Modelo matemático...2 4.Tipos de modelos matemáticos...3 5.Modelação matemática...5 5.1.Definição (formulação)
TP062-Métodos Numéricos para Engenharia de Produção Introdução. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil
TP062-Métodos Numéricos para Engenharia de Produção Introdução Prof. Volmir Wilhelm Curitiba, Paraná, Brasil TP062-Métodos Numéricos para Engenharia de Produção Ementa Matrizes. Sistemas lineares. Zeros
Matemática Computacional Ficha 1: Teoria dos erros (Capítulo 1) 1s-2017/18, MEEC
Matemática Computacional Ficha 1: Teoria dos erros (Capítulo 1) 1s-2017/18, MEEC I. Notação e revisão da matéria e x = x x (erro de x em relação a x) e x : erro absoluto de x δ x : erro relativo de x em
CCI-22 LISTA DE EXERCÍCIOS
CCI-22 LISTA DE EXERCÍCIOS Capítulos 1 e 2: 1) Considere floats com 4 dígitos decimais de mantissa e expoentes inteiros entre -5 e 5. Sejam X =,7237.1 4, Y =,2145.1-3, Z =,2585.1 1. Utilizando um acumulador
Adérito Araújo. Gonçalo Pena. Adérito Araújo. Adérito Araújo. Gonçalo Pena. Método da Bissecção. Resolução dos exercícios 2.14, 2.15, 2.16 e 2.17.
1 2011-02-08 13:00 2h Capítulo 1 Aritmética computacional 1.1 Erros absolutos e relativos 1.2 O polinómio de Taylor Resolução do exercício 1.3 2 2011-02-08 15:00 1h30m As aulas laboratoriais só começam
UNIVERSIDADE FEDERAL DO ABC
UNIVERSIDADE FEDERAL DO ABC BC49 Cálculo Numérico - LISTA 5 - Integração numérica (Profs. André Camargo, Feodor Pisnitchenko, Marijana Brtka, Rodrigo Fresneda). Calcule as integrais a seguir pela regra
- Métodos numéricos. - Métodos analíticos versus métodos numéricos. - Necessidade de se usar métodos numéricos. - Métodos iterativos
Tópicos Tópicos - Métodos numéricos - Métodos analíticos versus métodos numéricos - Necessidade de se usar métodos numéricos - Métodos iterativos - Resolução de problemas - Problemas com equações não lineares
Lucia Catabriga e Andréa Maria Pedrosa Valli
1-35 Lucia Catabriga e Andréa Maria Pedrosa Valli Laboratório de Computação de Alto Desempenho (LCAD) Departamento de Informática Universidade Federal do Espírito Santo - UFES, Vitória, ES, Brasil 2-35
Métodos Numéricos I. A. Ismael F. Vaz. Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho
Métodos Numéricos I A. Ismael F. Vaz Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho [email protected] Engenharia Mecânica Ano lectivo 2007/2008 A. Ismael F. Vaz (UMinho)
UNIVERSIDADE FEDERAL DO PARANÁ DISCIPLINA DE MÉTODOS NUMÉRICOS 2º SEMESTRE 2004 Professora Aurora T. R. Pozo 1ª LISTA DE EXERCÍCIOS
UNIVERSIDADE FEDERAL DO PARANÁ DISCIPLINA DE MÉTODOS NUMÉRICOS 2º SEMESTRE 2004 Professora Aurora T. R. Pozo 1ª LISTA DE EXERCÍCIOS Representação de Números Reais e Erros 1. Converta os seguintes números
MAP CÁLCULO NUMÉRICO (POLI) Lista de Exercícios sobre Interpolação e Integração. φ(x k ) ψ(x k ).
MAP 22 - CÁLCULO NUMÉRICO (POLI) Lista de Exercícios sobre Interpolação e Integração : Sejam x =, x =, x 2 = 2 e x 3 = 3. (a) Determine os polinômios de Lagrange L i (x) correspondentes a estes pontos
Cálculo Numérico Conceitos Básicos
Cálculo Numérico Conceitos Básicos Prof. Jorge Cavalcanti [email protected] MATERIAL ADAPTADO DOS SLIDES DA DISCIPLINA CÁLCULO NUMÉRICO DA UFCG - www.dsc.ufcg.edu.br/~cnum/ 1 Princípios usados
UNIVERSIDADE EDUARDO MONDLANE MANUAL TEÓRICO
UNIVERSIDADE EDUARDO MONDLANE MÉTODOS NUMÉRICOS MANUAL TEÓRICO José A. Nhavoto, MSc Julho de 2011 Conteúdo 1 Noções básicas sobre erros 4 1.1 Introdução a erros.................................. 4 1.2
INSTITUTO SUPERIOR TÉCNICO Mestrado Integrado em Engenharia Física Tecnológica Ano Lectivo: 2007/2008 Semestre: 1 o
INSTITUTO SUPERIOR TÉCNICO Mestrado Integrado em Engenharia Física Tecnológica Ano Lectivo: 27/28 Semestre: o MATEMÁTICA COMPUTACIONAL Exercícios [4 Sendo A M n (C) mostre que: (a) n A 2 A n A 2 ; (b)
DCC008 - Cálculo Numérico
DCC008 - Cálculo Numérico Polinômios de Taylor Bernardo Martins Rocha Departamento de Ciência da Computação Universidade Federal de Juiz de Fora [email protected] Conteúdo Introdução Definição
MATEMÁTICA COMPUTACIONAL. Exercícios
MATEMÁTICA COMPUTACIONAL Exercícios Filipe J. Romeiras Departamento de Matemática Instituto Superior Técnico Junho de 2008 1 1. REPRESENTAÇÃO DE NÚMEROS E TEORIA DE ERROS 1 [1.1] Represente x num sistema
Apontamentos de Matemática Computacional
Apontamentos de Matemática Computacional Mário Meireles Graça e Pedro Trindade Lima Departamento de Matemática Instituto Superior Técnico Universidade de Lisboa Conteúdo 1 Elementos da teoria dos erros
Sabendo que f(x) é um polinômio de grau 2, utilize a formula do trapézio e calcule exatamente
MÉTODOS NUMÉRICOS E COMPUTACIONAIS II EXERCICIOS EXTRAIDOS DE PROVAS ANTERIORES EXERCICIOS RESOLVIDOS - INTEGRACAO-NUMERICA - EDO. Considere a seguinte tabela de valores de uma função f x i..5.7..5 f(x
Erros em computações numéricas
Erros em computações numéricas Sérgio Galdino 1 2 1 POLI-UPE Escola Politécnica Universidade de Pernambuco 2 UNICAP Universidade Católica de Pernambuco Disciplinas: (1)Cálculo Numérico - (2)Cálculo Numérico
Apontamentos de Matemática Computacional
Apontamentos de Matemática Computacional Mário Meireles Graça e Pedro Trindade Lima Departamento de Matemática Instituto Superior Técnico Universidade de Lisboa Conteúdo 1 Elementos da teoria dos erros
Capítulo 6 - Equações Não-Lineares
Sistemas de Capítulo 6 - Carlos Balsa [email protected] Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança 2 o Ano - Eng. Civil e Electrotécnica Carlos Balsa Métodos Numéricos 1/
étodos uméricos INTEGRAÇÃO NUMÉRICA Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA
étodos uméricos INTEGRAÇÃO NUMÉRICA Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UNIVERSIDADE DE JOÃO DEL-REI PRÓ-REITORIA DE PESQUISA CENTRO FEDERAL DE EDUCAÇÃO
Andréa Maria Pedrosa Valli
Interpolação Polinomial Andréa Maria Pedrosa Valli Laboratório de Computação de Alto Desempenho (LCAD) Departamento de Informática Universidade Federal do Espírito Santo - UFES, Vitória, ES, Brasil 2-32
Licenciatura em Engenharia Electrotécnica e de Computadores. 1 a chamada Ou seja,
Licenciatura em Engenharia Electrotécnica e de Computadores Análise Numérica 1 a chamada 00-01-08 Resolução da Parte Prática 1 (a) O valor aproximado de w é obtido a partir dos valores aproximados de x,
EXERCICIOS RESOLVIDOS - INT-POLIN - MMQ - INT-NUMERICA - EDO
Cálculo Numérico EXERCICIOS EXTRAIDOS DE PROVAS ANTERIORES o sem/08 EXERCICIOS RESOLVIDOS - INT-POLIN - MMQ - INT-NUMERICA - EDO x. Considere a seguinte tabela de valores de uma função f: i 0 f(x i ).50
2004/2005 PROBLEMAS. (c) Se ainda restarem raízes complexas, reduza o polinómio e calcule essas raízes pela fórmula resolvente.
Licenciatura em Engenharia Electrotécnica e de Computadores Análise Numérica 2004/2005 Raízes de Polinómios PROBLEMAS 1 Considere o polinómio P (x) =x x +1. (a) Quantas raízes reais (positivas e negativas)
1. Escreva aproximações com três e cinco algarismos significativos correctos para os números: π, 1 3, 1 11, e 3.
Universidade de Trás-os-Montes e Alto Douro Métodos Numéricos e Estatísticos Lic. Eng. Biomédica e Bioengenharia, 29/2 a Parte: Métodos Numéricos Teoria de erros. Escreva aproximações com três e cinco
Aula 3 11/12/2013. Integração Numérica
CÁLCULO NUMÉRICO Aula 3 11/12/2013 Integração Numérica Objetivo: Calcular integrais utilizando métodos numéricos Cálculo Numérico 3/64 Integração Numérica Cálculo Numérico 4/64 Integração Numérica Em determinadas
Cálculo Numérico. que é denominado erro relativo. Temos então para os dados acima:
Cálculo Numérico 1 Erros Nenhum resultado obtido através de cálculos eletrônicos ou métodos numéricos tem valor se não tivermos conhecimento e controle sobre os possíveis erros envolvidos no processo.
