1. Sary Vanessa lozano cód. 2306510
1. METODO DE BISECCION
function y=f(x)
y=-12.4+10*(0.5*%pi-asin(x/1)-x*(1-x**2)**0.5);
endfunction
function ax=biseccion(ax1i,ax2i,tol)
i=1;
er(1)=100;
if f(ax1i)*f(ax2i) < 0
ax1(1)=ax1i;
ax2(1)=ax2i;
ax(1)=(ax1(1)+ax2(1))/2;
printf('It.tt ax1tt aX2tt axtt f(ax)t Error n');
printf('%2d t %11.7f t %11.7f t %11.7f t %11.7f
n',i,ax1(i),ax2(i),ax(i),f(ax(i)));
while abs(er(i)) >= tol
if f(ax1(i))*f(ax(i))< 0
ax1(i+1)=ax1(i);
ax2(i+1)=ax(i);
end
if f(ax1(i))*f(ax(i))> 0
ax1(i+1)=ax(i);
ax2(i+1)= ax2(i);
end
ax(i+1)=(ax1(i+1)+ax2(i+1))/2;
er(i+1)=abs((ax(i+1)-ax(i))/(ax(i+1)));
printf('%2d t %11.7f t %11.7f t %11.7f t %11.7f t %7.6f
n',i+1,ax1(i+1),ax2(i+1),ax(i+1),f(ax(i+1)),er(i+1));
i=i+1;
end
else
printf('No existe una raíz en ese intervalo');
end
endfunction
3. 2. METODO DE N-R
function y=f(x)
y=2*x**3+x-1;
endfunction
function y=df(x)
y=6*x**2+1;
endfunction
function h=newtonraphson(h0,tole);
i=1;
er(1)=100;
h(1)=h0;
while abs(er(i))>=tol;
h(i+1)=h(i)-f(h(i))/df(h(i));
er(i+1)=abs((h(i+1)-h(i))/h(i+1));
i=i+1;
end
printf(' i t h(i) Error aprox (i) n');
for j=1:i;
printf('%2d t %11.7f t %7.6f n',j-1,x(j),er(j));
end
endfunction
4. 3. PUNTO FIJO
function y=g(x)
y=300-80.425*x+201.0625*(1-2.718281828**(-(0.1)*x/0.25));
endfunction
function h=puntofijo(h0,tole)
i=1;
er(1)=100;
h(1)=h0;
while abs(er(i))>=tole,
h(i+1) = g(h(i));
er(i+1) = abs((h(i+1)-h(i))/h(i+1));
i=i+1;
end
printf(' i t h(i) Error aprox (i) n');
for j=1:i;
printf('%2d t %11.7f t %7.3f n',j-1,h(j),er(j));
end
endfunction
5. 4a.METODO DE NEWTON
function y=f(x)
y=4*cos(x)-2.718281828**(x);
endfunction
function y=df(x)
y=-4*sin(x)-2.718281828**(x);
endfunction
function h=newtonraphson(h0,tole);
i=1;
er(1)=100;
h(1)=h0;
while abs(er(i))>=tole;
h(i+1)=h(i)-f(h(i))/df(h(i));
er(i+1)=abs((h(i+1)-h(i))/h(i+1));
i=i+1;
end
printf(' i t h(i) Error aprox (i) n');
for j=1:i;
printf('%2d t %11.7f t %7.6f n',j-1,h(j),er(j));
end
endfunction
6. 4b.METODO DE LA SECANTE
function y=f(x)
y=4*cos(x)-2.718281828**(x);
endfunction
function h = secante(h0,h1,tole)
j=2;
i=1;
h(1)=h0;
h(2)=h1;
er(i)=100;
while abs(er(i))>=tole
h(j+1)=(h(j-1)*f(h(j))-h(j)*f(h(j-1)))/(f(h(j))-f(h(j-1)));
er(i+1)=abs((h(j+1)-h(j))/h(j+1));
j=j+1;
i=i+1;
end
printf(' i tt h(i) t Error aprox (i) n');
printf('%2d t %11.7f t n',0,h(1));
for k=2:j;
printf('%2d t %11.7f t %7.3f n',k-1,h(k),er(k-1));
end
endfunction
5a.METODO DE LA SECANTE
function y=f(x)
y=x**2-6;
endfunction
7. function h = secante(h0,h1,tole)
j=2;
i=1;
h(1)=h0;
h(2)=h1;
er(i)=100;
while abs(er(i))>=tole
h(j+1)=(h(j-1)*f(h(j))-h(j)*f(h(j-1)))/(f(h(j))-f(h(j-1)));
er(i+1)=abs((h(j+1)-h(j))/h(j+1));
j=j+1;
i=i+1;
end
printf(' i tt h(i) t Error aprox (i) n');
printf('%2d t %11.7f t n',0,h(1));
for k=2:j;
printf('%2d t %11.7f t %7.3f n',k-1,h(k),er(k-1));
end
endfunction
5b.METODO DE LA FALSA POSICION
function y=f(x)
8. y=(x^2) -6;
endfunction
function ax=reglafalsa(ax1i,ax2i,tole)
i=1;
er(1)=100;
if f(ax1i)*f(ax2i) < 0
ax1(1)=ax1i;
ax2(1)=ax2i;
ax(1)=ax1(1)-f(ax1(1))*(ax2(1)-ax1(1))/(f(ax2(1))-f(ax1(1)));
printf('It. aX1 aX2 aX
f(aX) Error aprox %n');
printf('%2d t %11.7f t %11.7f t %11.7ft %11.7f
n',i,ax1(i),ax2(i),ax(i),f(ax(i)));
while abs(er(i))>=tole,
if f(ax1(i))*f(ax(i))< 0
ax1(i+1)=ax1(i);
ax2(i+1)=ax(i);
end
if f(ax1(i))*f(ax(i))> 0
ax1(1)=ax(i);
ax2(1)=ax2(i);
end
ax(i+1)=ax1(i+1)-f(ax1(i+1))*(ax2(i+1)-ax1(i+1))/(f(ax2(i+1))-
f(ax1(i+1)));
er(i+1)=abs((ax(i+1)-ax(i))/(ax(i+1)));
printf('%2d t %11.7f t %11.7f t %11.7f t %11.7ft %7.3f
n', i+1,ax1(i+1),ax2(i+1),ax(i+1),f(ax(i+1)),er(i+1));
i=i+1;
end
else
printf('No existe una raíz en ese intervalo');
end
endfunction
9. 5c. La raíz de 6 = 2.449489742
Como se puede notar en los dos métodos anteriores se adquiere un alto grado de
a proximidad a la raíz de 6.pero haciendo una comparación entre ambos
podemos decir que el mas se acerca es el método de la secante.