You are on page 1of 3

Biseccion

clear
clc
f='acos(x)-2+1/(x+1)';
a=0;
b=1;
n=20;
tol=1e-3;
%%
f=inline(f);
for i=1:n
c=(a+b)/2;
Result(i,:)=[i a f(a) b f(b) c f(c) abs(f(c))];
if f(c)*f(a)<0
b=c;
else a=c;
end
if tol>abs(f(c))
break
end
end
Result

...............................................

Falsa Posicion

clear
clc
%syms x;
%f=x^3-x-1;
f='x^3-x-1';
a=1;
b=2;
n=20;
tol=1e-4;
%%
f=inline(f);
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
Result(i,:)=[i a f(a) b f(b) c f(c) abs(f(c))];
if f(c)*f(b)<0
a=c;
else b=c;
end
if tol>abs(f(c))
break
end
end
Result

..................................................................

Newton-Rahpson

syms x;
f=x^3-3;
p0=1;
n=50;
tol=0.1;
%%
df=inline(diff(f));
f=inline(f);
for i=1:n
p=p0-f(p0)/df(p0);
err=abs(p-p0);
relerr=err/abs(p);
resultN(i,:)=[i p err relerr abs(f(p))];
if tol>err|tol>relerr|tol>abs(f(p))
break
end
p0=p;

end
resultN

.................................................................

Punto fijo

p0=1.5;
f='x^3-3';
g='sqrt(3/x)';
%g='3/(x^2)';
tol=0.01;
n=50;
%%
g=inline(g);
f=inline(f);
for i=1:n
p=g(p0);
err=abs(p-p0);
relerr=err/abs(p);
resultP(i,:)=[i p err relerr abs(f(p))];
if err<tol||relerr<tol|| tol>abs(f(p))
break;
else p0=p;
end
end
resultP

...........................................................

Secante

x0=1;
x1=1.2;
tol=1e-3;
n=20;
f='x^3-x-1';
%%
f=inline(f);
for i=1:n
x2=(x1*f(x0)-x0*f(x1))/(f(x0)-f(x1));
err=abs(x1-x2);
relerr=err/abs(x2);
resultS(i,:)=[i,x2,err,relerr,abs(f(x2))];
if tol>err||tol>relerr||tol>abs(f(x2))
break;
end
x0=x1;
x1=x2;
end
resultS

You might also like