Você está na página 1de 26

Mtodos Computacionais

Engenharia de Produo
Doutorado em Cincia e Tecnologia
Solues de equaes em uma varivel
Mtodo da Bisseco

Incio da sequncia: a1 = a, b1 = b, p ponto mdio do


segmento a1 e b1

se f(p1)=0, ento p = p1
se f(p1) 0, ento f(p1) tem o mesmo sinal de a1
ou b1
Se f(p1) tem o mesmo sinal de f(a1), ento
a2 = p1, b2 = b1
se f(p2) tem o mesmo sinal de f(b1) ento
a2= a1 e b2 = p1
Algoritmo Bisseo
calcular a soluo para f(x) = 0, f uma funo contnua no intervalo [a,b], onde f(a) e f(b) possuem sinais opostos
entradas: extremos do intervalo, a, b; tolerncia TOL; nmero mximo de iteraes N0.
sada: soluo aproximada de p ou mensagem de erro.
passo 1: i=1; FA=f(a);
passo 2: enquanto i <= N0 faa; p = (a+b)/2 (clculo de pi), FP = f(p)
passo 3: se FP=0 ou (b-a)/2<TOL ento
sada(p) (procedimento completado com sucesso)
fim;
passo 4: i = i+1; se FA.FP >0 seno
sada( o mtodo falhou aps N0 iteraes, N0 = , N0)
fim.

O mtodo de soluo para f(x)=0 se baseia no mtodo das sries encaixantes


Exemplo de Aplicao
Iterao de Ponto Fixo
Definio: Um ponto p, um ponto fixo para g, se g(p)=p

Relao entre raiz de f(x)= e ponto fixo g(x)=x


se f(p) = 0 p ponto fixo para a equao g(x)=x-f(x)
se g possui um ponto fixo em p f(x)=x-g(x) tem um zero em p

Teorema: Se g C[a,b] e g(x) (a,b) ento g tem pelo menos um zero em [a,b];
Se g(x) existe para todo x (a,b) e uma constante positiva k < 1, tal que
para todo x

Demonstrao: i) se g(a) = a ou g(b) = b 0k


suponha que g(a) > a e g(b) > b h(x) = g(x) x
Teorema do Valor Intermedirio existe tal que

Segunda parte: . Suponha que exista dois pontos fixos,


peq

Se Teorema do Valor Mdio

um ponto entre p e q.

contradio
Exemplo: Mostre que possui um nico ponto fixo no intervalo [-1,1]

Iterao de Ponto Fixo


Construo da sequncia:

Justificativa:
Algoritmo: Iterao de Ponto Fixo
Encontrar soluo para p = g(p) a partir de uma aproximao p0.

entradas: aproximao p0; tolerncia TOL; nmero mximo de iteraes N0;


sadas: soluo aproximada p ou mensagem de erro
faa i = 1;
enquanto i <= N0, faa
faa p = g(p0); (calcula pi)
se |p-p0| < tol ento
saida( o procedimento teve sucesso)
i = i+1
p0 = p (atualiza p0)
saida(O mtodo falhou depois de N0 iteraes, N0 = , N0) (o procedimento no teve sucesso)
pare
Mtodo de Newton e suas Extenses
O Mtodo de Newton (Analtico)
Algoritmo de Newton
Encontrar a soluo para a equao f(x) = 0
entradas: aproximao inicial p0; tolerncia tol, nmero de iteraes N0.
sada: soluo aproximada p ou mensagem de erro.
i =1;
enquanto i<= N0
p = p0-f(p0)/f(p0) (clculo de pi)
se abs(p-p0) < tol, disp(p), end
i = i + 1; p = p0;
disp(O mtodo falhou aps N0 iteraes, N0 =, N0);
Convergncia do Mtodo de Newton
Seja Se tal que f(p)=0 e ento
existe tal que a sequncia, , gerada pelo mtodo de
Newton converge para p, para qualquer aproximao inicial, dada no
intervalo
Construo do mtodo de Newton

derivada limitada
construo de intervalo, funo Lipschitz
onde f diferente de zero
Mtodo da Secante
Aproxima a derivada no mtodo de Newton

Atualizao do mtodo de Newton


Implementao do Mtodo
entradas: entradas:
func = nome da funo
xr = aproximao inicial
es = erro relativo desejado (default = 0.0001)
maxit = nmero mximo de iteraes permitida (default)
p1, p2,... = parmetros adicionais usados pela funo func
output:
root = soluo aproximada da equao f(x)=0
ea = erro relativo aproximado
iter = nmero de iteraes (default 50)
Implementao do Mtodo
function [root,ea,iter] = secante(func,xr,es,maxit,varargin) iter = 0
h = 1e-4
h2 = 2*h
while(1)
xrold = xr;
dfdx=(func(xr+h,varargin{:})-...
func(xr-h,varargin{:}))/h2;
xr = xr func(xr)/dfdx;
iter = iter + 1;
if xr ~ = 0, ea = abs((xr xrold)/xr) * 100; end
if ea <= es | iter >= maxit, break, end
end
root = xr;
Mtodo da falsa posio

Usa o mtodo secante com um teste de sinal


if fa*fb>0, error(O produto deve ser negativo f(a)f(b)<0!);end
for k=1: MaxIter
xx(k)=(a*fb-b*fa)/(fb-fa);
fx=feval(f,xx(k));
err=max(abs(xx(k)-a),abs(b-xx(k)));
if abs(fx)<TolFun|err<TolX,break;
elseif fx*fa>0,a=xx(k);fa=fx; else b=xx(k);fb=fx;
end
end
x=xx(k);
if k==MaxIter, fprintf(O melhor em %d iteraes\n,MaxIter),end
Erro de anlise para os mtodos iterativos
Ordem de convergncia: seja que converge para p, com
Se existem constantes positivas e com

ento converge a p com ordem , com erro assinttico


constante igual a
se =1, a sequncia linearmente convergente
Se =2 a sequncia quadraticamente convergente
Anlise de erro para mtodos iterativos
Se tal que para todo . Suponha que g
seja contnua em (a,b) com

para todo

Se ento para qualque em [a,b], a sequncia

para

Converge linearmente para o nico ponto fixo p em [a,b]


Anlise de erro para mtodos iterativos
Prova:

est entre pn e p
Anlise de erro para mtodos iterativos
Seja p a soluo da equao x = g(x). Suponha que g(p)= e g seja
contnua com |g(x)|< M, em um intervalo I que contenha p. Ento
existe tal que, para a sequncia definida por
com converge quadraticamente para p . Mais
ainda, para n suficientemente grande,

Para a prova, basta observar que


Anlise de erro para mtodos iterativos
Nas condies anteriores, o mtodo de Newton tem convergncia
quadrtica
Razes Mltiplas
Uma soluo p de f(x)=0 um zero de multiplicidade m se para
podemos escrever , onde
Teorema: Uma funo tem um zero simples em x=p,
em (a,b) se e somente se f(p)=0, mas
Prova: se f tem um zero em (a,b)

Reciprocamente, se f(p)=0 e por Taylor


Razes Mltiplas
Teorema: A funo possui zero de multiplicidade m em
p em (a,b) se e somente

mas,
Exemplo(convergncia no quadrtica) Seja
Mostre que
f tem zero de multiplicidade 2 em x = 0
o mtodo de Newton, para f, converge para a soluo, mas no
quadraticamente.
Acelerao de Convergncia
Mtodo de Aitken: usado para acelerar a convergncia de uma
sequncia que , a princpio, linearmente convergente
Acelerao de convergncia
Para uma sequncia a diferena progressiva definida
por
para

Potncias superiores de so definidos de forma recursiva

Operador de ordem 2
Acelerao de convergncia
O mtodo de Aitken
Acelerao de convergncia

Você também pode gostar