Você está na página 1de 6

Resolução de alguns exercı́cios da ficha II

Resolução do exercı́cio 5

O facto da função f (x) = x3 − 2e−x ser contı́nua em [0, 1] e f (0)f (1) < 0, justifica a existência do zero neste
intervalo. Quanto à unicidade, basta que a derivada de f exista, seja contı́nua e não se anule no intervalo [0, 1].

f 0 (x) = 3x2 + 2e−x .


A derivada é contı́nua porque é obtida à custa da soma de duas funções contı́nuas. Esta soma nunca se anula
no intevalo dado.
Pode-se, a partir do método gráfico, confirmar estes resultados:

Seja xe a solução exacta do problema. Utlizando o método das bissecções sucessivas, tem-se:
x0 = 0.5 e f (0.5) = −1.09 ⇒ xe ∈ [0.5, 1] porque f (0.5)f (1) < 0;
x1 = 0.75 e f (0.75) = −0.52 ⇒ xe ∈ [0.75, 1] porque f (0.75)f (1) < 0;
x2 = 0.88 e f (0.88) = −0.15 ⇒ xe ∈ [0.88, 1] porque f (0.88)f (1) < 0;
Ao fim de duas iterações a solução aproximada é x2 = 0.88.

Resolução do exercı́cio 7

a) A estimativa do número de iterações necessárias para se atingir a aproximação desejada é dada obtida através
da fórmula do erro:
b−a
≤ .
2k
Do enunciado tem-se que b − a = 1 e  = 10−3 .

1 −3 k 1 ln 103
≤ 10 ⇔ 2 ≥ −3 ⇒ k ≥ = 9.96
2k 10 ln (2)

Com 10 iterações do método da bissecção, obtém-se a aproximação com a precisão desejada.


b) Sendo f uma função contı́nua em J = [1, 2] e f (1)f (2) < 0, conclui-se que ∃α ∈ J tal que f (α) = 0. Este zero
é único porque f 0 existe (f 0 (x) = 3x2 + 8x), é contı́nua (por ser uma função polinomial) e não se anula em J.
Para a obtenção da aproximação desejada recorreu-se à rotina bissec (disponı́vel em anexo e no drive). O
quadro seguinte apresenta todas as iterações obtidas e o resultado petendido.

1
Resolução do exercı́cio 13

Para que uma função contı́nua g possua um único ponto fixo em [a, b] tem que satisfazer as condições suficientes
de existência e unicidade de ponto fixo:

• Se ∀x ∈ [a, b], g(x) ∈ [a, b], então g tem, pelo menos, um ponto fixo α ∈ [a, b] (∃α ∈ [a, b] tal que g(α) = α)
• Se g 0 (x) está definida em [a, b] e existir 0 < L < 1 com |g 0 (x)| ≤ L, ∀x ∈ [a, b], então g tem um único ponto
fixo α ∈ [a, b].

Pretende-se com o exercı́cio mostrar que f (x) = π − 0.5 sin x2  tem um único ponto fixo em [0, π].


Quanto à existência: sendo f contı́nua e f 0 (x) = −0.25 cos x2 < 0, ∀x ∈ [0, π] , tem-se que f é decrescente no
intervalo:

∀x ∈ [0, π] f (x) ∈ [f (π), f (0)] ⊂ [0, π].


Logo, f tem, pelo menos, um ponto fixo no  intervalo [0, π].
Quanto à unicidade: f 0 (x) = −0.25 cos x2 está definida em [0, π] e ∀x ∈ [0, π]
 x 
|f 0 (x)| = −0.25 cos ≤ 0.25 (= L).

2
0 < L < 1, logo o ponto fixo de f é único em [0, π].

Pode-se confirmar os resultados com recurso ao método gráfico:

2
Resolução do exercı́cio 14

Podemos ter uma ideia do valor da solução pretendida através da função roots do Octave e do método gráfico:

O método de ponto fixo consiste na obtenção da aproximação do zero da função f (x) através da aproximação
do ponto fixo de F (x), onde as duas funções se relacionam da seguinte forma:

f (x) = 0 ⇔ x = F (x)
Das diversas formas possı́veis de obter F (x), as mais imediatas (basta isolar o x), neste caso, são:

F (x) = 100 − x3 ou F (x) = 3
100 − x
Fica como exercı́cio, verificar que a primeira expressão para F (x) não garante a convergância do método.
Quanto à segunda expressão, escolhamos o intervalo [4, 5] e verifiquemos as condições de convergência:

• F é continuamente diferenciável em [4, 5];

• Como
1 2 2 5
F 0 (x) = − (100−x)− 3 < 0 e F 00 (x) = − (100−x)− 3 < 0, ∀x ∈ [4, 5],
3 9
então F 0 é decrescente e ∀x ∈ [4, 5], F 0 (x) ∈ [F (5), F (4)].
Assim,
L = max |F 0 (x)| = |F 0 (5)| ≈ 0.016 < 1.
x∈[4,5]

Temos a garantia do ponto fixo em [4, 5] e da convergência do


método de ponto fixo (α).

Aplicção do método:

• Função de recorrência: xk+1 = F (xk ) = 3
100 − xk
1−L
• Estimativa do erro: k+1 = |xk+1 − xk | = 0.0163 |xk+1 − xk |
L
Tomando x0 = 4 e utilizando a rotina fixo (disponı́vel em anexo e no drive), obteve-se:

k xk k
1 4.57885697 9.44 × 10−3
2 4.56963527 1.50 × 10−4
3 4.56978248 2.39 × 10−6

Resolução do exercı́cio 19

3
a) O objectivo do exercı́cio é obter uma aproximação para o zero de f (x):
Consequentemente,
g(α) = α − λ(α − sin(α + 1)) = α.
| {z }
=0

b) Verifiquemos as condições de convergência do método:


i) g(x) = x − 0.5(x − sin(x + 1)) e g 0 (x) = 0.5(1 + cos(x + 1)) são funções contı́nuas e inifinitamente
diferenciáveis em [0, 1] (soma de funções polinomiais e trigonométricas);
ii) Para qualquer x ∈ [0, 1], g 0 (x) > 0. Logo g é uma função estritamente crescente em [0, 1] e

g(Ω) ⊂ [g(0), g(1)] ⊂ [0, 1].

Portanto, ∀x ∈ [0, 1], g(x) ∈ [0, 1].


iii) Pretende-se mostrar que
L = max{|g 0 (x)| : x ∈ [0, 1]} < 1.
Uma vez que
sin(x + 1)
g 00 (x) = − < 0, ∀x ∈ [0, 1],
2
concluı́mos que g 0 é estritamente decrescente e atinge o máximo em 0:

L = max{|g 0 (0)| , |g 0 (1)|} ≈ 0.7701 < 1.

Logo, a sucessão de aproximações gerada pelo método de ponto fixo é convergente.


c) Nas condições de convergência do método de ponto fixo, estima-se que

Lk
|ek | = |xe − xk | ≤ |x1 − x0 | .
1−L

Se escolhermos x0 = 0, então x1 = g(x0 ) = 0.420735.


Lk
Pretende-se que |x1 − x0 | ≤ 10−6 . Com os valores obtidos até aqui e feitas as contas, tem-se que k ≥ 56.
1−L
Ao fim de 56 iterações atinge-se a aproximação desejada.

Resolução do exercı́cio 25

O objetivo deste exercı́cio é a determinação de todas as raı́zes de p(x) = x4 − 6x3 + 18x2 − 30x + 25.
a) Pretende-se obter uma aproximação inicial e efectuar uma iteração do método de Newton-Raphson:
Se p(x) = an xn + an−1 xn−1 + . . . + a2 x2 + a1 x + a0 , uma das formas de obter uma aproximação inicial para
x0 ∈ C é escolher uma das soluções de
an x2 + an−1 x + an−2 .

Neste caso, resolvendo a equação x2 − 6x + 18 = 0 tem-se que x = 3 ± 3i.


Escolhendo x0 = 3 + 3i, obtém-se o resultado da primeira iteração do método de Newton-Raphson:
 
p(x0 ) −65 − 90i 349 + 324i
x1 = x0 − = 3 + 3i − = .
p0 (x0 ) −138 138

b) Sabendo que x = 1 + 2i é raı́z de p(x), o seu conjugado também é: x = 1 − 2i e p(x) = q(x)r(x), onde

q(x) = (x − (1 + 2i))(x − (1 − 2i)) = x2 − 2x + 5.

Para a determinação de r(x), utiliza-se a regra de Ruffini generalizada, com α = 2 e β = −5:

4
1 −6 18 −30 25
−5 −5 20 −25
2 2 −8 10
1 −4 5 0 0

p(x) = 0 ⇔ (x2 − 2x + 5)(x2 − 4x + 5) = 0 ⇔ x = 1 ± 2i ∨ x = 2 ± i.


| {z }
r(x)

O polinómio p(x) tem quatro raı́zes complexas (em pares conjugados).

Anexos
bissec
clc;
clear;
format long;
function y=f(x)
y=x^3+4*x^2-10; % definir a funç~ ao
endfunction
aa=1; % extremo inferior do intervalo
bb=2; % extremo superior do intervalo
tol=10^(-3); %toler^ ancia
N=10; % número máximo de iteraç~
oes
k=1;
a(k)=aa;
b(k)=bb;
c(k)=(a(k)+b(k))/2;
printf(’\n’)%mudança de linha
printf(’|-----------|-----------|-----------|-----------|----------|\n’)
printf(’| Iteraç~ao | a_k | b_k |Aprox.: c_k| |f(c_k)| |\n’)
printf(’|-----------|-----------|-----------|-----------|----------|\n’)
printf(’| %d | %f | %f | %f | %f |\n’,k,a(k),b(k),c(k),abs(f(c(k))))
while ((b(k)-a(k))/2)>=tol && k<=N % critérios de paragem
if f(c(k))==0
printf(’%d é o zero da funç~
ao f’,c(k))
break
elseif f(c(k))*f(a(k))<0
a(k+1)=a(k);
b(k+1)=c(k);
elseif f(c(k))*f(b(k))<0
a(k+1)=c(k);
b(k+1)=b(k);
end

k=k+1;

if k==N+1 % caso um dos critério s de paragem se verifique: num max de iteraç~


oes atingido
printf(’|-----------|-----------|-----------|-----------|----------|\n’)
printf(’Foi atingido o número máximo de iteraç~
oes: %d\n’,k-1)
for i=1:k-1 % o vector p é formado pelas imagens, em valor absoluto, de c(k)
p(i)=abs(f(c(i)));
end
for i=1:k-1;
if p(i)==min(p)% procura-se a melhor imagem (mais proximo de zero)
j=i; % posiç~
ao da melhor aproximaç~
ao

5
end
end
printf(’A melhor aproximaç~
ao encontrada é c(%d) = %f.\n’,j,c(j))
k=k-1;
break
end

c(k)=(a(k)+b(k))/2;
printf(’| %d | %f | %f | %f | %f |\n’,k,a(k),b(k),c(k),abs(f(c(k))))

if (b(k)-a(k))/2<tol % caso um dos critério s de paragem se verifique: precis~


ao desejada atingida
printf(’|-----------|-----------|-----------|-----------|----------|\n’)
for i=1:k % o vector p é formado pelas imagens, em valor absoluto, de c(k)
p(i)=abs(f(c(i)));
end
for i=1:k;
if p(i)==min(p)% procura-se a melhor imagem (mais proximo de zero)
j=i; % posiç~
ao da melhor aproximaç~
ao
end
end
printf(’A melhor aproximaç~
ao encontrada é c(%d) = %f.\n’,j,c(j))
printf(’A toler^ancia desejada só foi atingida na %da iteraç~
ao.\n’,k)
break
end
end
fixo

%Uma vers~ao nao robusta do método de ponto fixo. Muito simples.


clc;
clear;
format long
N=15; %Número máximo de iteraç~
oes
F=inline(’(100-x)^(1/3)’); %F(x)
tol=10^(-4); %toler^ ancia
x0=4; %aproximaç~ao inicial x0
x(1)=F(x0); %primeira iteraç~ao
er(1)=0.0163*(x(1)-x0);
for k=2:N %restantes iteraç~oes
x(k)=F(x(k-1));
er(k)=0.0163*abs(x(k)-x(k-1));
if er(k)<tol %critério de paragem
printf(’A toler^ancia foi atingida.\n’)
t=1:k;
[t’ x’ er’]
break
endif
endfor

Você também pode gostar