Matemática - PUCPRjamhour/Download/pub/... · •1) Definir o problema que será resolvido •2)...
Transcript of Matemática - PUCPRjamhour/Download/pub/... · •1) Definir o problema que será resolvido •2)...
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.
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.
dxex2
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: