Metodos Numericos
Metodos Numericos
Metodos Numericos
Métodos Numéricos
Figura: Interpretación
geométrica del método
de las aproximaciones
sucesivas.
Raíces de una función real
Método de las aproximaciones sucesivas
En la figura anterior se representa la interpretación geométrica del método.
Partimos de un punto inicial x0 y calculamos y = g(x0). La intersección de
esta solución con la recta y=x nos dará un nuevo valor x1 más próximo a la
solución final.
Sin embargo, el método puede divergir fácilmente. Es fácil comprobar que
el método sólo podrá converger si la derivada g'(x) es menor en valor
absoluto que la unidad (que es la pendiente de la recta definida por y=x).
Un ejemplo de este caso se muestra en la figura. Esta condición, que a priori
puede considerarse una severa restricción del método, puede obviarse
fácilmente. Para ello basta elegir la función g(x) del siguiente modo:
g(x) = x + α f(x)
de forma que tomando un valor de α adecuado, siempre podemos hacer
que g(x) cumpla la condición de la derivada.
Programa de aproximaciones sucesivas o punto fijo: (Scilab)
function y=g(x)
y=(x^2-exp(x))/5;
endfunction
function x=puntofijo(x0,tol)
i=1;
ea(1)=100; x(1)=x0;
while abs(ea(i))>=tol,
x(i+1) = g(x(i));
ea(i+1) = abs((x(i+1)-x(i))/x(i+1))*100;
i=i+1;
end
printf(' i \t X(i) Error aprox (i) \n');
for j=1:i;
printf('%2d \t %11.7f \t %7.3f \n',j-1,x(j),ea(j));
end
endfunction
Ejemplo:
Aproxima la solución de cos(x) − x = 0 mediante la iteración de punto fijo para la
forma;
a) x = (x + cos(x))/2
b) x = cos(x) , a partir del valor inicial x0 = 1.
¿Cuántas iteraciones son necesarias para obtener 5 decimales exactos?
Solución: En a), la fórmula de recurrencia es:
Resulta en:
x(1)=1;
for i=1:7
x(i+1)=(x(i)+cos(x(i)))/2;
end
x'
Solución: En b), la fórmula de recurrencia es:
i xi
1
for i=1:17 2
x0 = 1, x(i+1)=cos(x(i)); 3
end 4
Xi = cos(Xi) 5
x' 6
7
1.2 8
9
1.1 10
11
1
Como se puede observar, 12
13
0.9
la solución converge de 14
0.8 forma basculante 15
16
0.7 17
18
0.6
19
20
0.5
0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 21
22
23
24
Raíces de una función real
Método de Newton-Raphson
Este método parte de una aproximación inicial xi, y obtiene una
aproximación mejor, xi+1, dada por la fórmula:
haciendo
su derivada
entonces
haciendo
Sustituyendo se tiene:
Sustituyendo
Y así sucesivamente
disp(' METODO DE NEWTON-RAPHSON ');
disp(' ---------------------- ');
f=input('INGRESE FUNCION: ','s');
fd=input('INGRESE LA DERIVADA: ','s');
xai=input('INGRESE VALOR INICIAL: ');
tol=input('INGRESE EL ERROR: ');
f=inline(f);
fd=inline(fd);
i=1;
ea(1)=100;
fprintf('It. Xa f(xa) fd(xa) \n');
fprintf('%2d \t %11.7f \t %11.7f \t %11.7f
\n',i,xai,f(xai),fd(xai));
while abs(f(xai))> tol
xai=xai-f(xai)/fd(xai);
i=i+1;
fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \n'
,i,xai,f(xai),fd(xai));
if f(xai)==0
fprintf('No hay raiz')
end
end
Sistemas de Ecuaciones No Lineales:
Al igual que para una sola ecuación no lineal, el método de Newton para
sistemas de ecuaciones no lineales se basa en tomar los dos primeros
términos en la serie de Taylor de las funciones y resolver. Sea el sistema de
dos ecuaciones no lineales,
f1(x1; x2) = 0
f2(x1; x2) = 0
Sea (x1 (0) ; x2 (0)) una solución inicial aproximada. Tomamos los dos primeros
términos de la serie de Taylor de las funciones en el punto (x1 (1) ; x2 (1)) e
igualando a cero se tiene,
Resulta en:
Método de la Secante: ejemplo
x=-4.5:0.1:4.5 x=-4.5:0.1:4.5
f=inline('x.^2-4','x') f = @(x) x.^2-4;
plot(x,f(x),) plot(x,f(x))
grid on grid on
Gráfica del problema
20
f(x) = x 2- 4
15
10
ordenada
5
Raiz
-5
-5 -4 -3 -2 -1 0 1 2 3 4 5
abcisa
Raíces complejas de polinomios con constantes complejas
El Método de Muller
Suponga que se tiene un polinomio de grado n
Raíz estimada
X1 X0 X
Raíz
Figura 1
Así, se busca esta parábola para intersectar los tres puntos [x0, f(x0)], [x1, f(x1)] y [x2,
f(x2)]. Los coeficientes de la ecuación anterior se evalúan al sustituir uno de esos tres
puntos para dar:
f(x) Parábola
Raíz 0
x x
X2 X1 X0 X
Raíz estimada
Figura 2
La última ecuación genera que, f(x) = C, de esta forma, se puede tener un sistema de
dos ecuaciones con dos incógnitas:
Sustituyendo en el sistema:
Teniendo como resultado los coeficientes:
despejando
La gran ventaja de este método es que se pueden localizar tanto las raíces reales
como las imaginarias. Hallando el error este será: