Você está na página 1de 11

Artículo Científico / Scientific Paper

MÉTODOS NUMÉRICOS EN LA SOLUCIÓN DE SISTEMAS DE


ECUACIONES NO LINEALES A TRAVÉS DE MATLAB
Freddy Sañay1, Luis Tello2, Jessica Tene3, Luis Sigcho4
fsanay@est.ups.edu.ec
jtelloo@est.ups.edu.ec
jtenez@est.ups.edu.ec
lsigchoc@est.ups.edu.ec

Resumen Abstract
El presente documento contiene información acerca The present document contains information about the
de distintos tipos de métodos numéricos, los cuales different types of numerical methods, the more
serán detallados más adelante, para el desarrollo de detailed later, for the development of methods used
dichos métodos se recurrió al uso de un software in the use of mathematical software such as
matemático como lo es MATLAB, el trabajo cuenta MATLAB, the necessary theory work, whose
la teoría necesaria, cuyos conceptos se debe tener concepts must be clear to be able to perform the
claros para poder efectuarse los métodos de manera methods correctly in practice. In the detailed
correcta en la práctica. En el desarrollo detallamos development of the steps to be taken to obtain data,
los pasos que deben llevarse a cabo para la the numerical methods applied were the bisection,
obtención de datos, los métodos numéricos position, Newton-Raphson, modified Newton-
aplicados fueron bisección, falso posición, Newton- Raphson, Secant and Modified Secant which are
Raphson, Newton-Raphson modificado, Secante y detailed later. Finally, we determine the results and
Secante modificado los cuales están detallados más the relevant conclusions of the same.
adelante. Finalmente determinamos los resultados y
las conclusiones pertinentes de la misma.

Palabras Clave: bisección, error aproximado, falsa Keywords: bisection, approximate error, false
posición, Newton-Raphson, métodos Numéricos, position, Newton-Raphson, numerical methods,
Secante secant.

1
Estudiante Ingeniera mecánica automotriz de sexto ciclo, de la materia de métodos numéricos, de la universidad
Politécnica Salesiana- sede Cuenca
2
Estudiante Ingeniera mecánica automotriz de sexto ciclo, de la materia de métodos numéricos, de la universidad
Politécnica Salesiana- sede Cuenca
3
Estudiante Ingeniera mecánica automotriz de sexto ciclo, de la materia de métodos numéricos, de la universidad
Politécnica Salesiana- sede Cuenca
4
Estudiante Ingeniera mecánica automotriz de sexto ciclo, de la materia de métodos numéricos, de la universidad
Politécnica Salesiana- sede Cuenca

1
Artículo Científico / Scientific Paper

1. Introducción  f(Xi) f(Xs)<0


Si se cumple lo anterior, por lo menos
Al momento de aplicar las Matemáticas a existe una raíz dentro de este intervalo.
situaciones del mundo real nos encontramos a
menudo con problemas que no pueden ser El procedimiento es el siguiente:
resueltos analíticamente o de manera exacta y
 Se elige un intervalo inicial para
cuya solución debe ser abordada con ayuda de
algún procedimiento numérico. A continuación, función f(x)
consideramos algunos problemas típicos, ya  Luego se busca localizar la raíz con
formulados matemáticamente, para los cuales mayor exactitud dentro del intervalo
estudiaremos técnicas numéricas de solución. dividiendo a la mitad y observando si se
conservan las condiciones iniciales.
2. Objetivos  Se compara el Xmed con cada uno de los
2.1 Objetivo general límites del intervalo y se observa que
Implementar métodos numéricos en la producto cambia de signo y se asigna un
solución de sistemas de ecuaciones no lineales a nuevo intervalo.
través del uso de lenguajes de programación como
Matlab.  Se vuelve a repetir el proceso, y se va
2.2 Objetivos específicos poniendo pequeño el intervalo hasta llegar
1. Analizar el comportamiento de una función a una aproximación de la raíz o la raíz
para determinar dónde está posee una posible exacta.
raíz de acuerdo al método numérico a
utilizar. Al aplicarse el método se puede
2. Desarrollar un algoritmo para cada método apreciar que la aproximación a la raíz mejora
numérico en un lenguaje de programación, cada vez que el intervalo se hace más
que permita obtener una aproximación pequeño.
al valor verdadero para la solución de la
función.
3. Verificar que el método numérico funcione
adecuadamente.
4. Obtener las gráficas de las Funciones y su
respectiva solución.

3. Marco teórico
3.1 Método de bisección
El objetivo de este método es buscar la
raíz de una función, tomando un intervalo
inicial y reduciendo gradualmente a la mitad
este, hasta hallar una aproximación o la raíz
que satisface la función.
Este método plantea que si se cumple que: Figura 1. Grafico método bisección

 f(x) es real y continua en el intervalo que 3.2 Método de falsa posición


va desde un Xi hasta un Xs El objetivo del método es encontrar la
intersección de una recta conformada por los
2
Apellido Autor et al / Titulo del Articulo

puntos a y b con el eje x, y obtener nuevos El objetivo de este método es buscar


intervalos más pequeños, lo la cual permite una raíz de una función a partir de un valor
una aproximación a una raíz. inicial, una tolerancia y un número de
Este método conserva todas iteraciones, para este caso no es necesario
las características y condiciones que posee tener un intervalo.
el método de bisección, excepto por la forma El método de newton por su rapidez y
de calcular el punto intermedio del intervalo efectividad, es uno de los métodos más
utilizados; este método es una variable del
Para aplicar el método se debe tener en cuenta: método de punto fijo, por lo cual se debe
calcular una función g , esta función g se
 Si se tiene dos puntos (a, f(a)) y(b, f(b)) y
puede calcular de la forma:
se traza la recta que une a estos dos
puntos, se puede observar que un punto g(X) = X – (f(X)/f ‘ (x))
está por debajo del eje x y otro por encima
de este, y un punto intermedio (Xm,0), con Una vez definida la función g, se debe realizar
este punto intermedio se puede comparar los siguientes pasos, como en el método de
los límites y obtener un nuevo intervalo punto fijo.
 Se debe elegir una aproximación inicial
Xo
 Se calcula X1=g(Xo)
 Se calcula X2=g(X1)
 .............. Xn=g(Xn-1)
 Y se repite el paso anterior hasta llegar a
una aproximación de la raiz.[1]

Figura 2. Grafico método falsa posición

 Si f(A) y f(B)<0, entonces la raíz se


encuentra al lado izquierdo del intervalo.
 Si f(A) y f(B)>0, entonces la raíz se
encuentra al lado derecho del intervalo.
 Para hallar la intersección de la recta con
el eje X usamos la siguiente fórmula:
Xm= a - ((f(a)*(b - a))/(f(b) - f(a)))
El método de Regla Falsa converge
más rápidamente que el de bisección porque al Figura 1. Grafico método Newton-Rapshon
permanecer uno de sus valores iniciales fijo el Fuente: https://sites.google.com/site/pn20111/home/4-
número de cálculos se reduce mientras que el metodos-abiertos/4-2-metodo-de-newton
otro valor inicial converge hacia la raíz.
3.4 Método de la Secante
3.3 Método de Newton-Rapshon
El objetivo del método es buscar una
raíz de una función a partir de dos valores
3
iniciales, una tolerancia y un número de
iteraciones, para este caso no es necesario
tener un intervalo.

El método de la secante se define como una


variante del método de Newton. A partir de la
ecuación iterativa que define el método de
Newton, se sustituye la derivada por una
Donde d es un pequeño cambio fraccionario.
expresión que la aproxima:
Esta aproximación se sustituye en la ecuación
X2 = X1 – ((f(X1)*(X1-Xo))/(f(X1)-f(Xo)) de Newthon-Raphson obteniendo la siguiente
ecuación iterativa:

 Se debe elegir dos aproximaciones


iniciales X1 y X0
 Se calcula X2= Expresión ---------- La elección de un valor adecuado para d no es
Xn = Expresión (n-1) automática. Si d es muy pequeño, el método
 Y se repite el paso anterior hasta puede no tener éxito por el error de redondeo,
llegar a una aproximación. [2] causado por la cancelación por resta en el
denominador de la ecuación. Si ésta es muy
grande, la técnica puede llegar a ser ineficiente
y hasta divergente. No obstante, si se
selecciona correctamente, proporciona una
adecuada alternativa en los casos donde la
evaluación de la derivada se dificulta y el
desarrollo de dos valores iniciales es
inconveniente [3]

4. Desarrollo
4.1 Método de bisección

Figura 2. Grafico método Secante Código Matlab método de bisección


Fuente: https://sites.google.com/site/pn20111/home/4-
metodos-abiertos/4-3-metodo-de-la-secante % METODO DE BISECCION
disp('METODO DE BISECCION')
clear all
3.5 Método de la Secante Modificado syms x
f=input('ingrese la función f=')
En lugar de usar dos valores arbitrarios para ezplot(f)
aproximar la derivada, un método alternativo grid on
xl=input('ingrese el extremo izquierdo xl=')
considera un cambio fraccionario de la xu=input('ingrese el extremo derecho xu=')
variable independiente para estimar ƒ′(x), es=input('ingrese el error deseado es=')
4
Apellido Autor et al / Titulo del Articulo

x=xl;
fxl=eval(f);
x=xu;
fxu=eval(f);
if fxl*fxu>0
disp('no hay cambios de signo')
break
end
ea=100;
i=0; Figura 3. Captura de pantalla matlab
fprintf('iteraciones raiz error\n')
while ea>es 2. Seguidamente nos aparecera una ventana con
i=i+1; la funcion graficada.
x=xl;
fxl=eval(f);
x=xu;
fxu=eval(f);
xr=(xl+xu)/2;
x=xr;
fxr=eval(f);
if fxl*fxr>0
xl=xr;
elseif fxl*fxr<0
xu=xr;
else
disp('la raiz es x=')
xr
break
end
if i>1
ea=abs((xr-xrant)/xr*100); Figura 4. Grafico matlab
end
xrant=xr; 3. Despues nos pedira el ingreso de los valores
fprintf('%6.0f %6.5f %6.5f\n',i,xr,ea) del extremo izquierdo (xl), extremo derecho
end (xu) y del error deseado (es).
if ea<=es
disp('la raiz es x=')
xr
disp('error es ea=')
ea
disp('iteraciones i=')
i
end

Funcionamiento del programa (pasos):


1. Al ejecutar el programa, este nos pide
introducir una función.

Figura 5. Captura de pantalla matlab


5
4. Finalmente el programa nos dará los while ea>es
i=i+1;
resultados
x=xl;
fxl=eval(f);
x=xu;
fxu=eval(f);
xr= xl-(fxl*(xu-xl)/(fxu-fxl));
x=xr;
fxr=eval(f);
if fxl*fxr>0
xl=xr;
elseif fxl*fxr<0
xu=xr;
else
disp('la raiz es x=')
xr
break
end
if i>1
ea=abs((xr-xrant)/xr*100);
end
xrant=xr;
fprintf('%6.0f %6.5f %6.5f\n',i,xr,ea)
end
if ea<=es
disp('la raiz es x=')
xr
disp('error es ea=')
ea
disp('iteraciones i=')
Figura 6. Captura de pantalla matlab i
end
4.2 Método de falsa posición
Funcionamiento del programa (pasos):
Código matlab método falsa posición:
1. Al ejecutar el programa, este nos pide
% METODO DE FALSA POSICION introducir una función.
disp('METODO DE FALSA POSICION')
clear all
syms x
f=input('ingrese la función f=')
ezplot(f)
grid on
xl=input('ingrese el extremo izquierdo xl=')
xu=input('ingrese el extremo derecho xu=')
es=input('ingrese el error deseado es=')
x=xl;
fxl=eval(f);
Figura 7. Captura de pantalla matlab
x=xu;
fxu=eval(f);
2. Seguidamente nos aparecera una ventana con
if fxl*fxu>0
disp('no hay cambios de signo') la funcion graficada.
break
end
ea=100;
i=0;
fprintf('iteraciones raiz error\n')
6
Apellido Autor et al / Titulo del Articulo

Figura 8. Grafico matlab

3. Despues nos pedira el ingreso de los valores


del extremo izquierdo (xl), extremo derecho
(xu) y del error deseado (es).

Figura 9. Captura de pantalla matlab


Figura 10. Captura de pantalla Matlab
4. Finalmente el programa nos dará los
resultados 4.3 Método de Newton-Rapshon
Código de matlab:
clear all
clc
disp('METODO DE NEWTON RAPHSON')
disp('SAÑAY FREDDY, LUIS TELLO, JESSICA
TENE, LUIS SIGCHO')
disp('GRUPO: 4')
disp('FECHA: 13/05/2017')
disp('------------------------------')
disp(' ')
7
disp(' ')

syms x;
f=input('Ingrese la función: ');
ezplot(f,[-50,50])
grid on
x0=input('Ingrese el valor inicial Xo:
');
tol=input('Ingrese el porcentaje de
error Ea: ');
i=1;
fx(i)=x0;

f1=subs(f,x,fx(i));%Para hacer una


sustitución simbólica simple de “x” en
“fx(i)” en la expresión “f”
z=diff(f);%Para obtener la derivada de Figura 11. Captura de pantalla de matlab
orden n una función simbólica respecto Fuente: autores
de la variable x.
d=subs(z,x,fx(i));

ea(1)=100;

while abs(ea(i))>=tol;
fx(i+1)=fx(i)-(f1/d);
f1=subs(f,x,fx(i+1));
d=subs(z,x,fx(i+1));
ea(i+1)=abs((fx(i+1)-
fx(i))/fx(i+1)*100);
i=i+1;
end
fprintf('i xi Ea
\n');
for j=1:i;
fprintf('%2d \t %11.6f \t
%6.3f \n',j-1,fx(j),ea(j));
end
Figura 12. Grafica de la función en matlab
Capturas de pantalla del programa en ejecución: Fuente: autores
Primero nos pedirá ingresar la función,
seguidamente nos saldrá en una ventana la 4.4 Método de la Secante
gráfica de la función. Después nos pedirá el
Código de matlab:
valor inicial y el porcentaje de error, y por
último saldrá la tabla con los resultados. clc;
clear all;
disp('METODO DE SECANTE')
disp('SAÑAY FREDDY, LUIS TELLO, JESSICA
TENE, LUIS SIGCHO')
disp('GRUPO: 4')
disp('FECHA: 13/05/2017')
disp('---------------------------------
-------')

format short ;

8
Apellido Autor et al / Titulo del Articulo

fprintf('\nCalculo de la raiz de una


ecuacion por el metodo de la
Secante\n\n');
f=input('Introduzca la funcion
f(x):','s');
ezplot (f)
grid on
x0=input('Introduzca el valor del
intervalo inferior de x0 : ');
x1=input('Introduzca el valor del
intervalo superior de x1 : ');
e=input('Introduzca el porcentaje de
error Ea : ');
ea=100;
i=1;
while ea>e
x=x0;
g=eval(f);
x=x1;
gg=eval(f);
xi(i+1)=x1-((gg*(x0-x1))/(g- Figura 13. Captura de pantalla de matlab
gg)); Fuente: autores
ea(i+1)=abs((xi(i+1)-
x1)/xi(i+1))*100;
x0=x1;
x1=xi(i+1);
i=i+1;
end
disp('
')
disp('
')
fprintf(' i fx(i) Error
aprox (i) \n');
for j=1:i;
fprintf('%2d \t %11.7f \t
%7.5f \n',j-1,xi(j),ea(j));
end

Capturas de pantalla del programa en ejecución: Figura 14. Grafica de la función en matlab
Fuente: autores
Primero nos pedirá ingresar la función,
seguidamente nos saldrá en una ventana la
4.5 Método de la Secante Modificado
gráfica de la función. Después nos pedirá los
valores iniciales (x0 y x1) y el porcentaje de Código de matlab:
error, y por último saldrá la tabla con los
clc;
resultados. clear all;
disp('METODO DE SECANTE MODIFICADO')
disp('SAÑAY FREDDY, LUIS TELLO, JESSICA
TENE, LUIS SIGCHO')
disp('GRUPO: 4')
disp('FECHA: 13/05/2017')
disp('---------------------------------
-------')

9
format short ;
fprintf('\nCalculo de la raiz de una
ecuacion por el metodo de la Secante
Modificada\n\n');
f=input('Introduzca la funcion
f(x):','s');
ezplot (f)
grid on
x1=input('Introduzca el valor x0
: ');
d=input('Introduzca el valor de
cambio fraccionario : ');
e=input('Introduzca el porcentaje de
error Ea : ');
ea=100;
i=1;
while ea>e
x=x1;
gg=eval(f);
x=x1+(d*x1);
Figura 15. Captura de pantalla de matlab
g=eval(f);
Fuente: autores
xi(i+1)=x1-(((d*x1)*gg)/(g-
gg));
ea(i+1)=abs((xi(i+1)-
x1)/xi(i+1))*100;
x1=xi(i+1);
i=i+1;
end
disp('
')
disp('
')
fprintf(' i fx(i) Error
aprox (i) \n');
for j=1:i;
fprintf('%2d \t %11.7f \t
%7.5f \n',j-1,xi(j),ea(j));
end

Capturas de pantalla del programa en ejecución:


Primero nos pedirá ingresar la función,
Figura 16. Grafica de la función en matlab
seguidamente nos saldrá en una ventana la Fuente: autores
gráfica de la función. Después nos pedirá el
valor inicial, posteriormente el valor de
cambio fraccionario (δ) y el porcentaje de 5. Conclusiones
error, y por último saldrá la tabla con los  El método de la Bisección converge
resultados. lentamente, lo que genera la propagación de
error por la cantidad de operaciones e
iteraciones necesaria para que el método
converja.

10
Apellido Autor et al / Titulo del Articulo

 Para los métodos cerrados es necesario


garantizar que dentro del intervalo de entrada [3] Correa Z, Francisco J (2010) “Métodos
la función sea continua y que este contenga numéricos”, Primera edicion, Fondo editorial
una raíz. Universidad EAFIT, Medellín, Cap 3.

 Los métodos abiertos convergen de una [4] https://sites.google.com/site/pn20111/home/4


manera más rápida que los métodos cerrados. -metodos-abiertos/4-2-metodo-de-newton

 El método de punto fijo busca hallar las


raíces en funciones de la forma, a través de [5] http://aplicacionmetodosnumericos.blogspot.
aproximaciones sucesivas que convergen a la com/p/metodo-de-la-secante.html
solución de la ecuación.
 En los métodos cerrados, en ocasiones el
método de falsa posición puede volverse
lento, por lo que se prefiere bisección.

 Para el método de Newton Rapshon no es


necesario tener un intervalo.
 El método de la secante modificado
puede ser ineficiente y divergente, si el valor
entre X1 y X0 es demasiado pequeño
 El método de Newton Rapshon es un
método que tiene mayor eficiencia y rapidez
sobre los otros
 El método de la secante necesita de dos
valores iniciales para realizarse, en cambio el
método de Newton Rapshon solo necesita un
valor inicial.
 Los métodos abiertos convergen de una
manera más rápida que los métodos cerrados.

6. Referencias
[1] Chapra, Steven C; Raymond Canale P (2007)
“Métodos numéricos para ingenieros”, Quinta
edición, McGraw Hill, México D.F, pp 124-139,
142-167.

[2] Mathews, John H; Fink, Kurtis D (2000)


“Métodos numéricos con MATLAB”, Tercera
edicion, Prentice Hall, Santafé de Bogotá, pp
661-673.

11

Você também pode gostar