Capítulo
2: RESOLUCIÓN DE
ECUACIONES
Índice:
f=@(x)2+sin(x)-2*x;n=7;a=1;b=2;xbi=(b+a)/2;
for i=1:n, if f(xbi(i))*f(a)<0; b=xbi(i);else;a=xbi(i);end;
xbi(i+1)=(b+a)/2;end;
xbi,xbid=abs(diff(xbi)),f(xbi)
f=@(x)2+sin(x)-2*x; n=7; a=1;b=2;
xrf=a-f(a)*(b-a)/(f(b)-f(a));
for i=1:n, if f(xrf(i))*f(a)<0;b=xrf(i);else;a=xrf(i);end;
xrf(i+1)=a-f(a)*(b-a)/(f(b)-f(a));end;
xrf,xrfd=abs(diff(xrf)),f(xrf)
f=@(x)2+sin(x)-2*x;a=1;b=2;xrfm=a-f(a)*(b-a)/(f(b)-f(a));
n=7; for i=1:n
if abs(f(xrfm(i)))>abs(f((b+a)/2));xrfm(i)=(b+a)/2;end;
if f(xrfm(i))*f(a)<0;b=xrfm(i);else;a=xrfm(i);end;
xrfm(i+1)=a-f(a)*(b-a)/(f(b)-f(a));end;
xrfm,xrfmd=abs(diff(xrfm)),f(xrfm)
Ir al inicio
Método
iterativo del punto fijo:
g=@(x)(2+sin(x))/2; xit=2; n=7;
for i=1:n, xit(i+1)=g(xit(i)); end; xit
xitd=abs(diff(xit)),f=@(x)2+sin(x)-2*x;f(xit)
f=@(x)2+sin(x)-2*x;fd=@(x)cos(x)-2;xne=2;n=7;
for i=1:n,xne(i+1)=xne(i)-f(xne(i))/fd(xne(i));end
xne,xned=abs(diff(xne)),f(xne)
f=@(x)2+sin(x)-2*x;xse(1)=1;xse(2)=2;n=7;
for i=2:n,xse(i+1)=xse(i)-f(xse(i))*(xse(i)-xse(i-1)) ...
/(f(xse(i))-f(xse(i-1)));end
xse,xsed=abs(diff(xse)),f(xse)
f=@(x)2+sin(x)-2*x;xst(1)=1;n=7;
for i=1:n,xst(i+1)=xst(i)-(f(xst(i)))^2 ...
/(f(xst(i)+f(xst(i)))-f(xst(i)));end
xst,xstd=abs(diff(xst)),f(xst)
f=@(x)(2+sin(x)-2*x).^2;
fd=@(x)2*(2+sin(x)-2*x)*(cos(x)-2);
fdd=@(x)2*(cos(x)-2).^2-2*sin(x).*(sin(x)-2*x+2);
xnm(1)=2;n=7;
for i=1:n, xnm(i+1)=xnm(i)-(f(xnm(i))*fd(xnm(i)))...
/((fd(xnm(i))).^2-f(xnm(i))*fdd(xnm(i))); end
xnm,xnmd=abs(diff(xnm)),f(xnm)
Aquí se aplica sobre las iteraciones de regula-falsi. Se presupone que se han ejecutado los comandos anteriores de regula-falsi.
for
i=1:n-1;xrfa(i)=xrf(i)-(xrf(i+1)-xrf(i))^2/...
(xrf(i+2)-2*xrf(i+1)+xrf(i));end; xrfa,diff(xrfa),f(xrfa)
o bien, también se puede ejecutar
con los siguientes comandos:
xrfa=xrf(1:n-1)-diff(xrf(1:n)).^2./diff(diff(xrf))
xrfad=abs(diff(xrfa)),f(xrfa)
Si se quiere aplicar este algoritmo sobre otro método, basta con asignar sus valores a la variable xrf. Por ejemplo, si se quiere ejecutar sobre bisección basta con ejecutar previamente el comando
xrf=xbi
mientras que si, por ejemplo, se quiere ejecutar sobre el método iterativo basta con ejecutar previamente
xrf=xit
Ir al inicio
Estudio
de la convergencia:
Se presupone
que se han ejecutado todos los métodos anteriores para realizar un
estudio de la convergencia de éstos.
semilogy((1:7)',xbid','r'),hold
on,semilogy((1:7)',xbid','sr')
semilogy((1:7)',xrfd','r'),grid,semilogy((1:7)',xrfd','or')
semilogy((1:7)',xrfmd','r'),grid,semilogy((1:7)',xrfmd','pr')
semilogy((1:7)',xitd','r'),semilogy((1:7)',xitd','vr')
semilogy((1:7)',xned','b'),semilogy((1:7)',xned','*b')
semilogy((1:7)',xsed(2:8)','b'),semilogy((1:7)',xsed(2:8)','+b')
semilogy((1:7)',xstd','b'),semilogy((1:7)',xstd','xb')
semilogy((1:5)',xrfad','r'),semilogy((1:5)',xrfad','dr')
Ir al inicio