Vous êtes sur la page 1sur 10

Solucin Numrica a Sistemas no Lineales de una Variable / Numerical Solution of Nonlinear Systems Variable.

SOLUCIN NUMRICA A SISTEMAS NO LINEALES DE UNA


VARIABLE
Bernal Mndez P.1, Bele Tepn M.2, Domnguez Ochoa M.3, Garcia Cedillo M.4, Torres Alvarracn J.5

Resumen

Abstract

El presente documento dar a conocer los mtodos


abiertos de solucin numrica a ecuaciones no
lineales de una variable. Los mtodos a exponer
son los siguientes: Mtodo de la Biseccin, Mtodo
del Punto Fijo y Mtodo de Falsa Posicin.

This document will release the open methods of


numerical solution of nonlinear equations in one
variable. Expose methods are: Bisection Method,
Fixed Point Method and False Position Method.

Following this, the resolution of several nonlinear


Posterior a esto, se presenta la resolucin de varias equations of a variable is presented by the
ecuaciones no lineales de una variable mediante los aforementioned methods using the MATLAB
mtodos antes mencionados haciendo uso del mathematical software.
software matemtico MATLAB.
Finally, it is disclosed each programming codes that
Finalmente, se da a conocer cada uno de los have been applied for solving each of equations to
cdigos de programacin que han sido aplicados thereby understand the methodology of each of the
para la resolucin de cada una de las ecuaciones, programming codes as well as the numerical solution
para de esta manera entender la metodologa de methods and issue relevant recommendations and
cada uno de los cdigos de programacin as como conclusions.
de los mtodos de solucin numrica y emitir las
recomendaciones y conclusiones pertinentes.

Palabras Clave: error actual, mtodos abiertos, Keywords: current error, open methods, numerical
solucin numrica.
solution.

Estudiante de la Universidad Politcnica Salesiana Sede Cuenca.


Estudiante de la Universidad Politcnica Salesiana Sede Cuenca.
3
Estudiante de la Universidad Politcnica Salesiana Sede Cuenca.
4
Estudiante de la Universidad Politcnica Salesiana Sede Cuenca.
5
Estudiante de la Universidad Politcnica Salesiana Sede Cuenca.
2

Solucin Numrica a Sistemas no Lineales de una Variable / Numerical Solution of Nonlinear Systems Variable.

1. Introduccin
Frecuentemente resulta imposible hallar una
solucin exacta del problema matemtico en
anlisis. Adems, aunque esto fuese posible, dicha
solucin puede no aportar una respuesta
satisfactoria del problema real de ingeniera: una
solucin no es vlida por que resuelva el problema
abstracto, sino por que funcione en la realidad.

Figura 1. Mtodo de Biseccin

Resulta entonces razonable aproximar el modelo


matemtico mediante otro discreto que
proporcione una solucin numrica explicita
mediante una secuencia finita de operaciones
aritmticas y lgicas. Este modelo discreto no solo
proporciona una solucin que puede comprobarse
mediante experimentacin, sino que, gracias a la
potencia de clculo de los ordenadores, permite
simular el problema real.

Se obtiene el punto medio por medio de:

Este es un mtodo cerrado, para poder


aplicarlo se debe tener un intervalo inicial, en
donde f(a)*f(b)<0.
Pasos para aplicar el mtodo:

Por tal motivo, los mtodos numricos permiten


desarrollar esos modelos matemticos que
permiten aproximar de forma numrica cada uno
de los problemas que se presentan con frecuencia
en ingeniera y, en este caso en particular,
mediante el uso del software MATLAB.

Datos iniciales: Una funcin f(x) y


nmeros o valores iniciales [a, b].
Verificamos que: f(a)*f(b)<0.
Obtenemos el punto medio por medio de:

2. Marco Terico
Comparamos los signos de: f(xa)*f(xr), y
obtenemos el nuevo valor para Xa y Xb
segn si: f(xa)*f(xr) > 0 f(xa)*f(xr) < 0.

Las tcnicas graficas tienen un valor prctico


limitado, ya que no son precisas. Sin embargo, los
mtodos grficos se utilizan para obtener
aproximaciones de la raz de una funcin a la cual
llamamos f(x). Dichas aproximaciones se pueden
usar como valores iniciales en los mtodos
numricos que se darn a conocer a continuacin.

Tabla 1. Condiciones para: f(xa)f(xr).

2.1 Mtodo de Biseccin.

Repetiremos ste proceso varias veces


hasta obtener la tolerancia deseada.

Este mtodo nos permite obtener una mejor


aproximacin de la raz comenzando a partir
de un intervalo inicial [a, b] en el cual existe
un cambio de signo en una funcin, es decir
f(a)*f(b) <0.

Solucin numrica a sistemas no lineales de una variable

2.2 Mtodo de Falsa Posicin.

2.3 Mtodo del punto fijo.

Este mtodo, como en el mtodo de la


biseccin, parte de dos puntos que rodean a la
raz f(x) = 0.

Es un mtodo iterativo que permite resolver


sistemas de ecuaciones no necesariamente
lineales puesto que es un mtodo abierto de
solucin numrica.
2.3.3 Algoritmo para la iteracin de punto
fijo.
1. Se ubica la raz de f(x) analizando la
grfica.
2. Se despeja de manera que x = g(x).
3. Obtenemos de x = g(x) su derivada g(x).
4. Consideramos el rango de valores, para lo
cual se tiene que: -1 g(x) 1.
5. Con el rango R buscamos la raz en g(x)
haciendo g(R) = (R) haciendo iteracin
de las operaciones.

Figura 2. Mtodo de Falsa Posicin.

Pasos para aplicar el mtodo:


Elegimos los valores iniciales, el inferior
ser Xa y el superior Xb, que encierran a
la raz, de manera que la funcin cambie
de signo en el intervalo. Para verificar
que esto se cumpla: f(xa)*f(xb)<0.
Obtenemos una aproximacin de la raz
por medio de:

Se deben realizar las siguientes


evaluaciones para determinar en qu
subintervalo est la raz:

Tabla 1. Evaluaciones para determinar la raz.

Repetiremos ste proceso varias veces


hasta obtener la tolerancia deseada.

Figura 3. Punto de convergencia entre la recta h(x)=x y


la funcin en anlisis.

3. Materiales y Mtodos
Para el desarrollo de cada uno de los mtodos aqu
presentados se ha utilizado un sistema de
programacin y clculo basado en la manipulacin
de matrices. Esto es posible gracias al software
matemtico MATLAB.

Solucin numrica a sistemas no lineales de una variable

3.

4. Desarrollo

A continuacin tenemos la representacin


de la funcin que vamos a analizar.

Como es de nuestro conocimiento, los mtodos


detallados en el apartado 2 permiten llegar a una
aproximacin del tipo numrica mediante una
serie de iteraciones, mismas que incluyen
operaciones matemticas bastante extensas, razn
por la cual, es lgico realizar un algoritmo que
brinde una aproximacin casi exacta de la
solucin del problema en anlisis.

4.
Despus, introduciremos los datos y las
condiciones iniciales en el software
MATLAB.

Por tal motivo, en este apartado se da a conocer


cada uno de los cdigos de programacin y su
ejecucin, mismos que permiten resolver
ecuaciones no lineales de una variable.

4.1 Mtodo del punto fijo.


Figura 4. Mtodo punto fijo Matlab.

A continuacin se da a conocer la siguiente


funcin:

Una vez ingresado los valores, se ejecuta el


programa presionando Enter, y se presentan
los siguientes valores:

Con las siguientes condiciones:

4.1.1 Procedimiento para la resolucin de la


ecuacin.
Primero igualaremos la funcin presentada
a 0.

1.
En segundo lugar despejaremos la variable
x de la funcin, la cual nos servir como
una recta tangente a la grfica de la
funcin en anlisis.

Figura 5. Valores obtenidos por el algoritmo del


programa.

Posterior a esto, el programa muestra en


pantalla la grfica de la funcin g(x):

2.
La razn por la cual se realiza este
procedimiento se debe a que es necesario
conseguir 2 funciones g(x) y f(x) para
poder realizar el mtodo del punto fijo.
4

Solucin numrica a sistemas no lineales de una variable

Primero ingresamos la funcin y los


valores de las condiciones iniciales.

Figura 6. Grafica de la funcin g(x).

Figura 7. Toma de datos.

Cabe destacar que se ha ingresado un rango de


tolerancia menor a la unidad pues se desea una
aproximacion casi exacta.
De esta manera, el algoritmo se ejecuta y se
obtiene el valor de la raiz, tal y como se puede
apreciar en la siguiente figura:

Nota: Los cdigos de programacin para la


ejecucin del programa presentado anteriormente
se encuentran en el apartado de Anexos.

4.2 Mtodo de la Biseccin.


En el siguiente ejercicio se realiza la resolucin
de una ecuacin no lineal mediante el mtodo de
punto fijo. La funcin es la siguiente:

Con las siguientes condiciones:

4.2.1 Procedimiento para la resolucin de la


ecuacin.
Se debe comprobar mediante la sustitucin de
puntos en la funcin si se garantiza un
cambio de signo.
Luego de esto, el intervalo seguir
disminuyendo
hasta que se cumpla la
siguiente condicin:

Figura 8. Codificacion para encontrar la raiz.

Como resultado, la raz se encuentra en 1.4512


en el eje x.

A continuacin se procede a la resolucin de


la ecuacin en anlisis mediante el programa
MATLAB:

Posterior a esto se detalla la siguiente grfica:

Solucin numrica a sistemas no lineales de una variable

Figura 9. Grafica f(x)

Nota: Los cdigos de programacin para la


ejecucin del programa presentado anteriormente
se encuentran en el apartado de Anexos.

4.3 Mtodo de la falsa posicin.


Para el desarrollo del cdigo es indispensable
saber que la raz se encuentra mediante la
interseccin con el eje y la traza de una recta, de
esta manera es posible identificar el punto de
partida de donde traza su trayectoria una recta
que se dirige al punto de origen.
A modo de comparacin vamos a realizar este
ejercicio con los valores de las condiciones del
ejercicio propuesto anteriormente, el cual tiene
los siguientes datos:

Con las siguientes condiciones:

Figura 10. Codificacion para hallar la raiz.

A continuacin se ejecuta el mtodo mediante el


software MATLAB.

Solucin numrica a sistemas no lineales de una variable

5. Resultados y discusiones.
Para el mtodo del punto fijo con la ecuacin
con un valor inicial de
y
un margen de error
deseado menor al
, con el mtodo mencionado se
obtuvo la raz en el punto
y con
un error del
.
En el mtodo de la biseccin se desarroll con la
ecuacin
, con intervalo de
y el margen de error deseado tiene que ser
menor al
, con este mtodo se
obtuvo la raz en el punto
.
Al utilizar el mtodo de la falsa posicin se
desarroll con la ecuacin
,
con intervalo de
y el margen de error
deseado tiene que ser menor al
,
con este mtodo se obtuvo la raz en el punto
.

Figura 11. Codificacion para hallar la raiz.

De manera que, se deja a discusin el mtodo a


utilizar, sin embargo, cabe recalcar que los
mtodos cerrados siempre convergen, a
diferencia de los mtodos abiertos, mismos que
en algunos casos no convergen pero su
resolucin es mucho ms rpida.

Como resultado, se obtiene la raz en el punto


345/238 (1.44957).
Y posterior a esto, la grfica describe la
siguiente trayectoria:

Los mtodos cerrados simplemente reducen el


intervalo tanto como sea posible, mientras que
los mtodos abiertos calculan en cada iteracin
una aproximacin a la raz.

6. Conclusiones
Al desarrollar los dos mtodos cerrados y
el mtodo abierto en este informe, se
puede decir que los mtodos abiertos
convergen de una manera ms rpida que
los mtodos cerrados.

Figura 12. Grafica de f(x).

Nota: Los cdigos de programacin para la


ejecucin del programa presentado anteriormente
se encuentran en el apartado de Anexos.

El mtodo de la Biseccin converge


lentamente, lo que genera la propagacin
del error por la cantidad de operaciones e
7

Solucin numrica a sistemas no lineales de una variable

iteraciones necesarias para que el mtodo


converja.

ANEXOS
Cdigos de programacin

Para los mtodos cerrados es necesario


garantizar que dentro del intervalo de
entrada la funcin sea continua y que este
contenga una raz.

Cdigo de programacin para el Mtodo de


Punto Fijo.
% Mtodo del punto fijo

Para los mtodos abiertos es necesario


garantizar que la funcin sea continua.

fprintf('\tINTEGRANTES:
Bernal-BeleDomnguez-Garca-Torres\n\n')
fprintf('\tGRUPO: 2\n\n')

El mtodo de punto fijo busca hallar las


races a travs de aproximaciones
sucesivas que convergen a la solucin de
la ecuacin.

fprintf('
PUNTO FIJO\n\n\n');

MTODO

xf(1)=input('Ingrese el primer valor


Xo
:
');
tol=input('Ingrese el porcentaje de
error Ea(%): ');
syms x;
f=input('Ingrese
la
funcin
f(x),
despejada g(f(x)): ');

Referencias.
[1] Fuentes, D. M. (18 de Abril de 2012).
http://test.cua.uam.mx/. Obtenido de
http://test.cua.uam.mx/:
http://test.cua.uam.mx/MN/Methods/Raic
es/Biseccion/Biseccion.php
[2] http://illuminatus.bizhat.com/. (15 de
Diciembre de 2015). Obtenido de
http://illuminatus.bizhat.com/:
http://illuminatus.bizhat.com/metodos/fal
saposicion.htm
[3] mediawiki. (26 de Enero de 2016).
wikipedia.com. Obtenido de
wikipedia.com:
https://es.wikipedia.org/wiki/M%C3%A9
todo_del_punto_fijo

i=1;
ea(1)=100;
while abs(ea(i))>=tol,
xf(i+1) = subs(f,x,xf(i));
ea(i+1)
=
abs((xf(i+1)xf(i))/xf(i+1))*100;
i=i+1;
end
fprintf('i
xf(i)
Error aprox (i) \n');
for j=1:i;
fprintf('%2d
\t
%11.7f
\t
%7.3f
\n',j-1,xf(j),ea(j));
end
ezplot(f);

Cdigo de programacin para el Mtodo


de Biseccin.
% Mtodo de la biseccion
fprintf('\tINTEGRANTES: Bernal-BeleDominguez-Garca-Torres\n\n')
fprintf('\tGRUPO: 2\n\n')
fprintf('
MTODO de la biseccion
\n\n\n');
% INGRESO DE VALORES
8

Solucin numrica a sistemas no lineales de una variable


fun=input('Ingrese la ecuacion f(x)
: ');
a=input('Ingrese limite inferior :
');
b=input('Ingrese
limite
superior:
');
tol=input('Ingrese la tolerancia):
');
syms x ;
u=subs(fun,a);
v=subs(fun,b);
% EVALUACION DE LA FUNCION
if sign(u)== sign(v)
disp('Error, No tiene solucion
por este metodo')
return
end
while (b-a)/2>tol
c=(a+b)/2
w=subs(fun,c);
if sign(u)==sign(w)
a=c;
u=w;
else
b=c;
v=w;
end
end
% MUESTREO DEL RESULTADO
disp('El resultado es:')
c
%GRAFICA DEL RESULTADO
ezplot(fun,[ a,b]),grid on;

v=subs(fun,bn);
a=an;
b=bn;
syms x ;
% COMPARACIONES ENTRE VALORES
while abs(u)>tol
p=a-(u*(b-a)/(v-u));
w=subs(fun,p);
if u*v<0
a=an;
b=p;
else
a=p;
b=bn;
end
u=subs(fun,a)
v=subs(fun,b)
end
%MUESTREO DE RESULTADO
disp(' El corte se realiza
punto')
pretty(p)
% GRAFICA DEL RESULTADO
ezplot(fun,[ an,bn]),grid on;

en

el

Imgenes de la ejecucin de los cdigos para la


resolucin de las ecuaciones
Mtodo del Punto Fijo.

Cdigo de programacin para el Mtodo de


Falsa Posicin.
% Mtodo de la Flsa posicion
fprintf('\tINTEGRANTES:
Bernal-BeleDominguez-Garca-Torres\n\n')
fprintf('\tGRUPO: 2\n\n')
fprintf('
MTODO de la
Falsa Posicion \n\n\n');
% INGRESO DE VALORES
fun=input('Ingrese la ecuacion f(x) :
');
an=input('Ingrese limite inferior :
');
bn=input('Ingrese
limite
superior:
');
tol=input('Ingrese
la
tolerancia):
');
u=subs(fun,an);
9

Solucin numrica a sistemas no lineales de una variable

Mtodo de Biseccin.

Mtodo de Falsa Posicin.

10

Vous aimerez peut-être aussi