Introdução aos Métodos
Numéricos
Instituto de Computação UFF
Departamento de Ciência da Computação
Conteúdo da disciplina
● Erros em Aproximações Numéricas
● Sistemas de Equações Lineares. Métodos diretos
● Interpolação
● Ajuste de Curvas
● Zeros de Função
● Sistemas de Equações Lineares. Métodos Iterativos
● Integração Numérica
Conteúdo específico
● Limitação na representação numérica
● Mudança de base numérica
Limitação de
representação numérica
Computadores usam representação limitada de números sejam inteiros, reais ou complexos
Seria necessário uma memória infinita para representar
Limitação de
representação numérica
● Computadores usam representação limitada:
● “inteiros“ : 2 Baites (-32 768 − 32 767)
Limitação de
representação numérica
● Computadores usam representação limitada:
● “reais“ (ponto flutuante):
4 Baites − 7 algarismos significativos (base 10) 8 Baites − 15 algarismos significativos (base 10)
Calculando com precisão
limitada
Denominaremos Ruido Numérico aos valores gerados na computação de números de ponto flutuante e que tem como fonte os cálculos oriundos de usarmos precisão finita
Calculando com precisão
limitada
A=~A +δ A ; A , δ A ∈ℜ ;~A Ponto Flutuante B=~B+δ B ; B , δ B∈ℜ;~B Ponto Flutuante
Calculando com precisão
limitada
● Todo sistema de cálculo numérico tem precisão limitada
● Para facilitar o entendimento, trabalharemos com um
dispositivo de cálculo que representa 5 algarismos significativos
● Usaremos o formato onde 123 são os algarismos
Soma
Soma
A +B=~A +δ A +~B+δ B=~A +~B+δ A+δ b A=3,1435 x 101; B=4,2356 x 10−2
Soma
A +B=~A +δ A +~B+δ B=~A +~B+δ A+δ b
A=3,1435 x 101; B=4,2356 x 10−2
31,435|0+0,042|356=31,477|356
Observe que se B fosse, por exemplo, cem vezes menor seria como se ele fosse zero. Toda informação de B seria perdida.
Soma
Quanto maior for a diferença de magnitude entre os números, maior será o ruido numérico na soma.
Subtração
Subtração
Por oposição, veja que se dois números forem muito próximos mas sua representação for idêntica, podemos ter como
resultado da subtração um valor representando zero para um valor que não é zero.
Subtração
Quanto menor for a diferença de magnitude entre os números, maior será o ruido numérico
Multiplicação
Multiplicação
A×B=
(
~A+δ A)
×(
δ B+~B)
=~A×~B+~A δ b+~B δ AMultiplicação
A×B=
(
~A+δ A)
×(
δ B+~B)
=~A×~B+~A δ b+~B δ AA=3,1435 x 101; B=4,2356 x 10−2
Multiplicação
Quanto maior for a diferença de magnitude entre os números, maior será o ruido numérico
Divisão
A B = ~A +δ A ~B+δ B = ~A/~B+δ A /~B 1+δ B /~B ;~B≠0Divisão
A B = ~A +δ A ~B+δ B = ~A/~B+δ A /~B 1+δ B /~B ;~B≠0 SérieGeométrica : 1 1+r =1−r +r 2 −r3+⋯;|r|<1Divisão
A B = ~A +δ A ~B+δ B = ~A/~B+δ A /~B 1+δ B /~B ;~B≠0 SérieGeométrica : 1 1+r =1−r +r 2 −r3+⋯;|r|<1 ~A /~B+δ A /~B 1+δ B/~B =(
~A ~B + δ~BA)
×1+δ B/~1 B =(
~A ~B + δ~BA)
×[
1−δ~BB +(
δ~BB)
2 +⋯]
Divisão
A B = ~A ~B + δ~BA − ~A ~B δ~BB −δ~BA δ~BB +⋯Repare que se B for “pequeno“ em relação a A, a representação de B ao quadrado no segundo termo, por exemplo, fará a representação de A ser amplificada, levando a perder algarismos
Divisão
Quanto menor for o valor do divisor em relação ao
dividendo, maior será o ruido numérico
Mudança de base
numérica
Números que não são dízima periódica em decimal podem o ser em binário:
0,110 e 0,0110 são dízimas periódicas na base 2 usada pelos
computadores, ou seja,
Portanto, 100 X 0,01 pode ser diferente de 1...
Mudança de base
numérica
● Faça um programa em sua linguagem favorita somando 0,01
10
100 vezes e veja o resultado
● Use a função rationalize() do Maxima para ver qual é a
representação como números racionais para os números 0,110
Problemas mal
condicionados
Um problema é dito malcondicionado se mudança em seus parâmetros produz uma mudança numa ordem de grandeza superior à mudança original
Um exemplo simples
x2−2 x +1=0 1,01 x2−2 x+1=0 0,99 x2−2 x +1=0
Um exemplo simples
a x2+bx+c=0 ; x=−b±
√
b2
−4 a c 2 a
Um exemplo simples
x2−2 x +1=0 ; x=2±
√
4−4Um exemplo simples
1,01 x2−2 x+1=0; x=2±
√
4−4,04 2,02 =1±0,1i 1,01
Um exemplo simples
0,99 x2−2 x +1=0 ; x=2±
√
4−3,96 1,98 =1±0,1
Problemas mal
condicionados
A natureza do problema (raiz dupla, raizes complexas
conjugadas, raizes reais distintas) muda radicalmente com a variação que fizemos no coeficiente de segundo grau da
Problemas mal
condicionados
A natureza do problema (raiz dupla, raizes complexas
conjugadas, raizes reais distintas) muda radicalmente com a variação que fizemos no coeficiente de segundo grau da
equação
De fato haveria, neste caso específico, a mesma mudança de natureza do problema para qualquer pequena variação no
Mais um exemplo simples
(
9 1Mais um exemplo simples
(
9 162,5 7
)
⃗x=(
12)
⃗x=(
10 −89
)
Mais um exemplo simples
(
9 1 62,5 7)
⃗x=(
12)
⃗x=(
10 −89)
(
9 1 62,6 7)
⃗x=(
12)
Mais um exemplo simples
(
9 1 62,5 7)
⃗x=(
12)
⃗x=(
10 −89)
(
9 1 62,6 7)
⃗x=(
12)
⃗x=(
12,5 −111,5)
Mais um exemplo simples
(
9 1 62,5 7)
⃗x=(
12)
⃗x=(
10 −89)
(
9 1 62,6 7)
⃗x=(
12)
⃗x=(
12,5 −111,5)
(
9,01 1 62,5 7)
⃗x=(
12)
Mais um exemplo simples
(
9 1 62,5 7)
⃗x=(
12)
⃗x=(
10 −89)
(
9 1 62,6 7)
⃗x=(
12)
⃗x=(
12,5 −111,5)
(
9,01 1 62,5 7)
⃗x=(
12)
⃗x≈(
8,771929 −78,035087)
Problemas mal
condicionados
Aqui temos novamente que uma pequena variação nos
parâmetros do problema gera uma mudança muito maior na solução deste sistema
Problemas mal
condicionados
Problemas que envolvem:
● Sistemas de Equações Lineares
● Sistemas de Equações Não-lineares
● Equações Diferenciais
● Integração Numérica
● Cálculo de funções