Você está na página 1de 23

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
e
x2
• A) Diversas integrais como: dx

• B) Equações diferenciais como: y  y 2  t 2


• C) equações diferenciais parciais não lineares podem ser
resolvidas analiticamente só em casos particulares.
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)

Limitação na representação
numérica (24 bits)

Erro de 0,34 s no cálculo do


tempo de lançamento
6
Influência dos Erros nas
Soluções
• Exemplo 3: Falha no lançamento do foguete francês Ariane 501
• (04/06/1996 – Guiana Francesa)

Erro na conversão de um número


de ponto flutuante de 64bits
para inteiro de 16 bits

Erro de trajetória 36,7 segundos


após o lançamento
7
Prejuízo de U$ 7,5 bilhões
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?
𝑔𝑡 2
• h=
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?
𝑔𝑡 2
• h=
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:

Expoente
I≤e≤S

Base (número inteiro)


Mantissa = 0,d1d2 ...dt = 2 sistemas binários
(número menor que 1)
t: número de dígitos significativos
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:

Você também pode gostar