Está en la página 1de 12

Alumno: Diaz Rivera José Mariano Código:18070094

PROBLEMA 1
METODO DE NEWTON RAPHSON:
function y=funcion(x)
y=(%e**-x)-x;
endfunction
clc
c=input('Ingrese el limite inferior de la grafica de la funcion:');
d=input('Ingrese el limite superior de la grafica de la funcion:');
x=c:1:d;
plot2d(x,funcion(x));
xgrid(5);
i=c;
fc=feval(c,funcion);
fd=feval(d,funcion);
fi=fc;
while fi*fc*(d-i)>=0
i=i+0.0001;
fi=feval(i,funcion);
if (fi*fc<0) then
disp(c,i,'Se ha encontrado una raiz entre los intervalos:');
fc=fi;
c=i;
end
end
i=1;
a=input('Ingrese el limite inferior para desarrollar el metodo de la biseccion:');
b=input('Ingrese el limite superior para desarrollar el metodo de la biseccion:');
errordeseado=input('Ingrese el valor del error maximo deseado: ');
Error=100;
n=a;
vanterior=0;
vactual=0;
while Error>=errordeseado
vanterior=n;
n=n-(-(feval(n,funcion))/((%e**-n)+1));
vactual=n;
i=i+1;
Error=abs((vactual-vanterior)*100/vactual);
printf("\n El error obtenido es =%9.10f",Error);
printf("\n El numero de iteraciones es =%9.10f",i);
printf("\n La aproximacion a la raiz es =%9.10f",vactual);
end
METODO DE LA BISECCIÓN:
function y=funcion(x)
y=(%e**-x)-x;
endfunction
c=input('Ingrese el limite inferior de la grafica de la funcion:');
d=input('Ingrese el limite superior de la grafica de la funcion:');
x=c:1:d;
plot2d(x,funcion(x));
xgrid(5);
i=c;
fc=feval(c,funcion);
fd=feval(d,funcion);
fi=fc;
while fi*fc*(d-i)>=0
i=i+0.0001;
fi=feval(i,funcion);
if (fi*fc<0) then
disp(c,i,'Se ha encontrado una raiz entre los intervalos:');
fc=fi;
c=i;
end
end
i=1;
a=input('Ingrese el limite inferior para desarrollar el metodo de la biseccion:');
b=input('Ingrese el limite superior para desarrollar el metodo de la biseccion:');
errordeseado=input('Ingrese el valor del error maximo deseado:');
fa=feval(a,funcion);
fb=feval(b,funcion);
xr=(a+b)/2;
Error=100;
while Error>=errordeseado
fxr=feval(xr,funcion);
h=fxr*fa;
k=fxr*fb;
if (h<0) then
b=xr;
fb=fxr;
vanterior=xr;
xr=(a+b)/2;
vactual=xr;
end
if (k<0) then
a=xr;
fa=fxr;
vanterior=xr;
xr=(a+b)/2;
vactual=xr;
end
i=i+1;
Error=abs((vactual-vanterior)*100/vactual);
printf("\n El error obtenido es =%9.10f",Error);
printf("\n El numero de iteraciones es =%9.10f",i);
printf("\n La aproximacion a la raiz es =%9.10f",vactual);
end
PROBLEMA 2
METODO DE NEWTON RAPHSON:
function y=funcion(x)
y=(x**3)-x-1
endfunction
c=input('Ingrese el limite inferior de la grafica de la funcion:');
d=input('Ingrese el limite superior de la grafica de la funcion:');
x=c:1:d;
plot2d(x,funcion(x));
xgrid(5);
i=c;
fc=feval(c,funcion);
fd=feval(d,funcion);
fi=fc;
while fi*fc*(d-i)>=0
i=i+0.0001;
fi=feval(i,funcion);
if (fi*fc<0) then
disp(c,i,'Se ha encontrado una raiz entre los intervalos:');
fc=fi;
c=i;
end
end
i=1;
a=input('Ingrese el limite inferior para desarrollar el metodo de la biseccion:');
b=input('Ingrese el limite superior para desarrollar el metodo de la biseccion:');
errordeseado=input('Ingrese el valor del error maximo deseado:');
Error=100;
n=a;
vanterior=0;
vactual=0;
while Error>=errordeseado
vanterior=n;
n=n-((feval(n,funcion))/((3*n**2)-1));
vactual=n;
i=i+1;
Error=abs((vactual-vanterior)*100/vactual);
printf("\n El error obtenido es =%9.10f",Error);
printf("\n El numero de iteraciones es =%9.10f",i);
printf("\n La aproximacion a la raiz es =%9.10f",vactual);
end
METODO DE LA BISECCIÓN:
function y=funcion(x)
y=(x**3)-x-1;
endfunction
c=input('Ingrese el limite inferior de la grafica de la funcion:');
d=input('Ingrese el limite superior de la grafica de la funcion:');
x=c:1:d;
plot2d(x,funcion(x));
xgrid(5);
i=c;
fc=feval(c,funcion);
fd=feval(d,funcion);
fi=fc;
while fi*fc*(d-i)>=0
i=i+0.0001;
fi=feval(i,funcion);
if (fi*fc<0) then
disp(i,c,'Se ha encontrado una raiz entre los intervalos:');
fc=fi;
c=i;
end
end
i=1;
a=input('Ingrese el limite inferior para desarrollar el metodo de la biseccion:');
b=input('Ingrese el limite superior para desarrollar el metodo de la biseccion:');
errordeseado=input('Ingrese el valor del error maximo deseado:');
fa=feval(a,funcion);
fb=feval(b,funcion);
xr=(a+b)/2;
Error=100;
while Error>=errordeseado
fxr=feval(xr,funcion);
h=fxr*fa;
k=fxr*fb;
if (h<0) then
b=xr;
fb=fxr;
vanterior=xr;
xr=(a+b)/2;
vactual=xr;
end
if (k<0) then
a=xr;
fa=fxr;
vanterior=xr;
xr=(a+b)/2;
vactual=xr;
end
i=i+1;
Error=abs((vactual-vanterior)*100/vactual);
printf("\n El error obtenido es =%9.10f",Error);
printf("\n El numero de iteraciones es =%9.10f",i);
printf("\n La aproximacion a la raiz es =%9.10f",vactual);
end
PROBLEMA 3
para hallar el coeficiente de fricción del aire en kg/s
METODO DE LA NEWTON-RAPHSON:
clc
m=input('Ingrese el valor de la masa en kilogramos: ');
t=input('Ingrese el valor del tiempo en segundos:');
v=input('Ingrese el valor de la velocidad en el tiempo dicho, que sea mayor a cero:');
function y=funcion(x)
y=((9.8*m*(1-(%e**(-x*t/m)))/x)-v)
endfunction
c=input('Ingrese el limite inferior de la grafica de la funcion');
d=input('Ingrese el limite superior de la grafica de la funcion');
x=[c:1:d]';
plot2d(x,funcion(x));
xgrid(5);
fc=feval(c,funcion);
fd=feval(d,funcion);
fi=fc;
i=c;
while fi*fc*(d-i)>=0
i=i+0.0001;
fi=feval(i,funcion);
if (fi*fc<0) then
disp(c,i,'Se ha encontrado una raiz entre los intervalos:');
fc=fi;
c=i;
end
end
i=1;
a=input('Ingrese el limite inferior para desarrollar el metodo de la biseccion:');
b=input('Ingrese el limite superior para desarrollar el metodo de la biseccion:');
errordeseado=input('Ingrese el valor del error maximo deseado:');
Error=100;
n=a;
vanterior=0;
vactual=0;
w=0;
while Error>=errordeseado
vanterior=n;
w=m*9.8*((((%e**-t*n/m)/n)-((1-(%e**(-t*n/m)))/n**2)));
n=n-((feval(n,funcion))/w);
vactual=n;
i=i+1;
Error=abs((vactual-vanterior)*100/vactual);
printf("\n El error obtenido es =%9.8f",Error);
printf("\n El numero de iteraciones es =%9.8f",i);
printf("\n La aproximacion a la raiz es =%9.8f",vactual);
end
;
METODO DE LA BISECCIÓN:
clc
m=input('Ingrese el valor de la masa en kilogramos:');
t=input('Ingrese el valor del tiempo en segundos:');
v=input('Ingrese el valor de la velocidad en ele tiempo antes mencionado en metros por segundo, que sea mayor a
cero:');
function y=funcion(x)
y=((9.8*m*(1-(%e**(-x*t/m)))/x)-v)
endfunction
c=input('Ingrese el limite inferior de la grafica de la funcion:');
d=input('Ingrese el limite superior de la grafica de la funcion:');
x=[c:1:d]';
plot2d(x,funcion(x));
xgrid(5);
fc=feval(c,funcion);
fd=feval(d,funcion);
fi=fc;
i=c;
while fi*fc*(d-i)>=0
i=i+0.0001;
fi=feval(i,funcion);
if (fi*fc<0) then
disp(c,i,'Se ha encontrado una raiz entre los intervalos:');
fc=fi;
c=i;
end
end
i=1;
a=input('Ingrese el limite inferior para desarrollar el metodo de la biseccion');
b=input('Ingrese el limite superior para desarrollar el metodo de la biseccion');
errordeseado=input('Ingrese el valor del error maximo deseado');
vanterior=0;
vactual=0;
fa=feval(a,funcion);
fb=feval(b,funcion);
xr=(a+b)/2;
Error=100;
while Error>=errordeseado
fxr=feval(xr,funcion);
h=fxr*fa;
k=fxr*fb;
if (h<0) then

b=xr;
fb=fxr;
vanterior=xr;
xr=(a+b)/2;
vactual=xr;
end
if (k<0) then
a=xr;
fa=fxr;
vanterior=xr;
xr=(a+b)/2;
vactual=xr;
end
i=i+1;
Error=abs((vactual-vanterior)*100/vactual);
printf("\n El error obtenido es =%9.10f",Error);
printf("\n El numero de iteraciones es =%9.10f",i);
printf("\n La aproximacion a la raiz es =%9.10f",vactual);
end

También podría gustarte