INTRODUÇÃO A ALGORITMOS NUMÉRICOS Prof. Renata S.S. Guizzardi 2012/01 AGENDA Introdução Erros Detalhes da Disciplina: Ementa Métodos de Avaliação Outros Detalhes INTRODUÇÃO O QUE SÃO ALGORITMOS NUMÉRICOS? São programas de computador capazes de solucionar problemas matemáticos, fornecendo resultado numérico aproximado. Apesar de aproximada, a solução pode ser obtida em um grau crescente de exatidão. POR QUE UTILIZAR? (1/2) 1) Um problema de Matemática pode ser resolvido analiticamente, mas esse método pode se tornar impraticável com o aumento do tamanho do problema. Ex.: solução de sistemas de equações lineares. 5 POR QUE UTILIZAR? (2/2) 2) O problema não tem solução analítica. Exemplos: a) e x2 dx b) y y 2 t 2 não representável por funções elementares; não pode ser resolvido analiticamente; 6 FUNÇÃO DE ALGORITMOS NUMÉRICOS NA ENGENHARIA Solucionar problemas técnicos através de métodos numéricos, usando um modelo matemático 7 EXEMPLO DE APLICAÇÃO (1/2) Calcular tensões dos nós do circuito elétrico (pag. 117): 3 2 4 1 No nó 1, pela lei de Kirchhoff: 0 V1 V 2 V1 V 3 V1 V 4 V1 0 1 1 2 2 6V 1 2V 2 V 3 V 4 0 EXEMPLO DE APLICAÇÃO (2/2) O problema é resolvido a partir de um sistema linear de quatro equações e quatro variáveis V1, V2, V3 e V4. 1 1 V 1 0 6 2 3 4 1 V 2 0 0 3 2 13 6 V 3 254 1 0 2 3 V 4 0 RESOLUÇÃO DE PROBLEMAS Problema Real Levantar Dados Construir Modelo Matemático Escolher Método Numérico Implementar Método Computacionalment e Eventualmente Rever Analisar Resultados Solução Numérica NO EXEMPLO ANTERIOR Problema real: determinar tensões nos nós dos circuitos. Levantamento de dados: valores das resistências e tensões nos pontos A e B. Construir modelo matemático: montar equações e criar as matrizes a partir delas. Escolher método numérico: Decomposição LU, Decomposição de Cholesky, Fatoração LDLT, Método de Jacobi etc. Implementar Método Computacionalmente: criar e processar programa. Analisar resultados e verificar se o modelo matemático ou o método numérico precisam ser alterados. ERROS TIPOS DE ERROS (1/6) Erro na Modelagem Devido à expressão matemática que não reflete perfeitamente o fenômeno físico ou aos dados terem sido obtidos com pouca exatidão. Erro Grosseiro Devido a erro na elaboração ou implementação do algoritmo ou a erro de digitação. TIPOS DE ERROS (2/6) - TRUNCAMENTO Erro de Truncamento: Devido à aproximação de uma fórmula. expansão da função exponencial em séries de potência Exercício: Calcular o valor de e1 por meio de uma série truncada de segunda ordem. Verificar o erro sabendo-se que o valor com 4 algarismos significativos é 2,718. TIPOS DE ERROS (3/6) ARREDONDAMENTO Erro de Arredondamento: Devido à forma de representação de números no computador. Conversão de base (decimal→binário) Problema com o número de bits que são usados para representar os números (números fracionários). Nem sempre um número decimal exato tem representação exata em binário. Ex. 0,110 → 0,0001001100110012 = 0,09999084410 (erro de 0,000009155 ≈ 9.10-6). TIPOS DE ERROS (4/6) - ARREDONDAMENTO ARITMÉTICA DE PONTO FLUTUANTE Números em ponto flutuante (reais) são representados no formato normalizado: 5 = 0.5 x 101 0,007 = 0.7 x 10-2 35,42 = 0.3542 x 102 Representação no computador TIPOS DE ERROS (5/6) ARREDONDAMENTO ARITMÉTICA DE PONTO FLUTUANTE Suponha uma mantissa e expoente de tamanho 4 (excluindo bit de sinal): Represente -8 Represente 37 Some 0,375 e 0,05 Qual o maior número que pode ser representado nesse computador? TIPOS DE ERROS (4/6) ARREDONDAMENTO ARITMÉTICA DE PONTO FLUTUANTE Formato IEEE de ponto flutuante ERRO ABSOLUTO E ERRO RELATIVO Duas formas de medir o erro. Erro Absoluto = valor real – valor aproximado. Erro Relativo = valor real – valor aproximado valor real OUTROS CONCEITOS IMPORTANTES Complexidade computacional Medida do esforço computacional despendido para resolver o problema. Medido pelo número necessário de operações aritméticas e lógicas. Convergência Propriedade de gerar solução exata. Ordem de Convergência: rapidez com que a sequência gerada por dado método converge para a solução exata. DESASTRES CAUSADOS POR ERROS NAS SOLUÇÕES (1/3) Exemplo 1: Falha no lançamento de mísseis (25/02/1991 – Guerra do Golfo – míssil Patriot) Limitação na representação numérica (24 bits) Erro de 0,34 s no cálculo do tempo de lançamento 21 DESASTRES CAUSADOS POR ERROS NAS SOLUÇÕES (2/3) Exemplo 2: Explosão de foguetes (04/06/1996 – Guiana Francesa – foguete Ariane 5) Limitação na representação numérica (64 bits/ 16 bits) Erro de trajetória 36,7 s após o lançamento Prejuízo: U$ 7,5 bilhões 22 DESASTRES CAUSADOS POR ERROS NAS SOLUÇÕES (3/3) Exemplo 3: Afundamento de Plataforma Marítima (23/08/1991 – Mar do Norte/Noruega – Plataforma Sleipner) Parcialmente causada por erro de análise no elemento finito Rompimento de uma das Células que compunham a parede Prejuízo: U$ 700 milhões