Beruflich Dokumente
Kultur Dokumente
FACULTAD DE INGENIERÍA
MÉTODOS NUMÉRICOS
NOMBRE:
Fabricio Edison Maxi Morocho
DOCENTE:
Ing. Gerardo Arbito
TEMA:
“Implementación de Métodos en un ejercicio y evaluar que método es el mejor
para el mismo”
CURSO:
Grupo 1
FECHA:
02 – Mayo -2019
El presente trabajo consta en la aplicación de los 6 métodos (Método Bisección, Método de la
Cuerda, Método de la tangente o Newton Rapson, Método de la secante, Método del Punto
Fijo y EL Método de Müller) aprendidos en clases, y ver que método es el mejor que se
implementa para la resolución del ejercicio.
Ejercicio: Calcular la longitud máxima de una escalera que pase por un pasillo (ilustración 1).
Lmax=(L2/sen (B))+(L1/sen(180-ɣ- β)) ecuación en función de los ángulos y ancho de los pasillos (L1, L2).
METODO DE BISECCION
La función del método de bisección es encontrar la raíz de una ecuación y consiste en elegir un
intervalo y luego ir dividiendo ese intervalo en mitades hasta dar con la raíz.
Formulas: x = (a+b)/2; f(a)*(b) < 0; Ea = l (valorexacto-valormedido)/valorexacto l*100%
Datos:
Función: f(x)
Intervalo: [a, b]
Tolerancia: tol
# De iteraciones: N
Seudocódigo
1) Fijar el intervalo [a, b] y comprobar que exista raíz (esto se comprueba verificando
cambio de signo, es decir, f(a)*(b)<0 si verdadero entonces existe raíz, si falso no existe
raíz en el intervalo.)
2) Encontrar: x= (a+b)/2.
3) Evaluar la función en x y comprobarlo con la tolerancia: l f(X) l<=tol.
4) Si l f(x) l<=tol entonces x es raíz.
5) Si no se cumple la condición 4), se procede a fijar un nuevo intervalo.
Si f(a)*(x)>0 entonces a=x de lo contrario b=x.
6) Calcule e y er, si e>tol entonces regresar al paso 2, de lo contrario x es la raíz.
er = (l (xi – xi-1)/xi l)*100% e = l xi – xi-1 l
7) Contador de iteraciones n=n+1.
Código
VARIABLES DE ENTRADA
clear %Limpia las variables
clc %borra la pantalla
syms x
f=input('Ingrese la funcion: ');
a=input('Ingrese el valor de a: ');
b=input('Ingrese el valor de b: ');
tol=input('Ingrese la toleranacia: ');
f=inline(f); %permite evaluar la funcion en la variable x
Grafica la función
ezplot(f)
grid on
Formulas: x = (b*f(a)-a*f(b))/(f(a)-f(b)).
Datos:
Función: f(x)
Intervalo: [a, b]
Tolerancia: tol
# De iteraciones: N
Seudocódigo
1) Fijar el intervalo [a, b] y comprobar que exista cambio de signo, f(a)*(b)<0 si verdadero
entonces existe raíz, si falso no existe raíz.
2) Una vez comprobado el cambio de signo, encontrar: x= (b*f(a)-a*f(b))/(f(a)-f(b)).
3) Evaluar la raíz en el punto x y comprobarlo:
Si l f(X) l<=tol entonces x es un cero.
4) Si no cumple lo anterior fijar el nuevo intervalo:
Si f(a)*f(x)l>0 entonces a=x, de lo contrario b=x.
5) Calcule e y er, si e>tol, entonces regresar al paso 2, de lo contrario x es la raíz.
e = l xi – xi-1 l er = (l (xi – xi-1)/xil )*100%
6) Contador de iteraciones n=n+1.
Código
VARIABLES DE ENTRADA
clear
clc
syms x
fprintf('METODO DE LA CUERDA FALSA\n')
f=input('Ingrese la funcion: ','s');
a=input('Ingrese el valor de a: ');
b=input('Ingrese el valor de b: ');
tol=input('Ingrese la tolerancia: ');
f=inline(f);
GRAFICA DE LA FUNCION
ezplot(f)
grid on
end
Variables de entrada
clear
clc
syms x
fprintf('METODO DE NEWTON RAPHSON\n')
f=input('Ingrese la funcion: ');
xi=input('Ingrese el valor inicial: ');
tol=input('Ingrese la tolerancia: ');
df=diff(f); % PERMITE OBTENER LA DERIVADA DE LA FUNCION
f=inline(f);
df=inline(df);
Grafica de la función
ezplot(f)
grid on
Es un método muy eficiente sin embargo hay situaciones en que se comporta de forma
ineficiente, por ejemplo en el caso de raíces múltiples. Otro aspecto a considerar es cuando
existen raíces simples debido a que la función puede converger lentamente.
METODO DE LA SECANTE
En análisis numérico el método de la secante es un método para encontrar los ceros de una
función de forma iterativa. El método de la secante se puede considerar como una
aproximación en diferencias finitas del método de Newton-Raphson.
Variables de entrada
clear
clc
syms x
fprintf('MÉTODO DE LA SECANTE\n')
f=input('Ingrese la funcion: '); %funcion
x1=input('Ingrese el punto xi-1: '); %Punto 1
x2=input('Ingrese el punto xi: '); %Punto 2
tol=input('Ingrese la tolerancia: '); %tolerancia
f=inline(f);
Grafica de la función
ezplot(f)
grid on
Seudocódigo
1) Dado fn(x) y r0 y s0.
2) Utilizando el método de Newton Raphson se calcula f2(x) = (x2 – rx – s) y fn-2(x), tal que, el
residuo de fn(x)/f2(x), sea igual a cero.
3) Se determinan las raíces f2(x), utilizando la formula general.
4) Se calcula fn-2(x) = fn(x)/f2(x)
5) Se hace fn(x) = fn-2(x).
6) Si el polinomio es mayor que tres se regresa al paso 2.
7) Si no se termina
Código
Function P=metodoMuller(fun,x,N)
l=0
f=0;
c=fun(x(3))
b=(((((x(1)-x(3))^2)*(fun(x(2))-fun(x(3))))-((x(2)-x(3))^2)*(fun(x(1))-fun(x(3)))))/((x(1)-x(3))*(x(2)-x(3))*(x(1)-x(2)))
a=(((((x(2)-x(3)))*(fun(x(1))-fun(x(3))))-((x(1)-x(3)))*(fun(x(2))-fun(x(3)))))/((x(1)-x(3))*(x(2)-x(3))*(x(1)-x(2)))
x4=(x(3)-((2*c)/((b)+((b/abs(b))*sqrt((b^2)-(4*a*c))))))
%Scienceprocedures.blogspot.mx
x0=min(x)-1:0.09:max(x)+1
hold on
grid on
plot (x(1),fun(x(1)),'Ok')
hold on
plot (x(2),fun(x(2)),'Ok')
hold on
plot (x(3),fun(x(3)),'Ok')
hold on
plot(x0,fun(x0),'b')
hold on
for i=1:1:N
if i==N
plot (x0,R(x0),'+r')
hold on
end
c=fun(x(3))
b=(((((x(1)-x(3))^2)*(fun(x(2))-fun(x(3))))-((x(2)-x(3))^2)*(fun(x(1))-fun(x(3)))))/((x(1)-x(3))*(x(2)-x(3))*(x(1)-x(2)))
a=(((((x(2)-x(3)))*(fun(x(1))-fun(x(3))))-((x(1)-x(3)))*(fun(x(2))-fun(x(3)))))/((x(1)-x(3))*(x(2)-x(3))*(x(1)-x(2)))
x4=(x(3)-((2*c)/((b)+((b/abs(b))*sqrt((b^2)-(4*a*c))))))
x(1)=x(2)
x(2)=x(3)
x(3)=x4;
x0=min(x)-1:0.09:max(x)+1
R=@(x0)((a*((x0-x(3)).^2))+(b*(x0-x(3)))+c)
C=['k','b','y','g','r','m','k','b','y','g','r','m','k','b','y','g','r','m','k','b','y','g','r','m','k','b','y','g','r','m','k','b','y','g','r','m','k'
,'b','y','g','r','m','k','b','y','g','r','m','k','b','y','g','r','m','k','b','y','g','r','m',]
plot (x0,R(x0),C(i))
hold on
end
P=x(3)
plot (P,R(P),'*r')
end
Resultados y conclusiones
Al probar nuestra función en cada método, el método que brinda mejor resolución es el
método de Newton-Raphson, con un número de iteraciones de 7, hasta llegar a una solución.
Los otros métodos se aproximan con las iteraciones pero no son satisfactorias para nuestro
ejercicio.
El método de newton es muy eficiente ya que la función converge adecuadamente a
comparación con el método de Punto fijo que converge lentamente.
Referencias
Prawda Witenberg, Juan, Métodos y Modelos de Investigación de Operaciones, Edit. Limusa, 1976
Nakamura, Métodos numéricos Carrasco Venegas, Luis, Editorial América, Lima Perú, 1era. Edic. 2002
Grcar, Joseph F. John von Neumann's Analysis of Gaussian Elimination and the Origins of
Modern Numerical Analysis. SIAM Review, 53(4), pp. 607–682, 2011.
https://scholar.google.com/