Documentos de Académico
Documentos de Profesional
Documentos de Cultura
etodos Num
ericos
FIQ-UADY
Races de ecuaciones no lineales
- Sustituci
on sucesiva - M
etodo de bisecci
on.
Ya hemos visto que el metodo de sustitucion sucesiva o de punto fijo depende de una funcion
auxiliar g(x) y que si esta verifica la condicion de convergencia para dicho metodo, entonces para
aproximar una raz de una funcion dada, basta con evaluar en forma iterativa la g(x) en un punto
o valor inicial.
A continuacion mostramos dos versiones de codigo que funciona ya sea en OCTAVE o en
MATLAB, para este metodo; uno meramente sencillo el cual solo nos da la respuesta y otro que
nos da mas detalle de como el metodo avanza o funciona. Cabe se
nalar que este u
ltimo tiene
mas caractersticas como por ejemplo, TOLERANCIA, MAXIMO DE ITERACIONES. Ambos
programas resuelven el problema dado en clase para la funcion f (x) = ex x, con la funcion
auxiliar g(x) = ex y valor inicial x0 = 0.52.
% programa para el metodo de punto fijo
% para hallar una ra
z real de una funcion no lineal
x0=.52;
g=inline('exp(-x)');
for i=1:20
x=g(x0);
x0=x;
end
x
i=i+1;
fprintf(' %d %20.8f %20.8f\n',i,x,diferencia)
x0=x;
end
end
Mis observaciones:
Mis observaciones:
|xn xn+1 |
xn
Mis conclusiones:
De manera completamente semejante al metodo anterior abordaremos el de biseccion. A continuacion mostramos un codigo sencillo en donde se muestran las columnas: el n
umero de iteracion,
el punto medio y la evaluacion del punto medio. La funcion se trata del ejemplo 1 de la presentacion
unidad_2_p1.pdf.
%Este programa encuentra una raiz real de una
%funcion no lineal
%aplicando el metodo de biseccion.
Mis observaciones:
En el siguiente ejercicio, primero se sugiere que realices los calculos a mano y posteriormente
usando MATLAB/OCTAVE.
Ejercicio 2 Para la siguiente funcion determina en que intervalo es aplicable el metodo de biseccion para encontrar alguna de sus races, y posteriormente calcular el n
umero de iteraciones
indicadas en la tabla para obtener una aproximacion de dicha raz.
f (x) = cos(x) 1/x
Para graficar la funcion, puedes usar la lnea
ezplot('cos(x)-1/x')
n
1
2
3
4
5
6
..
.
pn
Mis conclusiones:
|f (pn )|