Baixe o app para aproveitar ainda mais
Prévia do material em texto
Matemática Computacional Edgard Jamhour Definição • A matemática computacional é uma área da matemática e da computação que trata do desenvolvimento de modelos matemáticos, para o tratamento de problemas complexos, e desenvolvimento de métodos numéricos de obtenção de soluções. • Matemática computacional geralmente utiliza técnicas para solução numérica (aproximada) de problemas. https://pt.wikipedia.org/wiki/Matem%C3%A1tica https://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o Solução Analíticas vs Numéricas • Soluções analíticas são soluções exatas obtidas através de manipulações algébricas e provas matemáticas; • Exemplo: • Em quais pontos as equações se interceptam: y=a*x + b x2+y2=r2 y = 0.5*x + 5 x2+y2=25 Problemas sem solução analítica • A) Diversas integrais como: • B) Equações diferenciais como: • C) equações diferenciais parciais não lineares podem ser resolvidas analiticamente só em casos particulares. dxe x2 22 tyy Exemplo: Integração Numérica retângulo trapézio simpson Influência dos Erros nas Soluções • Exemplo 1: Falha no lançamento de mísseis • (25/02/1991 – Guerra do Golfo – míssil Patriot) 6 Erro de 0,34 s no cálculo do tempo de lançamento Limitação na representação numérica (24 bits) Influência dos Erros nas Soluções • Exemplo 3: Falha no lançamento do foguete francês Ariane 501 • (04/06/1996 – Guiana Francesa) 7 Erro de trajetória 36,7 segundos após o lançamento Prejuízo de U$ 7,5 bilhões Erro na conversão de um número de ponto flutuante de 64bits para inteiro de 16 bits Modelagem e Resolução • No caso geral, a utilização da matemática computacional para resolução e problemas envolve as seguintes etapas; • 1) Definir o problema que será resolvido • 2) Construir um modelo matemático para o problema • 3) Resolver o problema usando um método numérico/computacional • 4) Verificar a solução confrontando os resultados previstos com aqueles medições feitas em experimentos. 8 Fontes de erros • Problema: como determinar a altura de um edifício usando uma bola de metal e um cronômetro? • h = 𝑔𝑡2 2 • h= altura (m) • t = tempo medido (m) • g = gravidade (9.8 m/s2) • Se a bola levar 2 segundos para cair do topo do prédio, podemos afirmar que a altura do prédio é 19.6 metros? • Quais são as fontes de erro que podem afetar essa resposta? • erros no modelo matemático • erros de resolução • erros de truncamento Fontes de erros • Problema: como determinar a altura de um edifício usando uma bola de metal e um cronômetro? • h = 𝑔𝑡2 2 • h= altura (m) • t = tempo medido (m) • g = gravidade (9.8 m/s2) • Se a bola levar 2 segundos para cair do topo do prédio, podemos afirmar que a altura do prédio é 19.6 metros? • Quais são as fontes de erro que podem afetar essa resposta? • erros no modelo matemático • erros de resolução (precisão dos dados de entrada) • erros de truncamento Representação Numérica • Qual a distância que uma roda de raio R = 10 metros percorre em uma volta? • C = 2 R • Como representar o número ? • a) π =3,14 • b) π =3,1416 • c) π =3,141592654 • O valor exato não pode ser obtido através de métodos numéricos. • A representação de um número depende da BASE escolhida e do número de dígitos usados na sua representação. Representação de Número Inteiro Onde: é a base fixa - d é um dígito da base Exemplos: Representação de Número Real • Representação de um número real x • 𝑥 = ± 𝑥𝑖, 𝑥𝑓 • xi: parte inteira 𝑖𝑛𝑖𝑛−1𝑖𝑛−2⋯𝑖1 𝑖0 • xf: parte fracionária 𝑓1𝑓2⋯𝑓𝑚−1 𝑓𝑚 • 𝑥𝑓 = 𝑓1𝛽 −1𝑓2𝛽 −2⋯𝑓𝑚−1𝛽 − 𝑚−1 𝑓𝑚−1𝛽 − 𝑚−2 • n+1 algarismos na parte inteira e m na parte fracionária • Exemplos: Conversão Decimal para Binária • Método das divisões sucessivas (parte inteira do número) a. Divide-se o número (inteiro) por 2; b. Divide-se por 2, o quociente da divisão anterior; c. Repete-se o processo até o último quociente ser igual a 1. • Método das multiplicações sucessivas (parte fracionária do número) a. Multiplica-se o número (fracionário) por 2; b. Do resultado, a parte inteira será o primeiro dígito do número na base binária e a parte fracionária é novamente multiplicada por 2; c. O processo é repetido até que a parte fracionária do último produto seja igual a zero Exemplos Erro de arredondamento • Nem todo número real na base decimal possui uma representação finita na base binária. • Exemplo: representação do número 0,1 em binário: • 0.0001100112 = 0.0996094 • 0.00011001100112 = 0.0999756 • 0.000110011001100112 = 0.0999985 • 0.0001100110011001100112 = 0.0999999 • Operações com números reais são uma das principais fontes de erro introduzidos por algoritmos numéricos. Resolva os seguintes exercícios usando o Wolfram Alpha • a) (100110)2 = para base 10 • b) (1100101)2 = para base 10 • c) (40,28) 10= para base 2 • d) (110,01) 2= para base 10 • e) (3,8)10 = para base 2 Ponto Flutuante • Formato de representação digital de números reais usada nos computadores. A representação vista anteriormente: • [ PARTE INTEIRA , PARTE FRACIONÁRIA ] • é muito cara em termos de armazenamento e processamento • Um número em ponto flutuante tem o seguinte formato: Mantissa = 0,d1d2 ...dt (número menor que 1) t: número de dígitos significativos Base (número inteiro) = 2 sistemas binários Expoente I ≤ e ≤ S Exemplos • Notação de ponto flutuante em base 10: • 0.35 = 0.35*100 • -5.171 = -0.5171*101 • 0.0123 = 0.123*10-1 • 5391.3 = 0.53913*104 • 0.0003 = 0.3*10-3 • Mesmo exemplo, com t=3 e -2 ≤ e ≤ 2: • 0.35 = 0.350*100 • -5.171 = -0.517*101 • 0.0123 = 0.123*10-1 • 5391.3 = 0.539*10*** 4>2 ****= erro de overflow • 0.0003 = 0.300*10*** -4 <-2 **** = erro de underflow Representação no MATLAB • MATLAB representa números em ponto flutuante com precisão simples ou dupla (default), de acordo como o padrão IEEE 754. • SIMPLES (32 bits): 31 .... 0 • bit 31: sinal (0 positivo, 1 negativo) • 30 até 23: expoente • 22 até 0: mantissa • DUPLA (64 bits): 63 ... 0 • bit 63: sinal (0 positivo, 1 negativo) • 62 até 52: expoente • 51 até 0: mantissa Erros Absoluto, Relativo e Percentual • Erro absoluto: 𝐸𝑎 = 𝑥 − 𝑥 • x = valor exato • 𝑥 = valor aproximado obtido por procedimento numérico • Exemplo: • Se 𝑥 = 10 e 𝐸𝑎 < 0.01 então 0.99 < x < 10.01 • Erro relativo: 𝐸𝑟 = 𝐸𝑎 𝑥 = 𝑥−𝑥 𝑥 • Erro percentual: 𝐸𝑝 = 𝐸𝑟 • Exercício: Você testou dois métodos numéricos A e B. O método A obteve o valor x= 0.00004, sabendo que o valor real é 0.0005. O método B obteve o valor 100000, sando que o valor real é 101000. Qual desses métodos é melhor? Erro por Arredondamento e Truncamento • Suponha que se computador opere com números em ponto flutuante com 3 dígitos significativos, e expoente -4<e<4. • Erros cometidos por arredondamento são menores que os de truncamento, mas requerem um tempo menor de execução. Por isso, o truncamento é mais usado em computadores. Propagação de Erros • Suponha que um computador que opere com 4 dígitos significativos realize as seguintes operações, equivalentes:
Compartilhar