Métodos numéricos

15
MATLAB. Método de la regla falsa, de bisección y punto fijo. 31 de Agosto de 2015. Universidad Autónoma de Querétaro. Aparicio De la Rosa Athena, Garduño Morales Luis E., Zamorano Orozco M. Andrea.

description

Método de punto fijo, método de bisección y método de la regla falsa. Con estos métodos no puedes tener un pony.

Transcript of Métodos numéricos

Page 1: Métodos numéricos

MATLAB.Método de la regla falsa, de bisección y punto fijo.

31 de Agosto de 2015.Universidad Autónoma de Querétaro.Aparicio De la Rosa Athena, Garduño Morales Luis E., Zamorano Orozco M. Andrea.

Page 2: Métodos numéricos

Método de la Regla falsa.

Código.

clc;%sirve para borrar el área de trabajoclear all;%limpia las variablesfprintf ('Método de la regla falsa \n\n\n');%sirve para agregar comentarios para orientar al usuarioFunc = input ('\nPor favor, ingresa la función entre comillas simples:\n');X1 = input ('\nIngresa el intervalo inferior:\n');X2 = input ('\nIngresa el intervalo superior:\n');Er = input ('\nAhora, ingresa el porcentaje de error:\n');Ite = input ('\nPor último, ingresa el número de interaciones que deseas:\n');%input se utiliza para pedir datos al usuariof = inline (Func);%inline nos permite hacer la asignación de variables a la función Y1 = f(X1);Y2 = f(X2); if Y1==0 fprintf ('\n\nSolución:\n') fprintf ('X1 es la raíz\n\n');else if Y2==0 fprintf ('\n\nSolución:\n') fprintf ('X2 es la raíz\n\n'); else if Y1 * Y2< 0 X3 = (X1)-((f(X1)*(X1-X2))/(f(X1)-f(X2))); Y3 = f(X3); Error = Er+1; Cont = 1; Z = [Cont, X1, X2,X3,Y3,Error]; %Z es una matriz que nos dejará ver los datos en una tabla while Y3 ~= 0 & Error > Er & Cont < Ite if Y1*Y3 < 0 X2 = X3; Y2 = Y3; else X1 = X3; Y1 = Y3; end Xaux = X3; X3 = (X1)-((f(X1)*(X1-X2))/(f(X1)-f(X2)));

Page 3: Métodos numéricos

Y3 = f(X3); Error = abs (X3 - Xaux)/X3; Cont = Cont+1; Z (Cont,1)=Cont; Z (Cont,2)=X1; Z (Cont,3)=X2; Z (Cont,4)=X3; Z (Cont,5)=Y3; Z (Cont,6)=Error; %las Z son posiciones asignadas en la tablaendif Y3==0 fprintf ('\n\nSolución:\n') fprintf ('%h es la raíz\n\n',X3);else if Error < Er fprintf ('\n\nSolución:\n') fprintf ('%h es una aproximación a una raíz con tolerancia %h\n\n',X3,Er); else fprintf ('\n\nSolución:\n') fprintf ('Fracaso en %h iteraciones\n\n',Ite); endend else fprintf ('\n\nSolución:\n') fprintf ('El intervalo no es adecuado\n\n'); end endendfprintf ('Tabla \n\nIteraciones | X1 | X2 | X3 | Y3 | Error \n\n');disp (Z);%la función disp nos permite ver la tabla con los resultados ezplot(f);%permite graficar una funcióngrid on%cuadricula la ventana de la gráfica.

Page 4: Métodos numéricos

Método de Bisección.

Código.

clc;%sirve para borrar el área de trabajoclear all;%limpia las variablesfprintf ('Método de biseccion \n\n\n');%sirve para agregar comentarios para orientar al usuarioFunc = input ('\nPor favor, ingresa la función entre comillas simples:\n');X1 = input ('\nIngresa el intervalo inferior:\n');X2 = input ('\nIngresa el intervalo superior:\n');T1 = input ('\nAhora, ingresa el porcentaje de error:\n');Ite = input ('\nPor último, ingresa el número de interaciones que deseas:\n');%input se utiliza para pedir datos al usuariof = inline (Func);%inline nos permite hacer la asignación de variables a la función Y1 = f(X1);Y2 = f(X2); if Y1==0 fprintf ('\n\nSolución:\n') fprintf ('X1 es la raíz\n\n');else if Y2==0 fprintf ('\n\nSolución:\n') fprintf ('X2 es la raíz\n\n'); else if Y1 * Y2< 0 X3 = (X1+X2)/2; Y3 = f(X3); Error = T1+1; Cont = 1; L = [Cont, X1, X2,X3,Y3,Error]; %Z es una matriz que nos dejará ver los datos en una tabla while Y3 ~= 0 & Error > T1 & Cont < Ite if Y1*Y3 < 0 X2 = X3; Y2 = Y3; else X1 = X3; Y1 = Y3; end Xaux = X3; X3 = (X1+X2)/2;

Page 5: Métodos numéricos

Y3 = f(X3); Error = abs (X3 - Xaux)/X3; Cont = Cont+1; L (Cont,1)=Cont; L (Cont,2)=X1; L (Cont,3)=X2; L (Cont,4)=X3; L (Cont,5)=Y3; L (Cont,6)=Error; %las Z son posiciones asignadas en la tablaendif Y3==0 fprintf ('\n\nSolución:\n') fprintf ('%h es la raíz\n\n',X3);else if Error < T1 fprintf ('\n\nSolución:\n') fprintf ('%h es una aproximación a una raíz con tolerancia %h\n\n',X3,T1); else fprintf ('\n\nSolución:\n') fprintf ('Fracaso en %h iteraciones\n\n',Ite); endend else fprintf ('\n\nSolución:\n') fprintf ('El intervalo no es adecuado\n\n'); end endendfprintf ('Tabla \n\nIteraciones | X1 | X2 | X3 | Y3 | Error \n\n');disp (L);%la función disp nos permite ver la tabla con los resultados ezplot(f);%permite graficar una funcióngrid on%cuadricula la ventana de la gráfica.

Page 6: Métodos numéricos

Método de Punto Fijo.

Código.

clc;%sirve para borrar el área de trabajoclear all;%limpia las variablesfprintf ('Método de punto fijo \n\n\n');%sirve para agregar comentarios para orientar al usuarioF1 = input ('Ingresa la función que deseas:');G1 = input ('Ingresa la función despejada:');f = inline (F1);g = inline (G1);syms x%sirve para declarar la variable que sufrirá los cambios, habiendo una o%más variablesdg = diff (G1, x);%diff se utiliza para sacar la derivada de una función respecto a la%variable que se da.x = input ('Ingresa el primer valor:');if (abs(eval(dg))<1) T1 = input ('Ingresa el porcentaje de error:'); disp(' n X1 Error'); fprintf (' 0.0000 %7.4f =======\n',x) n = 0; error = 100; while (error>T1) n = n+1; x = g(x); error = abs(f(x)); disp ([n,x,error]) endelse disp('Ingrese otra función g(x), la anterior diverge');end

Page 7: Métodos numéricos

Ventajas y desventajas.

Método de Bisección:

Ventajas: Siempre converge y es útil como aproximación de otros métodos.

Desventajas: El método no toma en cuenta la magnitud de las distancias calculadas y sólo le interesa el cambio de signo y esto implica una aproximación intermedia aunada a una convergencia lenta.

Método de Regla Falsa:

Ventajas: Nos permite calcular las raíces de la ecuación, tiene todas las ventajas del método de bisección excepto que calcula de diferente forma el punto intermedio del intervalo. Converge más rápido que el de bisección porque al permanecer uno de sus valores iniciales fijo el número de cálculos se reduce mientras que el otro valor inicial converge hacia la raíz.

Desventajas: No siempre converge este método, sólo sirve para ecuaciones no lineales, nos da un valor cercano a la raíz y no es exacto.

Método de Punto Fijo:

Ventajas: Resuelve ecuaciones algebraicas y trascendentes, es considerado como el método más simple, muestra claramente las características de las aproximaciones sucesivas.

Desventajas: La elección de la función iteradora es difícil de encontrar, siempre converge sólo cuando el valor absoluto de g’(x) es menor a 1. El método está diseñado para que sólo pueda existir un solo punto fijo o raíz.

Page 8: Métodos numéricos

Método de punto fijoITERACIÓN*.- Una iteración es una secuencia de pasos que se repite varias veces, se parte de uno o varios valores iniciales, estos datos se procesan aplicando la secuencia de pasos en cuestión y, se obtiene uno o varios resultados parciales. Estos resultados parciales serán los valores iniciales que se utilicen al aplicar la siguiente iteración. Cuando todo va bien, una iteración va mejorando los datos de la iteración anterior y sus resultados sirven para que la próxima iteración los mejore aún más.

CONVERGENCIA*.- Se dice que hay “Convergencia” al utilizar un método numérico para resolver un problema en particular cuando, mientras más iteraciones se hacen se obtiene una mejor aproximación al resultado.

DIVERGENCIA*1.- Se dice que hay “Divergencia” cuando, mientras más iteraciones se realicen, el resultado obtenido se aleja cada vez más del valor anterior.

Convergencia método de punto fijo

Si el método converge, la diferencia en valor absoluto entre valores proporcionados en dos iteraciones sucesivas será cada vez más pequeña a medida que n aumente, y con esto se tendrá un criterio para saber cuándo termina la aplicación del método.

Es posible afirmar que si en la n-ésima iteración el método se está aproximando a la raíz o converge a ella, entonces:

|G´(t)| = |a - Xn| / |a - Xn-1| <1

Es decir, el método es convergente si:

|G´(t)|<1 Xn-1<t<a

Esto significa que el método converge en la n-ésima iteración cuando el valor absoluto de la derivada de G(x) en cualquier punto del intervalo (Xn-1, a) es menor que la unidad.

Por otra parte el método es divergente si

|a - Xn| > |a - Xn-1|

1* http://test.cua.uam.mx/MN/definiciones.php

Page 9: Métodos numéricos

Recordar que el método de Punto Fijo, nos dice que, solo podrá haber y tener un único punto o raíz

Page 10: Métodos numéricos
Page 11: Métodos numéricos

Conclusión:Como el método de punto fijo es abierto lo que quiere decir que requiere de un solo valor inicial. Como no hay un intervalo que encierre a la raíz; algunas veces las sucesiones generadas por estos métodos son divergentes (condiciones de convergencia) por lo que se pueden alejar de la raíz de interés y probablemente vallan a otra raíz. Tienen la ventaja que cuando convergen lo hacen "más rápidamente" que las sucesiones generadas por los métodos cerrados.

Bibliografía:http://www.epsem.upc.edu/~fpq/numerico/resum/ceros-resum.pdf

http://ma1.eii.us.es/Material/Cal_Num_itis_Apuntes.pdf

http://www3.fi.mdp.edu.ar/metodos/teorias/MN%20-%202013b%20-%203%20ec%20no%20lineales%202013_2.pdf