Está en la página 1de 8

Raíces de ecuaciones

Métodos computacionales

Joan Sebastian Mora Moran

MSc. Ing. Javier Mauricio Villota Paz

Universidad Mariana
Facultad de Ingeniería
Programa Ingeniería de Procesos
San Juan de Pasto
2023
1 punto
1. 1. Suponga que ha sido contratado como Ingeniero de Procesos, para que diseñe un
tanque esférico, de almacenamiento de agua para un poblado pequeño de un país en
desarrollo. El volumen del líquido que puede contener se calcula con:

donde V = volumen [m3], h = profundidad del agua en el tanque [m] y R = radio del
tanque [m]. Si R = 3m, ¿a qué profundidad debe llenarse el tanque de modo que contenga
30 m3. Haga tres iteraciones del método de Newton-Raphson para determinar la
respuesta. Encuentre el error relativo aproximado después de cada iteración. Observe que
el valor inicial de R convergerá siempre.

Solución 1 punto
método de Newton-Raphson

 Conseguimos tres iteraciones con un valor de xi mayor a 8 en este caso el numero de


xi es 9
 La tolerancia en este caso la determine con 0.01

 Errores relativos de cada iteración


Iteración 1

Error: 4.0905

Iteración 2
Error: 0.3733

Iteración 3

Error: 0.0030043
 Profundidad a la que se llenara el tanque

 Programa para la solución del punto 1


clc
clear all
v=30;
r=3;
syms h
f=(pi*(h^2))*((3*r-h)/3)-v;
hi=input('ingrese el valor de xi: ');
iter=1;
%Paso 1
fd=diff(f);
%Paso 2
tol=input('ingrese valor de la tolerancia: ');
%Paso 3
fx=(subs(f,hi));
fxx=(subs(fd,hi));
x1=hi-(fx/fxx);
%Paso 4
et=(abs((x1-hi)/x1))*100;
xi1=double(x1);
error=double(et);
table(iter,xi1,error)
%Paso 5
while et>tol
iter=iter+1;
hi=x1;
%Paso 3
fx=(subs(f,hi));
fxx=(subs(fd,hi));
x1=hi-(fx/fxx);
%Paso 4
et=(abs((x1-hi)/x1))*100;
xi1=double(x1);
error=double(et);
table(iter,xi1,error)
end
disp('El numero de iteraciones fue de: ')
disp(iter)
disp('la profundidad debe ser de: ')
dhi=double(hi);
disp(dhi)
disp('metros')

2. Punto
f(x) = –0.9x2 + 1.7x + 2.5
Con el uso de x0 = 5. Haga el cálculo hasta que Ea sea menor que Es = 0.01%. Asimismo,
realice una comprobación del error de su respuesta final.
Solución 1 punto
Solución punto A

a) iteración de punto fijo.


Tuvo 13 iteraciones con una raíz de

 Programa para la solución del punto 2A


clc
clear all
%Paso 1
v=[-10:1:10];
f=-(0.9.*(v.^2))+(1.7.*v)+2.5;
%Paso 2
disp('los valores en y son:')
disp(f)
plot(v,f,'g')
%Paso 3
syms x;
xi=5;
g=-2.5/((-0.9*x)+1.7);
tol=0.01;
%Paso 4
x1=double(subs(g,xi));
%Paso 5
ea=(abs((x1-xi)/x1))*100;
iter=1;
raiz=double(x1);
error=double(ea);
table(iter,raiz,error)
%Paso 6
while ea>tol
iter=iter+1;
xi=x1;
x1=subs(g,xi);
%Paso 5
ea=abs((x1-xi)/x1)*100;
raiz=double(x1);
error=double(ea);
table(iter,raiz,error)
end
disp('El numero de iteraciones fue de: ')
disp(iter)
disp('la raiz es: ')
dhi=double(xi);
disp(dhi)

2 Punto
Solución punto B

B) ) Newton-Raphson
El numero de iteraciones es de 5 con una raíz de

 Programa para la solución del punto 2 B


clc
clear all
syms x
f=(-0.9*(x^2))+(1.7*x)+2.5;
xi=5;
iter=1;
%Paso 1
fd=diff(f);
%Paso 2
tol=0.01;
%Paso 3
fx=(subs(f,xi));
fxx=(subs(fd,xi));
x1=xi-(fx/fxx);
%Paso 4
et=(abs((x1-xi)/x1))*100;
raiz=double(x1);
error=double(et);
table(iter,raiz,error)
%Paso 5
while et>tol
iter=iter+1;
xi=x1;
%Paso 3
fx=(subs(f,xi));
fxx=(subs(fd,xi));
x1=xi-(fx/fxx);
%Paso 4
et=(abs((x1-xi)/x1))*100;
raiz=double(x1);
error=double(et);
table(iter,raiz,error)
end
disp('El numero de iteraciones es de: ')
disp(iter)
disp('la raiz es de: ')
dhi=double(xi);
disp(dhi)

3. Punto
Emplee el método de Newton-Raphson para determinar una raíz real de:
f(x) = –1 + 5.5x – 4x2 + 0.5x3
Con el uso de valores iniciales de
a) 4.52 y b) 4.54.
Solución punto A
el programa llega hasta la 11 iteración y es cuando se hace infinito el error sube en ves de
bajar, el programa no deja de correr hasta obtener un error

 Programa para la solución del punto 3 A

clc
clear all
syms x
f=-1+(5.5*x)-(4*x^2)+(0.5*x^3);
xi=4.52;
iter=1;
%Paso 1
fd=diff(f);
%Paso 2
tol=0.01;
%Paso 3
fx=(subs(f,xi));
fxx=(subs(fd,xi));
x1=xi-(fx/fxx);
%Paso 4
et=(abs((x1-xi)/x1))*100;
raiz=double(x1);
error=double(et);
iteracion=table(iter,raiz,error)
%Paso 5
while et>tol
iter=iter+1;
xi=x1;
%Paso 3
fx=(subs(f,xi));
fxx=(subs(fd,xi));
x1=xi-(fx/fxx);
%Paso 4
et=(abs((x1-xi)/x1))*100;
raiz=double(x1);
error=double(et);
iteracion=table(iter,raiz,error)
end
disp('El numero de iteraciones fue de: ')
disp(iter)
disp('la raiz es: ')
dhi=double(xi);
disp(dhi)

Solución punto B
como el punto anterior también llega a su 11 iteración haciendo que el programa siga
dando iteraciones sin resultado alguno

 Programa para la solución del punto 3 B


clc
clear all
syms x
f=-1+(5.5*x)-(4*x^2)+(0.5*x^3);
xi=4.54;
iter=1;
%Paso 1
fd=diff(f);
%Paso 2
tol=0.01;
%Paso 3
fx=(subs(f,xi));
fxx=(subs(fd,xi));
x1=xi-(fx/fxx);
%Paso 4
et=(abs((x1-xi)/x1))*100;
raiz=double(x1);
error=double(et);
iteracion=table(iter,raiz,error)
%Paso 5
while et>tol
iter=iter+1;
xi=x1;
%Paso 3
fx=(subs(f,xi));
fxx=(subs(fd,xi));
x1=xi-(fx/fxx);
%Paso 4
et=(abs((x1-xi)/x1))*100;
raiz=double(x1);
error=double(et);
iteracion=table(iter,raiz,error)
end
disp('El numero de iteraciones fue de: ')
disp(iter)
disp('la raiz es: ')
dhi=double(xi);
disp(dhi)

También podría gustarte