Respostas da Lista de Exercícios para a 1ª
Prova de Cálculo Numérico
Lista para Prova de Cálculo Numérico,
Lista 01, Rev. 01
Data: 18/9/2012
Página 1 de 11
RespostasdaListadeExercı́ciospara
a1ªProvadeCá lculoNumé rico
1. Fale sobre e descreva a representação dos números reais e inteiros em um
computador.
O computador é uma máquina finita, ou seja, seus elementos são
finitos (memória, processador, etc.) e assim as coisas que ele
consegue representar ou simbolizar são também finitas. Isso cria
um problema, pois os números com os quais trabalhamos são
infinitos. Podemos continuar contando para sempre e não
acabaríamos. Essa limitação deve ser sempre levada em conta no
trabalho com computadores.
Especificamente, quando estamos representando números reais,
temos o chamado “ponto flutuante”:
0
1
0
2
0
3
0
4
0
5
0
6
0
7
0
8
0
9
1
0
1
1
1
2
1
3
1
4
mantissa
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
expoente
Figura 1 - Uma word de memória mapeada para um número real
São dois inteiros combinados para fazer o número real. O
primeiro inteiro é a precisão e o segundo a escala (tamanho) do
número. No exemplo da Figura 1, a precisão tem 24 bits e a
escala 8 bits, com os números representados na forma:
mantissa × 2
.
Respostas da Lista de Exercícios para a 1ª
Prova de Cálculo Numérico
Lista para Prova de Cálculo Numérico,
Lista 01, Rev. 01
Data: 18/9/2012
Página 2 de 11
Por exemplo: 0,9837234 × 10
(100101100001101010110010 x
20000100) é a representação de 9837,234. Note que para escrever
um número real infinito em sua precisão, estamos usando
números inteiros e finitos para fazer uma aproximação.
No caso dos números inteiros com sinal, temos:
0
1
0
2
0
3
0
4
0
5
0
6
0
7
0
8
0
9
1
0
1
1
s
i
n
a
l
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
Número
Figura 2 - Uma word de memória mapeada para um inteiro com sinal
O menor número inteiro com sinal que conseguimos representar
dessa forma é −2$%& e o maior 2$%& − 1, onde n é o número de bits.
Notar que um bit fica reservado para o sinal e é descontado.
Assim, para 32 bits, temos um range
(faixa de valores) de -
2.147.483.648 até 2.147.483.647 (note que o maior vai até “7”
e não “8”, porque um bit foi perdido para representar o sinal).
Se adicionarmos +1 ao valor maior, começamos tudo de novo, a
partir do menor valor do range (overflow). Por outro lado, se
subtrairmos -1 do menor valor, vamos chegar ao maior valor do
range (underflow).
2. Descreva o Método da Bisseção (finalidade, passo-a-passo e características).
O Método da Bisseção é um dos métodos mais simples, mais
robustos e demorados para encontrar raízes de funções. Na
Lista para Prova de Cálculo Numérico,
Lista 01, Rev. 01
Data: 18/9/2012
Respostas da Lista de Exercícios para a 1ª
Prova de Cálculo Numérico
Página 3 de 11
Figura 3, veja que é fácil encontrar a raiz só de olhar, pois onde
isso acontece, a função muda de sinal. Esse método se baseia
justamente na mudança de sinal para perseguir a raiz da
função.
Figura 3 – Ilustração do Método da Bisseção
O método vai “cercando” a raiz a partir de um intervalo inicial
que vai diminuindo sempre pela metade (bisseção), até que a
solução seja tão próxima da raiz (dentro de uma tolerância), que
possamos aceitar o valor como uma resposta.
Passo a passo:
1. Definir um intervalo para procurar a raiz: xe e xd (à
esquerda e à direita da raiz);
2. Criar um terceiro ponto no meio do intervalo, xr, que é o
candidato à raiz, da seguinte forma:
Respostas da Lista de Exercícios para a 1ª
Prova de Cálculo Numérico
Lista para Prova de Cálculo Numérico,
Lista 01, Rev. 01
Data: 18/9/2012
Página 4 de 11
'( =
'* + ',
2
3. Se f.x /f.x0 / < 0
', = '(
Caso contrário
'* = '(
Se |3.'( /| ≤ 567 então
o '( é a solução, então pare!
Caso contrário, volte para 2 e continue até achar ou exceder o
número máximo de iterações.
É fundamental escolher um intervalo inicial que se tenha
certeza de conter a raiz, caso contrário o algoritmo pode ficar
infinitamente procurando sem nunca achar (loop infinito).
Note que no Passo 4 perguntamos se o valor absoluto da função
avaliada no ponto '( (candidato à raiz da função) é menor que
uma certa tolerância. Isso é importante porque nunca devemos
basear nossos métodos numa comparação com pontos singulares,
como um “zero”, mas sempre com intervalos tão pequenos quanto
possível. Se perguntássemos à máquina se esse valor é “zero”, ou
seja, se acertamos na “mosca”, muito dificilmente a respostas
seria “sim”. Sendo assim, temos que perguntar “está próximo o
suficiente?” e esse é o papel da tolerância. Se a função nesse
ponto estiver dentro da tolerância (menor ou igual a ela), então
encontramos a resposta.
Lista para Prova de Cálculo Numérico,
Lista 01, Rev. 01
Data: 18/9/2012
Respostas da Lista de Exercícios para a 1ª
Prova de Cálculo Numérico
Página 5 de 11
3. Descreva o Método de Newton-Raphson (finalidade, passo-a-passo e
características).
O Método de Newton-Raphson também é um método para
encontrar raízes de funções. Ao contrário do Método da Bisseção,
ele é normalmente rápido para achar a raiz.
Ele se baseia em substituições da função3.'/ por sua reta
tangente, combinando as ideias básicas de linearizações e
interações sucessivas.
Para estabelecer uma expressão analítica para o cálculo de
sucessivas aproximações à raiz da função (Figura 4), observamos
que a tangente do ângulo θ pode ser obtida pela derivada de
3.'/no ponto '8 (inclinação da reta tangente).
Figura 4 – Ilustração do Método de Newton-Raphson
Assim, a seguinte expressão pode ser obtida:
Lista para Prova de Cálculo Numérico,
Lista 01, Rev. 01
Data: 18/9/2012
Respostas da Lista de Exercícios para a 1ª
Prova de Cálculo Numérico
Página 6 de 11
tan 9 =
3.'$ /
= 3 ; .'$ /
'$ − '$:&
Sendo 3 ; .'/ a derivada da função 3.'/. Da expressão acima
podemos encontrar uma expressão para cada nova aproximação
da raiz, '$:& :
'$:& = '$ −
3.'$ /
3 ; .'$ /
Tudo o que precisamos para começar é um ponto inicial, que
será nossa primeira estimativa para a raiz e, daí por diante, o
próprio algoritmo deve conduzir até a solução.
Passo-a-passo:
1. Definir um valor candidato à raiz inicial, '8 e uma
tolerância tol;
2. Obter um novo candidato à raiz através de:
'$:& = '$ −
3.'$ /
3 ; .'$ /
3. Testar se |3.'$:& /| ≤ 567, então '$:& é a raiz, caso contrário
voltar ao passo 2 e obter um novo candidato.
4. Descreva o Método da Eliminação de Gauss (finalidade, passo-a-passo e
características).
O Método da Eliminação de Gauss é o método direto mais
comum. Ele consiste na aplicação das operações básicas de troca
da ordem das equações no sistema, multiplicação de uma
equação do sistema por uma constante não nula, adições de
Respostas da Lista de Exercícios para a 1ª
Prova de Cálculo Numérico
Lista para Prova de Cálculo Numérico,
Lista 01, Rev. 01
Data: 18/9/2012
Página 7 de 11
equações do sistema, etc., de uma forma ordenada para deixar o
sistema na forma de uma matriz triangular superior, que é um
formato
conveniente
para
depois
ser
resolvido
por
simples
substituições retroativas.
Considere o seguinte sistema genérico como exemplo:
=&& '& + =&> '> + =&? '? = @&
< =>& '& + =>> '> + =>? '? = @>
=?& '& + =?> '> + =?? '? = @?
A solução pelo Método da Eliminação de Gauss necessita de
algumas etapas sucessivas, descritas a seguir:
1ª Etapa: Escrever a matriz aumentada AB = CD|EF:
=&&
GB = H=>&
=?&
=&>
=>>
=?>
=&? @& K&
=>? I@> J K>
=?? @? K?
2ª Etapa: Utilizar como pivô =&& (primeiro elemento da diagonal)
para gerar um fator multiplicativo das linhas 2 e 3 da matriz
aumentada:
M
M
L>& = MNO e L?& = MPO
OO
OO
3ª Etapa: Multiplicar cada pivô pela primeira linha da matriz
e subtrair da respectiva linha, ou seja:
K> = K> − L>& × K& e K? = K? − L?& × K& , resultando em:
G&
=&&
=&>
=&?
@&
K&
= QC=>& − L>& × =&& F C=>> − L>& × =&> F C=>? − L>& × =&& F RC@> − L>& × @& FS K>
C=?& − L?& × =&& F C=?> − L?& × =&> F C=?? − L?& × =&? F C@? − L?& × @& F K?
Respostas da Lista de Exercícios para a 1ª
Prova de Cálculo Numérico
Lista para Prova de Cálculo Numérico,
Lista 01, Rev. 01
Data: 18/9/2012
Página 8 de 11
=&&
GT = Q 0
0
=&>
=&>>
=&?>
=&? @& K
&
=&>? R@>& S K>
=&?? @?& K?
Onde o sobrescrito “1” indica que o elemento já passou pela
primeira transformação (matriz aumentada GT ).
4ª Etapa: Tomar o segundo pivô, =>> , que é o segundo elemento
da diagonal, e repetir as Etapas 2 e 3:
M
Com L?> = MPN
NN
Fazer K? = K? − L?> × K> :
=&&
G> = Q 0
0
=&>
=&?
@&
K&
=&>>
=&>?
@>&
S K>
R
C=&?> − L?> × =&>> F C=&?? − L?> × =&>? F C@?& − L?> × @>& F K?
Ou
=&&
G> = Q 0
0
=&>
=&>>
0
=&? @& K&
=&>? R@>& S K>
>
=??
@?> K?
Onde o sobrescrito “2” indica que o elemento já passou pela
segunda transformação (matriz aumentada GU ). Esse sistema é
equivalente a:
=&& '&
V 0
0
=&> '>
=&>> '>
0
=&? '? @&
=&>? '? = @>&
>
=??
'? @?>
Do qual é fácil perceber que se começarmos pela última equação:
>
=??
'? = @?>
Lista para Prova de Cálculo Numérico,
Lista 01, Rev. 01
Data: 18/9/2012
Respostas da Lista de Exercícios para a 1ª
Prova de Cálculo Numérico
Página 9 de 11
'? = @?>
>
=??
Se pegarmos esse valor de '? e substituirmos na penúltima
equação
e
assim
por
diante,
do
fim
para o
começo,
substituições retroativas, obteremos todos os valores de 'W .
em
Resumindo: primeiro fazemos uma eliminação das variáveis do
começo para fim de modo a obter um sistema triangular
superior. Depois, do fim para o começo, fazemos as substituições
no sistema transformado para obter os valores dos 'W .
5. Na busca pela raiz da equação 3.'/ = ' ? − 3' > + 4' + 12 pelo Método da
Bisseção, começando com '* = −10,0 e ', = 5,0, ache o primeiro '(
(candidato à raiz) e os valores de '* ,', e '( dos dois passos seguintes.
Primeiro passo
•
•
•
•
'( =
%&8:X
>
= −2,5;
3.'* / = −1328;
3.'( / = −32,375;
3.', / = 82,0;
Com esse resultado, sabemos que a raiz está onde o sinal da
função mudou: entre '( e ', . Assim, o '( vai virar o novo '* e ',
fica como está, então temos:
•
•
•
'* = −2,5;
'( = %>,X:X
>
', = 5
= 1,25;
2º Passo, avaliando novamente em 3.'/, temos:
Lista para Prova de Cálculo Numérico,
Lista 01, Rev. 01
Data: 18/9/2012
•
•
•
Respostas da Lista de Exercícios para a 1ª
Prova de Cálculo Numérico
Página 10 de 11
3.'* / = −32,375;
3.'( / = 14,265625;
3.', / = 82,0;
Com esse resultado, sabemos que a raiz está onde o sinal da
função mudou: entre '* e '( . Assim, o '( vai virar o novo ', , e
ficamos com:
•
•
•
'* = −2,5;
'( = %>,X:&,>X
>
', = 1,25;
= −0,625;
6. Na busca pela raiz da mesma equação acima, pelo Método de NewtonRaphson (lembre-se que vai precisar da derivada!), encontre o próximo valor
do candidato à raiz, '$*Z , quando '[\, = −3,0.
'$*Z = '[\, −
'$*Z = −3,0 −
3.'[\, /
3 ; .'[\, /
.−3,0/? − 3 × .−3,0/> + 4 × .−3,0/ + 12
=
3 × .−3,0/> − 6.−3,0/ + 4
−54
'$*Z = −3,0 − ]
^ = −1,8979
48
7. Dado o Sistema de Equações Lineares Algébricas (SELA):
2'&
−'&
'&
+
+
−
3'>
'>
8'>
−
+
−
'?
4'?
'?
=
=
=
0
3
1
Encontre o primeiro pivô e realize o primeiro conjunto de transformações sobre
a matriz aumentada, para deixá-la na forma triangular superior, que é a
primeira etapa no Método da Eliminação de Gauss.
Respostas da Lista de Exercícios para a 1ª
Prova de Cálculo Numérico
Lista para Prova de Cálculo Numérico,
Lista 01, Rev. 01
Data: 18/9/2012
Página 11 de 11
O primeiro pivô é o elemento =&& , ou seja: 2. Com ele, o temos os
fatores L>& =
MNO
MOO
=−
&
>
e L?& =
transformar as linhas K& e K> :
MPO
MOO
&
>
= . Com esses fatores, vamos
K> = K> − L>& × K&
1
1
1
1
K> = _−1 − ]− × 2^` _1 − ]− × 3^` _4 − ]− × −1^` _3 − ]− × 0^`
2
2
2
2
5 7
K> = C0F _ ` _ ` C3F
2 2
Já K?
K? = K? − L?& × K&
1
1
1
1
K? = _1 − ] × 2^` _−8 − ] × 3^` _−1 − ] × −1^` _1 − ] × 0^`
2
2
2
2
K? = C0F _−
19
1
` _− ` C1F
2
2
Assim nosso primeiro sistema equivalente fica da forma
2'&
0
0
+
3'>
5
+
'
2 >
19
−
'
2 >
−
'?
7
+
'
2 ?
1
−
'
2 ?
= 0
= 3
= 1
Que é o primeiro conjunto de transformações sobre o sistema
original.
Download

Respostas da Lista de Exercı́cios para a 1ª Prova de Cálculo