Está en la página 1de 3

Problema 1

function puntofijo1()
syms x;
g=input('escriba la funcion g(x):','s');
cifras=input('cuantas cifras significativas:');
es=0.5*10^(2-cifras);
xi=input('ingrese x:');
ximas1=subs(g,xi);
xi=ximas1;
ximas1anterior=ximas1;
ximas1=subs(g,xi);
ea=abs((ximas1-ximas1anterior)/ximas1)*100;
n=0;
while ea>es
fprintf('%3d\t\t%7.6f\t\t%5.4f\t\t%5.4f\n',n+1,xi,ea,es);
xi=ximas1;
ximas1anterior=ximas1;
ximas1=subs(g,xi);
ea=abs((ximas1-ximas1anterior)/ximas1)*100;
n=n+1;
if (n>1000)
disp('paso de 1000 interaciones');
break
end
end
disp('[la raiz solucion es : num2str(ximas1)]')

Problema 2
function puntofijo2()
syms x;
g=input('escriba la funcion g(x):','s'); %hay 3 maneras de despejar x,se
tiene que comprobar cual usar mediante |g'(xi)|<1
cifras=input('cuantas cifras significativas:');
es=0.5*10^(2-cifras);
xi=input('ingrese x:');
ximas1=subs(g,xi);
xi=ximas1;
ximas1anterior=ximas1;
ximas1=subs(g,xi);
ea=abs((ximas1-ximas1anterior)/ximas1)*100;
n=0;
while ea>es
fprintf('%3d\t\t%7.6f\t\t%5.4f\t\t%5.4f\n',n+1,xi,ea,es);
xi=ximas1;
ximas1anterior=ximas1;
ximas1=subs(g,xi);
ea=abs((ximas1-ximas1anterior)/ximas1)*100;
n=n+1;
if (n>1000)
disp('paso de 1000 interaciones');
break

end
end
disp('[la raiz solucion es : num2str(ximas1)]')

Problema 3
function NewtonRapson1()
disp('Utilizando el metodo de Newton Rapson ');
disp('Sea la formula de newton rapson :Xi+1=Xi-((f(Xi)/f`(xi))');
syms d0
i=0;
fd0=(x^2-(2*x)-3);
disp('La funcion en la variable d0 es:');
disp(fd0);
n=input('Ingrese el numero de cifras significativas:');
es=0.5*10^(2-n);
ep=100;
disp('El Error pre-especificado es: ');
disp(es)
xl=input('Ingrese el limite inferior:');
xu=input('Ingrese el limite superior:');
while (subs(fd0,xl)*subs(fd0,xu)>0)
disp('Elija otro intervalo');
xl=input('Ingrese el limite inferior:');
xu=input('Ingrese el limite superior:');
end
xi=xl;
fprintf('%s\t\t%s\t\t\t%s\n','i','ximas1','ep')
while ep>es
i=i+1;
ximas1=xi-(subs(fd0,xi)/subs(diff(fd0,d0),xi));
ep=abs((ximas1-xi)/ximas1)*100;
fprintf('%4d\t\t%8.2f\t\t\t%8f%%\n',i,ximas1,ep);
d0=ximas1;
end

Problema 4
function NewtonRapson2()
disp('Utilizando el metodo de Newton Rapson ');
disp('Sea la formula de newton rapson modificado:Xi+1=Xi((f(Xi)/f`(xi))');
syms h
i=0;
B=input('Ingrese el aneho del vertedor: ');
Q=input('Ingrese el caudal de agua que pasa por el vertedor : ');
fh=(3.33*(B-0.2*h)*(h^(3/2))-Q);
disp('La funcion en la variable h es:');
disp(fh);
n=input('Ingrese el numero de cifras significativas:');
es=0.5*10^(2-n);
ep=100;

disp('El Error pre-especificado es: ');


disp(es)
xl=input('Ingrese el limite inferior:');
xu=input('Ingrese el limite superior:');
while (subs(fh,xl)*subs(fh,xu)>0)
disp('Elija otro intervalo');
xl=input('Ingrese el limite inferior:');
xu=input('Ingrese el limite superior:');
end
xi=xl;
fprintf('%s\t\t%s\t\t\t%s\n','i','ximas1','ep')
while ep>es
i=i+1;
ximas1=xi-(subs(fh,xi)/subs(diff(fh,h),xi));
ep=abs((ximas1-xi)/ximas1)*100;
fprintf('%4d\t\t%8.2f\t\t\t%8f%%\n',i,ximas1,ep);
h=ximas1;
end

También podría gustarte