Você está na página 1de 8

Introdução a Métodos Computacionais

em EDO e EDP
Processos Iterativos, Equações Algébricas e Sistemas de
Equações

Parte I: Processos Iterativos

A. Considere o processo iterativo x(n+1) = ax(n) + b, com a, b ∈ IR.

1. Assuma, inicialmente, b = 0. Neste caso, temos um processo iterativo linear. Escreva um


programa que, para um dado valor da constante a, calcula os 100 primeiros termos da
seqüência gerada por este processo iterativo e salva o resultado em um arquivo de saı́da.

2. Ainda para o caso b = 0, identifique todos os 7 casos relevantes para os valores constante
a e avalie, a partir de um gráfico para cada um dos casos, a estabilidade do ponto fixo
x⋆ = 0.

3. Considere, agora, que b 6= 0, mas que seja muito pequeno quando comparado a 1, isto é
|b| << 1. Com isto em mente, faça um estudo analı́tico do ponto fixo do processo iterativo
para os sete casos estudados no item 2 e compare com o caso b = 0. Há mudanças na
estabilidade dos pontos fixos por esta pequena perturbação no sistema? Identifique um
critério para que o ponto fixo seja assintóticamente estável. Este critério dependerá de b?

4. Estude computacionalmente os exemplos abaixo, traçando gráficos que ilustrem a estabi-


lidade do ponto fixo do processo iterativo.
1 (c) x(n+1) = 3x(n) + 1
(a) x(n+1) = x(n) + 1
3
4 2
(b) x(n+1) = x(n) + (d) x(n+1) = 0.035x(n) + 12
23 5

B. Considere um processo iterativo do tipo x(n+1) = g(x(n) ) em que a função g(x) seja contı́nua
num intervalo [a, b], que tenha um ponto fixo x∗ no intervalo [a, b] e que seja tal que |g ′ (x)| ≤
k, ∀x ∈ (a, b), com 0 < k < 1.

1. Defina e(n) = |x(n) − x∗ | o erro cometido em aproximar o ponto fixo x∗ pela iteração x(n) .
Mostre que e(n) ≤ k n e0 e que, portanto, este processo iterativo converge para o ponto fixo.

2. Use o teorema do valor médio para mostrar que |x(n+1) − x(n) | ≤ k n |x(1) − x(0) |. Posteri-
ormente, usando a desigualdade triangular, mostre que, para m > n ≥ 1, temos que

|x(m) − x(n) | ≤ k n |x(1) − x(0) |(1 + k + k 2 + k 3 + · · · + k m−n−1 ).

Tomando o limite m → ∞, mostre que

k n (1) (1)
e(n) ≤ |x − x(0) |.
1−k
Com este resultado, é possı́vel obtermos uma estimativa a priori para o erro da apro-
ximação do ponto fixo na iteração n.

Int. a Mét. Comp. em EDO e EDP - 01/17 - Prof. Yuri Dumaresq Sobral - MAT/UnB
3. Com base nos resultados acima, determine um intervalo [a, b] no qual a iteração de ponto
fixo converge para os casos abaixo. Além disto, determine, a priori, quantas iterações serão
necessárias para se atingir uma aproximação para o ponto fixo com erro menor que 10−5 .

2 − ex + x 2 5
(a) g(x) = (b) g(x) = +2 (c) g(x) = 6−x .
3 x2

C. Considere os cinco processos iterativos abaixo e responda às questões:

i. x(n+1) = x(n) − (x(n) )3 − 4(x(n) )2 + 10 (x(n) )3 + 4(x(n) )2 − 10


iv. x(n+1) = x(n) −
s  3(x(n) )2 + 8x(n)
(n+1) 10 (n)
ii. x = − 4x 1 1
x(n) v. x(n+1) = 10 − (x(n) )3
2

s 2

(n+1) 10
iii. x =
4 + x(n)

1. Mostre que todos os processos acima têm pelo menos um ponto fixo idêntico. Não é
necessário encontrá-lo explicitamente, mas apenas mostrar que o ponto fixo é o mesmo.

2. Classifique este ponto fixo idêntico para cada um dos cinco processos e compare seus
resultados. O que acontece?

3. Escreva um programa computacional para implementar estes processos iterativos e mostre


que o ponto fixo é x∗ = 1,365230013. Parta sempre de x(0) = 1,5. Seu código deverá
convergir para este ponto fixo em apenas três dos processos acima. Qual deles é mais
rápido? Por quê? Faça uma tabela com a quantidade de iterações necessárias para se
chegar neste ponto fixo para cada um dos métodos e compare seus resultados.

D. Considere os processos iterativos x(n+1) = g(x(n) ) dados abaixo. Escreva um programa para
encontrar os pontos fixos destes processos, com precisão de 6 casas decimais (isto é, o valor
absoluto entre dois valores consecutivos x(k) e x(k+1) deve ser menor que 10−6 ). Posteriormente,
faça um estudo da convergência deste processo iterativo em função do chute inicial dado. Para
tal, considere 200 chutes iniciais x(0) ∈ [0, 100] e salve, num arquivo, a quantidade de iterações
para se alcançar a precisão de 10−6 em função da distância do chute ao ponto fixo. Qual é o
comportamento observado? Identifique a influência do chute no resultado obtido.

4x3 − 420x2 + 10600x − 40000


(a) g(x) = cos(x) (b) g(x) = .
3x2 − 280x + 5300

Parte II: Solução de Equações Algébricas

A. Escreva um programa computacional, na linguagem de sua preferência, que encontre a solução


das equações algébricas não-lineares abaixo. O seu programa deve permitir escolher o método de
solução (ponto fixo, bisseção ou Newton-Raphson), a precisão desejada e deve pedir ao usuário a
informação sobre o intervalo no qual se encontra a função. Além disto, o programa deve verificar
se o intervalo especificado é adequado. Finalmente, seu programa deve dizer quantas iterações
foram necessárias para se obter a precisão estipulada.

Int. a Mét. Comp. em EDO e EDP - 01/17 - Prof. Yuri Dumaresq Sobral - MAT/UnB

1. x x − cos(x) = 0, em [0, 1] 5. xx + 2−x + 2 cos(x) = 6, em [1, 2]

2. x3 − 7x2 + 14x = 6, em [0, 1] 6. (x − 2)2 − log(x) = 0, em [e, 4]

3. x3 − 7x2 + 14x = 6, em [1, 3.2] 7. sin(x) = e−x , em [0, 1]

4. x3 − 7x2 + 14x = 6, em [3.2, 4] 8. 2x cos(x) = (x − 2)2 , em [2, 4]

B. Resolva as questões abaixo, que podem envolver métodos analı́ticos e computacionais.


1. A função f (x) = 230x4 + 18x3 + 9x2 − 221x − 9 tem apenas dois zeros reais. Encontre-os
com precisão de 10−6 .

2. A equação e−x = x tem pelo menos uma solução no intervalo [0, 1]? Por que? Em caso
afirmativo, podemos garantir que ela seja única?

3. Determine 6 3 com precisão de 5 casas decimais.

4. A soma de dois números x e y é 20. Se somarmos a cada um destes números sua raiz
quadrada, o produto destes novos números é 155.55. Determine estes dois números com
precisão de 10−4 .

5. Qual método converge mais rápido para a solução da equação log(x) − 3 3 x = π, para
mesmos chutes iniciais, com precisão de 6 casas decimais: Newton-Raphson, secante ou
bisseção?

1
C. Considere a equação x3 − x − = 0, que admite três soluções reais no intervalo [−1.5, 1].
5
1. Encontre, pelo método de sua preferência, as três soluções desta equação.

2. Faça um estudo detalhado do chute inicial para o método de Newton-Raphson, isto é, esco-
lha cerca de 50 pontos no intervalo acima e determine para que raiz o método convergirá.
Com isto, você irá determinar a zona de influência de cada solução da equação.

3. Determine um processo iterativo isolando o termo x3 e encontre uma das raı́zes por este
método. Compare a quantidade de iterações necessárias com o método de Newton-Raphson
para um mesmo chute.

4. Encontre pelo menos outros dois processos iterativos baseados nesta equação e tente en-
contrar a solução que você escolheu por estes processos. Compare com os resultados que
você obteve no item anterior e perceba que a convergência depende fortemente da escolha
do processo iterativo. Por quê? Note que nem todos os processos que você encontrará
serão convergentes!

D. (O Método da Posição Falsa) Uma pequena variação do Método da Secante é o Método


da Posição Falsa. Tal como no Método da Secante, neste método o processo de aproximação da
raiz de uma equação do tipo f (x) = 0 é feito a partir do zero da reta secante obtida a partir das
aproximações x(i) e x(i−1) , mas agora a escolha do ponto que será usado na próxima iteração,
juntamente com x(i+1) , é feita com base no critério f (x(α) )f (x(i+1) ) < 0, com α = i ou i − 1.
Desta forma, tem-se a certeza que a raiz sempre estará contida no intervalo [x(i+1) , x(i) ]. Com
base nesta definição, responda às questões abaixo:
1. Determine o processo iterativo que define este método e faça uma interpretação geométrica.

Int. a Mét. Comp. em EDO e EDP - 01/17 - Prof. Yuri Dumaresq Sobral - MAT/UnB
x
2. Aplique-o para encontrar a solução não-nula da equação sin(x) − = 0 com precisão de
2
5 casas decimais.

3. Trace um gráfico do erro cometido em cada iteração e determine qual é a ordem deste
método. Compare seus resultados com o Método da Secante e com Newton-Raphson.

E. (Raı́zes múltiplas) Uma raiz p de uma equação f (x) = 0 é dita de multiplicidade m se,
para todo x 6= p, pudermos escrever

f (x) = (x − p)m q(x), com lim q(x) 6= 0. (⋆)


x→p

Note, portanto, que se uma função possui um zero com multiplicidade 1 em x = p se e somente
se f (p) = 0 e f ′ (p) 6= 0. Desta forma, vemos que não temos problemas para aplicar o método de
Newton-Raphson para encontrar raı́zes de multiplicidade 1. Porém, se uma raiz tem multiplici-
dade m, então f (p) = f ′ (p) = f ′′ (p) = · · · = f (m−1) (p) = 0 e f (m) (p) 6= 0. Desta forma, teremos
problemas para encontrá-la como método de Newton-Raphson. Uma maneira de resolver este
problema é descrita nos ı́tens abaixo.
f (x)
1. Chame µ(x) = e suponha que f (x) = 0 tenha uma raiz de multiplicidade m em
f ′ (x)
x = p. Use eq.(⋆) para mostrar que

q(x)
µ(x) = (x − p) .
mq(x) + (x − p)q ′ (x)
| {z }

Mostre que a fração (♣) não tem um zero em p e, portanto, x = p é uma raiz simples de
µ(x).

2. Aplique, então, o método de Newton-Raphson para µ(x) e mostre que o método pode ser
escrito como:
f (x(n) )f ′ (x(n) )
x(n+1) = x(n) − ′ (n) 2 .
[f (x )] − f (x(n) )f ′′ (x(n) )
Qual é a ordem deste método? Note que a dificuldade deste método está em determinar
a segunda derivada de f (x) e nas possı́veis subtrações de valores muito próximas de zero
no denominador, para valores de x próximos à raiz.

3. Identifique que tipo de raiz é p = 0 da equação f (x) = ex − x − 1. Aplique o método acima


para encontrá-lo numericamente, com precisão de 10−5 .

4. Repita o procedimento do item anterior para f (x) = x4 − 9x3 + 9x2 − 27 para o zero p = 3.

Parte III: Sistemas Lineares e Fatoração LU

A. Escreva um programa para resolver os sistemas lineares abaixo. Em alguns casos, a matriz
dos coeficientes do sistema não será regular e será necessário realizar algumas permutações de
linhas. Note que é fácil verificar se seu resultado está correto com uma simples substituição dos
valors encontrados.

Int. a Mét. Comp. em EDO e EDP - 01/17 - Prof. Yuri Dumaresq Sobral - MAT/UnB
 
 4x − y + z = 8 
 x+y+w =2

1. 2x + 5y + 2z = 3 2x + y + −z + w = 1
 3.
x + 2y + 4z = 11 
 −x + 2y + 3z − z = 4

 3x − y − z + 2w = −3
 2x − 1.5y + 3z = 1 
2. −x + 2z = 3 x + 2y = 3
 4.
4x − 4.5y + 5z = 1 x−y =0

B. Escreva um programa para encontrar a fatoração LU das matrizes abaixo. Note que, para
algumas destas matrizes, será necessário fazer um pivoteamento parcial.
   √ √ 
1 0 −1 0 π −e 2 − 3
 0 2 3 −1   π2 2 3 
1.   3.  √ √ e −e √7 
 −1 3 2 2   5 − 6
√1 − 21

0 −1 2 1 π 3 2
e − 7 9
   
1 1 −1 1 −5 1
2.  1 1 4  4.  10 0 20 
2 −1 2 5 0 −1

C. Escreva um programa para determinar a fatoração LU de uma matriz A, de tamanho N × N ,


que tem todos seus elementos identicamente nulos, exceto os elementos da diagonal principal,
que são todos iguais a 2, e os elementos das duas sub-diagonais (as duas diagonais imediatamente
abaixo da diagonal principal) e das duas super-diagonais (as duas diagonais imediatamente acima
da diagonal principal) iguais a −1. Posteriormente, usando o resultado da fatoração LU, resolva
os sistemas Ax = b para:

1. N = 5, b = [1 1 1 1 1]T 3. N = 22, b = [2 2 2 · · · 2 2]T

2. N = 9, b = [1 2 3 4 · · · 8 9]T 4. N = 150, b = [2 1 2 1 2 1 · · · 2 1]T

D. (Matriz Inversa) Uma maneira de determinarmos a matriz inversa de uma matriz A, N ×


N , é usarmos sua fatoração LU para resolvermos N sistemas do tipo Axi = ei , com ei =
[0 0 0 · · · 0 1 0 · · · 0]T o vetor elementar que tem todas suas componentes nulas, exceto sua
i-ésima componente, que é igual a 1. Desta forma, cada um dos vetores xi encontrados como
solução do sistema representa a i-ésima coluna da matriz inversa de A.

1. Escreva um programa para calcular a inversa de uma matriz N × N com base no algoritmo
da fatoração LU.

2. Determine as inversas das matrizes da questão C.

3. Resolva os sistemas da questão A determinando a matriz inversa, isto é, para cada um dos
sistemas Ax = b, determine A−1 e encontre a solução com sendo x = A−1 b.

E. (Determinantes) O determinante de uma matriz A = [a11 ], isto é, uma matriz 1 × 1, é


definido como |A| = det(A) = a11 . Para uma matriz N × N , o determinante pode ser calculado
pela operação:
XN
|A| = det(A) = (−1)i+j aij Mij ,
j=1

Int. a Mét. Comp. em EDO e EDP - 01/17 - Prof. Yuri Dumaresq Sobral - MAT/UnB
para qualquer escolha de i, e em que Mij é o determinante da submatriz N − 1 × N − 1 obtida a
partir da eliminanção da i-ésima linha e j-ésima coluna da matriz A. Note que este procedimento
é bem definido, pois quando aplicado recursivamente, levará ao cálculo de vários determinantes
de matrizes 1 × 1. O problema de implementar-se esta operação computacionalmente é que
ela é muito cara, necessitando O(N !) operações para determinar |A|. Sabemos, porém, que
o determinante tem propriedades bastante úteis. Primeiro, se fizermos uma operação Li ←
Li + λLj numa matriz A, o seu determinante permanence inalterado. Segundo, se fizermos uma
permuta de linhas Li ↔ Lj na matriz A, seu determinante é multiplicado por −1. Além disto,
se A for uma matriz triangular superior, inferior ou mesmo diagonal, seu determinante é dado
simplesmente por
YN
|A| = aii .
i=1

Desta forma, se conseguirmos encontrar uma matriz triangular superior pelo método do es-
calonamento (o que será sempre possı́vel desde que |A| =6 0), conseguiremos determinar seu
determinante facilmente. Com base nestas informações, escreva um programa para calcular o
determinante de uma matriz N × N . Mostre que:
 
2 1 −1 1
 1 1 0 3  
det 
 −1
 = 39.
2 3 −1  
3 −1 −1 2

Posteriormente, determine o determinante das matrizes da questão B.

F. Suponha que o sistema abaixo seja definido em termos de um parâmetro α ∈ IR:



 2x + y + 3z = 1
4x + 6y + 8z = 5

6x + αy + 10z = 5

1. Para que valores de α o sistema acima admite uma única solução?

2. Para que valores de α não será necessário fazer um pivoteamento durante a eliminação
gaussiana?

3. Escolha um valor de α e resolva o sistema por fatoração LU.

Parte IV: Métodos Iterativos para Sistemas Lineares

A. Determine se as matrizes abaixo são convergentes ou não. Você pode precisar usar ferramen-
tas de cálculo numérico que você já conhece.
   √   
5 −3 −2 π −e 2 2 −1 −1
1
1.  1 −2 1  π2
2.  √ √ e −e
2  3.  2 2 2 
5
1 −5 4 5 − 6 1 −1 −1 2

B. Considere um sistema linear Ax = b em que a matriz A pode ser decomposta em A =


L + D + U . A matriz L é uma matriz estritamente triangular inferior, D é uma matriz diagonal

Int. a Mét. Comp. em EDO e EDP - 01/17 - Prof. Yuri Dumaresq Sobral - MAT/UnB
e U é uma matriz estritamente triangular superior. Mostre que o método de Gauss-Jacobi
aplicado a este sistema linear pode ser escrito como

xn+1 = −D−1 (L + U )xn + D−1 b,

e o método de Gauss-Seidel aplicado a este sistema linear pode ser escrito como

xn+1 = −(L + D)−1 U xn + (L + D)−1 b.

C. Escreva um programa para resolver os sistemas lineares abaixo usando os métodos de Gauss-
Jacobi e Gauss-Seidel. Por que é possı́vel saber a priori que a solução destes sistemas pode ser
encontrada por estes métodos? Note que é fácil verificar se seu resultado está correto com uma
simples substituição dos valors encontrados.
 
 3x −y +z = 1 
 4x +y −z +w = −2

1. 3x +6y +2z = 0 x+ 4y −z −w = −1
 3.
3x +3y +7z = 4 
 −x −y +5z +z = 0

x −y +z +3w = 1

 
 10x +5y = 6

 10x −y = 9 5x +10y −4z = 25
4.
2. −x +10y −2z = 7 
 −4y +8z −z = −11
 
−2y +10z = 6 −z +5w = −11

D. Vamos comparar os métodos de Gauss-Jacobi e Gauss-Seidel em dois sistemas lineares dife-


rentes.

1. Considere o sistema linear


    
2 −1 −1 x 1
 2 2 2  y  =  4 .
−1 −1 2 z −5

Encontre o processo iterativo que representa os métodos de Gauss-Jacobi e Gauss-Seidel e


mostre que apenas o último é válido para encontrar a solução. Por quê? Quantas iterações
são necessárias para encontrar a solução [1 2 − 1]T com precisão 10−5 .

2. Considere o sistema linear


    
1 2 −2 x 7
 1 1 1   y = 2 .
 
2 2 1 z 5

Encontre o processo iterativo que representa os métodos de Gauss-Jacobi e Gauss-Seidel


e mostre que apenas o primeiro é válido para encontrar a solução. Por quê? Quantas
iterações são necessárias para encontrar a solução [1 2 − 1]T com precisão 10−5 .

E. [Método das potências] Um dos métodos mais simples para determinar o autovalor domi-
nante de uma matriz A, de tamanho N × N , a partir do processo iterativo linear xn+1 = Axn ,
com chute inicial x0 = a. Para isto, suponha que {v1 , v2 , v3 , . . . , vN } seja a base de autovetores
da matriz A e {λ1 , λ2 , λ3 , . . . , λN } os seus respectivos autovalores. Considere os ı́tens abaixo.

Int. a Mét. Comp. em EDO e EDP - 01/17 - Prof. Yuri Dumaresq Sobral - MAT/UnB
1. Mostre que a solução geral do processo iterativo é xn = An a. Posteriormente, usando a
base de autovetores, escreva que a = c1 v1 + c2 v2 + · · · + cN vN e mostre que a solução geral
do processo iterativo é xn = λn1 c1 v1 + λn2 c2 v2 + · · · + λnN cN vN .

2. Note que se a matriz A tiver um autovalor dominante, isto é, |λi | > |λk |, k 6= j, a solução
para algum n ≫ 1 será do tipo xn = λni ci vi e, assim, cada uma das componentes xj do
vetor xn também serão do tipo xnj = λni ci vij , com vij a j-ésima componente do autovetor
xn+1
j
vi . O autovalor dominante será determinado, então, como sendo λi = lim , ∀j,
n→∞ xn
j
desde que ci , xnj 6= 0.

3. Determine, usando o procedimento acima, o autovalor dominante das matrizes abaixo:


     
−1 2 2 −2 0 1 5 −3 −2
(a)  −1 −4 −2  (b)  −3 −2 0  (c)  1 −2 1 
−3 9 7 −2 5 4 1 −5 4

4. Como você determinaria o autovetor associado ao autovalor encontrado por este método?

F. Resolva os seguintes sistemas de equações não-lineares usando o método de Newton-Raphson


para sistemas. O chute inicial x0 é dado em alguns casos. Lembre-se que você deve escolher
um método para a solução do sistema linear que aparecerá no procedimento. Teste diferentes
escolhas e compare a eficiência global de cada processo.
 
4x 2 − 20x + 1 y 2 = −8  1

 
 3x − cos(xy) =
 4 
 2
1. 1 2 
4x2 − 625y 2 + 2y = 1
 xy − 2x − 5y = −8 3.
 20
 10
x = [0 0]T


 e−xy + 20z + π = 1

 0 3
 2
 x = [0 0 0]T
 x + y2 = 37
  3
 x + y3 = 3

x−y =5
2.

 x+y+z =3 4. x2 − y 2 = 2
 0 
x = [0 0 0]T Encontre todos as soluções

Teste a sensibilidade da solução à condição inicial. É possı́vel encontrar um chute inicial que
leve a outras soluções dos sistemas 1 a 3?

Int. a Mét. Comp. em EDO e EDP - 01/17 - Prof. Yuri Dumaresq Sobral - MAT/UnB