260
1 PRESENTACIÓN. En estas notas modulares se presenta el contenido mínimo de un curso de Métodos Numéricos para cualquier programa de ingeniería. Las notas como tales no alcanzan la categoría de libro de texto, pero su contenido es una guía que le permite al alumno abordar el estudio de cualquier libro de texto. Este material es el producto de mi experiencia docente en el curso a partir de 1986. En 1988 publiqué unas notas muy resumidas sin la componente de software. En 2004 se publicaron unas notas en las que se manejaban los ambientes Matlab y Mathcad. El autor se desempeñado, durante sus 30 años en la actividad docente, en los cursos de: Cálculo diferencial, Cálculo integral, Geometría Euclidiana, Geometría Vectorial, Ecuaciones Diferenciales, Matemáticas Avanzadas, Física Moderna, Física del estado Sólido, Semiconductores, Circuitos Eléctricos en el dominio del tiempo, Circuitos Eléctricos en el dominio de la frecuencia y Métodos Numéricos. Las notas están acompañadas de un buen número de programas en el ambiente Matlab y de una bibliografía que incluye los textos clásicos de análisis numérico. En el desarrollo de estas notas se prescinde del formalismo matemático típico de los textos de análisis numérico. Se incorporan algunos temas de aplicaciones de ingeniería y ciencias y, en el caso de las ecuaciones diferenciales, se contextualiza el estudio en las soluciones de problemas de valor inicial y problemas con valor en la frontera. A continuación se presenta una guía para estudiar las notas: Módulo 1. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mínimo, 4 horas. Módulo 2. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mínimo, 4 horas. Módulo 3. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de docencia directa y que el estudiante le dedique, como mínimo, 8 horas. Módulo 4. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mínimo, 4 horas. Módulo 5. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mínimo, 4 horas. Módulo 6. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mínimo, 4 horas. Módulo 7. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mínimo, 4 horas. Módulo 8. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mínimo, 4 horas. Módulo 9. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de docencia directa y que el estudiante le dedique, como mínimo, 8 horas. Módulo 10. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de docencia directa y que el estudiante le dedique, como mínimo, 8 horas. Módulo 11. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de docencia directa y que el estudiante le dedique, como mínimo, 8 horas.

LIBRODEMÉTODOS.2012

Embed Size (px)

Citation preview

  • 1

    PRESENTACIN.

    En estas notas modulares se presenta el contenido mnimo de un curso de Mtodos Numricos para cualquier programa de ingeniera. Las notas como tales no alcanzan la categora de libro de texto, pero su contenido es una gua que le permite al alumno abordar el estudio de cualquier libro de texto. Este material es el producto de mi experiencia docente en el curso a partir de 1986. En 1988 publiqu unas notas muy resumidas sin la componente de software. En 2004 se publicaron unas notas en las que se manejaban los ambientes Matlab y Mathcad. El autor se desempeado, durante sus 30 aos en la actividad docente, en los cursos de: Clculo diferencial, Clculo integral, Geometra Euclidiana, Geometra Vectorial, Ecuaciones Diferenciales, Matemticas Avanzadas, Fsica Moderna, Fsica del estado Slido, Semiconductores, Circuitos Elctricos en el dominio del tiempo, Circuitos Elctricos en el dominio de la frecuencia y Mtodos Numricos. Las notas estn acompaadas de un buen nmero de programas en el ambiente Matlab y de una bibliografa que incluye los textos clsicos de anlisis numrico. En el desarrollo de estas notas se prescinde del formalismo matemtico tpico de los textos de anlisis numrico. Se incorporan algunos temas de aplicaciones de ingeniera y ciencias y, en el caso de las ecuaciones diferenciales, se contextualiza el estudio en las soluciones de problemas de valor inicial y problemas con valor en la frontera. A continuacin se presenta una gua para estudiar las notas:

    Mdulo 1. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mnimo, 4 horas.

    Mdulo 2. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mnimo, 4 horas.

    Mdulo 3. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de docencia directa y que el estudiante le dedique, como mnimo, 8 horas.

    Mdulo 4. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mnimo, 4 horas.

    Mdulo 5. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mnimo, 4 horas.

    Mdulo 6. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mnimo, 4 horas.

    Mdulo 7. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mnimo, 4 horas.

    Mdulo 8. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mnimo, 4 horas.

    Mdulo 9. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de docencia directa y que el estudiante le dedique, como mnimo, 8 horas.

    Mdulo 10. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de docencia directa y que el estudiante le dedique, como mnimo, 8 horas.

    Mdulo 11. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de docencia directa y que el estudiante le dedique, como mnimo, 8 horas.

  • 2

    Mdulo 12. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mnimo, 4 horas.

    Mdulo 13. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mnimo, 4 horas.

    Mdulo 14. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mnimo, 4 horas.

    Mdulo 15. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mnimo, 4 horas.

    Mdulo 16. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de docencia directa y que el estudiante le dedique, como mnimo, 8 horas.

    Mdulo 17. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia directa y que el estudiante le dedique, como mnimo, 4 horas.

    Mdulo 18. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de docencia directa y que el estudiante le dedique, como mnimo, 8 horas.

    Mdulo 19. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de docencia directa y que el estudiante le dedique, como mnimo, 8 horas.

    Mdulo 20. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de docencia directa y que el estudiante le dedique, como mnimo, 8 horas.

    En total son 60 horas de docencia directa por parte del profesor y 120 horas de auto estudio por parte del estudiante. Para la evaluacin del curso se sugiere la siguiente distribucin.

    Quiz 10%. Mdulos: 1-4 Tarea 10%. Mdulos: 5-8 Parcial 30%. Mdulos: 1-8 Quiz 10%. Mdulos: 9-11 Tarea 10%. Mdulos: 12-14 Final 30%. Mdulos: 15-20

    Un 10% del examen final puede ser un trabajo sobre los mdulos 22 y 23

  • 3

    CONTENIDO

    MDULO 1 FUNCIONES DE VARIABLE REAL 1

    1.1

    1.2 1.3 1.4 1.5 1.6 1.7 1.8

    Introduccin a los mtodos numricos para calcular los ceros reales de una funcin de una variable. Funciones de variable real Programa en Matlab para representar grficamente una funcin Funciones resultantes de modelos matemticos Funcin polinmica Funcin racional Funcin exponencial Funcin senoidal EJERCICIOS

    1

    2 2 4 8

    10 12 12 13

    MDULO 2 RACES DE ECUACIONES. MTODOS CERRADOS 17

    2.1 2.2 2.3

    Introduccin El mtodo de biseccin. El mtodo de la regla falsa EJERCICIOS

    14 14 15 16

    MDULO 3 RACES DE ECUACIONES. MTODO DE ITERACIN DE PUNTO FIJO 17

    3.1 3.2 3.3 3.4 3.5 3.6

    Introduccin El mtodo de iteracin de punto fijo Programa para iteracin de punto fijo Iteracin de punto fijo como funcin La tcnica SOR Programa SOR EJERCICIOS

    17 17 20 21 22 24 25

    MDULO 4 RACES DE ECUACIONES. MTODOS DE NEWTON-RAPHSON Y SECANTE

    27

    4.1 4.2 4.3 4.4 4.5 4.6 4.7

    El mtodo de Aitken para acelerar la convergencia de una sucesin. El mtodo de Newton-Raphson El mtodo de Newton mejorado Programa para el mtodo de Newton Mtodo de la secante Solucin de una ecuacin usando fzero. Races de polinomios. EJERCICIOS

    27 29 32 33 34 34 35 36

    MODULO 5 SISTEMAS DE ECUACIONES LINEALES. MTODOS DIRECTOS. SISTEMAS TRIDIAGONALES

    38

    5.1 5.2 5.3 5.4 5.5 5.6 5.7

    5.1. Introduccin a los sistemas lineales 5.2. Eliminacin Gaussiana 5.3. La regla de Kramer 5.4. Mtodo de la inversa 5.5. Sistemas tridiagonales 5.6. Programa para sistemas tridiagonales EJERCICIOS

    38 38 41 43 44 46 48

  • 4

    MODULO 6 SISTEMAS DE ECUACIONES LINEALES. MTODOS ITERATIVOS 49

    6.1 6.2 6.3 6.4

    Sistemas diagonalmente dominantes Mtodo de Jacobi con nmero de iteraciones Mtodo de Gauss-Seidel con nmero de iteraciones Mtodo de Gauss-Seidel con tolerancia EJERCICIOS

    49 49 52 54 55

    MODULO 7 SISTEMAS DE ECUACIONES NO LINEALES. MTODO DE NEWTON 57

    7.1 7.2 7.3 7.4

    Representacin grfica de relaciones en el plano Sistemas con una ecuacin lineal y una cuadrtica Sistemas de dos ecuaciones con dos incgnitas. Mtodo de Newton Sistemas de tres ecuaciones con tres incgnitas. Mtodo de Newton EJERCICIOS

    57 59 60 66 69

    MODULO 8 SISTEMAS DE ECUACIONES NO LINEALES. MTODOS DE JACOBI Y GAUSS-SEIDEL

    71

    8.1 8.2 8.3 8.4 8.5

    Sistemas de segundo orden diagonalmente dominantes. Mtodo iterativo para sistemas de segundo orden Sistemas de tercer orden diagonalmente dominantes. Mtodo de Gauss-Seidel. Sistemas de orden cuatro. EJERCICIOS

    71 71 73 74 76 77

    MODULO 9 REGRESIN POLINOMIAL 78

    9.1 9.2 9.3 9.4 9.5

    Introduccin. Regresin polinomial Programa en Matlab para efectuar regresin polinomial Regresin exponencial Programa en Matlab para efectuar regresin exponencial EJERCICIOS

    78 79 82 84 85 87

    MODULO 10 INTERPOLACIN POLINMICA 89

    10.1 10.2 10.3 10.4 10.5

    Introduccin Programa de interpolacin directa Polinomios de Lagrange Mtodo de las diferencias divididas Programa para interpolacin por diferencias divididas EJERCICIOS

    89 90 92 95 97 99

    MODULO 11 INTERPOLACIN POR SEGMENTOS 100

    11.1 11.2 11.3 11.4 11.5

    Introduccin Interpolacin Cuadrtica por segmentos Programa para interpolacin cuadrtica Interpolacin cbica por segmentos Programa para interpolacin cbica EJERCICIOS

    100 101 106 107 114 116

    MODULO 12 DIFERENCIACIN NUMRICA 117

  • 5

    12.1 12.2 12.3 12.4

    Introduccin Derivacin usando Matlab Diferencias divididas centradas de primero y segundo orden Programa para diferenciacin numrica EJERCICIOS

    117 117 120 122 124

    MODULO 13 INTEGRACIN NUMRICA POR LAS REGLAS DE NEWTON-COTES 125

    13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9

    13.10

    Introduccin Integracin por series de potencias Aproximacin por interpolacin polinmica Frmulas de Newton Cotes Regla de los trapecios Anlisis del error en la regla de los trapecios Integracin por el mtodo de Romberg Regla de Simpson 1/3 Regla de Simpson 3/8 Programa para integrar con las frmulas de Newton-Cotes EJERCICIOS

    125 127 128 130 130 132 135 136 139 142 143

    MODULO 14 INTEGRACIN NUMRICA POR CUADRATURA GAUSSIANA 144

    14.1 14.2 14.3 14.4 14.5

    Polinomios de Legendre Desarrollo de una funcin mediante los polinomios de Legendre Integracin por cuadratura de dos puntos Cuadratura Gaussiana de tercer orden Cuadratura Gaussiana generalizada EJERCICIOS

    144 147 149 150 151 152

    MODULO 15 PROBLEMAS DE VALOR INICIAL DE PRIMER ORDEN. TEORA GENERAL

    153

    15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8

    Introduccin Problema de valor inicial Teorema de existencia y unicidad Ecuaciones diferenciales de variables separables Ecuaciones diferenciales homogneas Ecuaciones diferenciales exactas Ecuaciones diferenciales lineales Solucin de ecuaciones diferenciales usando dsolve EJERCICIOS

    153 153 154 157 158 160 164 168 171

    MODULO 16 PROBLEMAS DE VALOR INICIAL DE PRIMER ORDEN. SOLUCIN NUMRICA

    173

    16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8

    Introduccin Mtodo de Euler Mtodo de la serie de potencias Mtodo de la serie de potencias con Matlab Mtodos de Runge-Kutta de segundo orden Mtodo de Runge-Kutta de tercer orden Mtodo de Runge-Kutta de cuarto orden Mtodo de Runge-Kutta de cuarto orden con Matlab EJERCICIOS

    173 173 178 181 182 185 187 188 189

  • 6

    MODULO 17 PROBLEMAS DE VALOR INICIAL DE SEGUNDO ORDEN. TEORA GENERAL

    191

    17.1 17.2 17.3 17.4 17.5 17.6 17.7

    Introduccin La ecuacin diferencial lineal de segundo orden. Problemas de valor inicial de segundo orden Ecuaciones diferenciales lineales de coeficientes constantes La ecuacin diferencial de Euler-Cauchy. Solucin de ecuaciones lineales con Matlab. Ecuaciones diferenciales no lineales EJERCICIOS

    191 193 196 199 202 205 207 211

    MODULO 18 PROBLEMAS DE VALOR INICIAL DE SEGUNDO ORDEN. SOLUCIN NUMRICA

    213

    18.1 18.2 18.3 18.4

    Formulacin del problema Mtodo de Euler Mtodo de Euler con Matlab Mtodo de Runge-Kutta de orden cuatro con Matlab EJERCICIOS

    213 213 216 220 226

    MODULO 19 PROBLEMAS CON VALOR EN LA FRONTERA DE SEGUNDO ORDEN. SOLUCIN NUMRICA POR EL MTODO DEL DISPARO

    227

    19.1 19.2 19.3

    Formulacin del problema Solucin analtica. Mtodo del disparo EJERCICIOS

    227 227 229 236

    MODULO 20 PROBLEMAS CON VALOR EN LA FRONTERA DE SEGUNDO ORDEN. SOLUCIN NUMRICA POR EL MTODO DE LAS DIFERENCIAS DIVIDIDAS

    237

    20.1 20.1 20.2

    Formulacin del problema Mtodo de las diferencias divididas Programa en Matlab EJERCICIOS

    237 237 240 243

  • 7

    BIBLIOGRAFA.

    1. Atkinson/harley; Introduccin a los Mtodos Numricos con Pascal, Addison-Wesley Iberoamericana, Mxico, 1987

    2. Burden/Faires; Anlisis Numrico, Grupo Editorial Iberoamrica, Mxico, 1985

    3. Chapra/Canale; Mtodos Numricos para Ingenieros, McGraw-Hill, Mxico, 1987

    4. Hildebrand, F.B.,Mtodos de Clculo para Ingenieros, Aguilar, 1965

    5. Hornbeck, Robert; Numerical Methods, QPI Series, New Cork, 1975

    6. James/Smith/Wolford; Applied Numerical Methods for Digital Computation, Harper International Edition, New York, 1977

    7. Kreyszig, Erwin; Matemticas Avanzadas para Ingeniera, LimusaWiley, Mxico, 2003

    8. Mathews, John; Numerical Methods for Mathematics, Science, and Egineering, Prentice-Hall, New Jersey, 1992

    9. NakamuraShoichiro, Mtodos Numricos Aplicados con Software, Prentice-Hall, Mxico, 1992

    10. Scheid/ Di Constanzo; Mtodos Numricos, McGraw-Hill, Mxico, 1991

  • 8

    MTODOS NUMRICOS CON MATLAB NOTAS MODULARES

    NORMAN CSAR MERCADO CRUZ Profesor Titular

    Universidad de Antioquia Facultad de Ingeniera

    Departamento de Ingeniera Electrnica Medelln, 2011

  • FUNCIONES DE VARIABLE REAL

    Contenido En este mdulo se hace un repaso de las funciones de variable representacin grfica usando el paquete Matlab. Los temas a desarrollar son los siguientes:

    1.1. Introduccin a los mtodos numricos para calcular los ceros reales de una funcin.1.2. Funciones de variable real1.3. Programa en Matlab para r1.4. Funciones resultantes de modelos matemticos1.5. Funcin polinmica 1.6. Funcin racional 1.7. Funcin exponencial 1.8. Funcin senoidal

    1.1. Introduccin. Existe una gran cantidad de problemas de aplicacin en ciencias e ingeniera que conducsolucin de una ecuacin o de un sistema de ecuaciones. En este mdulo trataremos las ecuaciones con una incgnita o una variable independiente, es decir, ecuaciones de la forma

    0)( =xf , donde )(xf es una funcin deecuacin corresponde al punto de corte de la grfica de la funcin con el eje de abscisas. Una funcin puede tener races en el campo de los nmeros complejos. Particularmente nos interesarn las races complejas de ecuaciones polinmicas. Supongamos que la figura 1.1 corresponde a la grfica de una funcin de variable real

    Como puede verse, la funcin es continua enLa primera raz est ubicada en el intervalo: teorema del valor intermedio establece que, s la func

    ],[ ba y 0)()(

  • Por ejemplo, 4142.1=kx es una raz aproximada de la ecuacin 51036.1

    1.2. Funciones elementales de variable real.Sea x una variable independiente que toma valores en un dominio funcin que depende de la variable independiposicin de una partcula en todo instante a partir del instante posicin, entonces )(tx es la variable dependiente y

    )(tx es una funcin ya que para un instante determinado se tiene una nica posicin.Normalmente una funcin se puede representar mediante una expresin matemtica, una tabla dvalores o mediante una grfica. Un procedimiento usual en ingeniera consiste en encontrar una expresin matemtica para una funcin a partir de una tabla de valores. Este y otros temas se estudiarn en el curso.

    Ejemplo 1.1 Consideremos un cuadrado de a) rea del cuadrado: )(xa =b) Permetro del cuadrado: pc) Longitud de la diagonal: d (

    Figura 1.2

    Comentarios. El rea es una funcin cuadrtica, mientras que el permetro y la diagonal son funciones lineales. El dominio de la funcin es el conjunto de los reales positivorepresentan grficamente las tres funciones en el dominio:

    1.3. Programa en Matlab para representar grficamente una funcin.Cuando se tiene una expresin matemtica para una funcin procedimiento para llevar a cabo la representacin grfica es el siguiente:1) Partir el intervalo en n subintervalos igualmente espaciados, es decir, tomar el tamao de paso:

    2) Generar el vector de abscisas Para 1=k hasta 1+n

    hkakX )1()( += Terminar

    3) Generar el vector de ordenadas

    es una raz aproximada de la ecuacin 22 x

    Funciones elementales de variable real. una variable independiente que toma valores en un dominio RD , y sea

    funcin que depende de la variable independiente. Por ejemplo, si nos interesa determinar la posicin de una partcula en todo instante a partir del instante 0=t y denotamos por

    es la variable dependiente y t es la variable independiente. La posicin es una funcin ya que para un instante determinado se tiene una nica posicin.

    Normalmente una funcin se puede representar mediante una expresin matemtica, una tabla dvalores o mediante una grfica. Un procedimiento usual en ingeniera consiste en encontrar una expresin matemtica para una funcin a partir de una tabla de valores. Este y otros temas se

    Consideremos un cuadrado de lado x y definamos las tres funciones siguientes:2x=

    xxp 4)( = xx 2)( =

    Figura 1.3 Figura 1.4

    El rea es una funcin cuadrtica, mientras que el permetro y la diagonal son funciones lineales. El dominio de la funcin es el conjunto de los reales positivos. En las figuras: 1.2, 1.3 y 1.4 se representan grficamente las tres funciones en el dominio: ]2,0[

    Programa en Matlab para representar grficamente una funcin.Cuando se tiene una expresin matemtica para una funcin )(xfy = en el intervalo procedimiento para llevar a cabo la representacin grfica es el siguiente:

    subintervalos igualmente espaciados, es decir, tomar el tamao de paso:

    nabh /)( =

    2) Generar el vector de abscisas X , as:

    3) Generar el vector de ordenadas Y , as:

    10

    0= , con un error de

    , y sea )(xfy = una ente. Por ejemplo, si nos interesa determinar la

    y denotamos por )(tx dicha es la variable independiente. La posicin

    es una funcin ya que para un instante determinado se tiene una nica posicin. Normalmente una funcin se puede representar mediante una expresin matemtica, una tabla de valores o mediante una grfica. Un procedimiento usual en ingeniera consiste en encontrar una expresin matemtica para una funcin a partir de una tabla de valores. Este y otros temas se

    y definamos las tres funciones siguientes:

    El rea es una funcin cuadrtica, mientras que el permetro y la diagonal son funciones lineales. s. En las figuras: 1.2, 1.3 y 1.4 se

    Programa en Matlab para representar grficamente una funcin. en el intervalo [ ]ba, , el

    subintervalos igualmente espaciados, es decir, tomar el tamao de paso:

  • 11

    Para 1=k hasta 1+n )(kXx =

    )()( xfkY = : Evaluar la funcin. Terminar

    4) Graficar XvsY

    Usando Matlab, el cdigo es el siguiente: %Programa para representar graficamente una funcion de una variable en el intervalo: [a,b], % con N subintervalos clearall % Entrada de la informacion a=input('Abscisa inicial= '); b=input('Abscisa final= '); N=input('numero de intervalos= '); h=(b-a)/N; f=input('entre la funcion f(x)= '); % Ahora generamos el vector de abscisas y el vector de ordenadas for i=1:N+1 X(i)=a+h*(i-1); x=X(i); Y(i)=eval(f); end % La tabla de valores es: [X' Y']; % La figura ilustra la grfica de la funcion plot(X,Y) Gridon

    Ejemplo 1.2. Usando el programa, represente grficamente la funcin 1)(4)cos()( += xsenxxxf , en el intervalo 50 x , con 10 subintervalos.

    Solucin. Se invoca el programa graf.m y se procede a suministrar la informacin, as: Abscisa inicial= 0 Abscisa final= 5 numero de intervalos= 10 entre la funcion f(x)= 'x*cos(x)+4*sin(x)-1' >> [X' Y']

    ans = 0-1.0000 0.50001.3565 1.00002.9062 1.50003.0961 2.00001.8049 2.5000-0.6090 3.0000-3.4055 3.5000-5.6807 4.0000-6.6418 4.5000-5.8587 5.0000-3.4174

  • 12

    La figura 1.5 muestra la grfica de la funcin. Observe que la grfica no es de buena calidad dado que solo se toman 10 subintervalos. La figura 1.6 corresponde a la misma funcin pero con 100 intervalos. Observe las diferencias. El estudiante puede constatar que la funcin tiene races reales en los intervalos [ ]1,0 y [ ]3,2

    Figura 1.5 Figura 1.6

    1.4. Funciones como modelos matemticos. Normalmente, las funciones resultan de modelos matemticos en aplicaciones de ingeniera y ciencias. A continuacin se presentan algunos ejemplos elementales.

    Ejemplo 1.3. Se tiene una lmina rectangular de dimensiones ba, . En cada esquina se recorta un cuadrado de lado x para formar una caja sin tapa. Determine el volumen y el rea total de la caja en funcin de: x

    Solucin. Por simple inspeccin, a partir de las figuras 1.7 y 1.8, se obtienen las funciones para el rea y el volumen de la caja, as:

    a) Volumen: )2)(2()( xbxaxxv = b) rea: 24)( xabxa =

    Figura 1.7 Figura 1.8

    Para ambas funciones, el dominio es el intervalo: ]2/,0[ a siempre que ba < . La figura 1.9 muestra la grfica de la funcin volumen, para: 6,4 == ba La grfica se obtiene corriendo el programa, as:

    >>graf Abscisa inicial= 0 Abscisa final= 2

  • 13

    numero de intervalos= 100 entre la funcion f(x)= 'x*(4-2*x)*(6-2*x)'

    Figura 1.9

    El rea es una funcin cuadrtica y el volumen es una funcin cbica; ambas funciones son casos especiales de las funciones polinmicas, funciones de importancia fundamental en ingeniera y ciencias. El estudiante puede constatar que la funcin volumen tiene un mximo local en el intervalo 16.0

  • 14

    %Programa para representar grficamente dos funciones de una variable en el intervalo: [a,b], % con N subintervalos clearall % Entrada de la informacion a=input('Abscisa inicial= '); b=input('Abscisa final= '); n=input('numero de intervalos= '); h=(b-a)/n; f=input('entre la funcion f(x)= '); g=input('entre la funcion g(x)= '); % Ahora generamos el vector de abscisas y los vectores de ordenadas for k=1:n+1 X(k)=a+h*(k-1); x=X(k); Y1(k)=eval(f); Y2(k)=eval(g); end

    % Las tablas de valores son: [X' Y1'] [X' Y2'] % La figura ilustra las graficas de las funciones plot(X,Y1) hold on plot(X,Y2,k) Gridon

    Ejecutamos el programa modificado, as: Abscisa inicial= 0 Abscisa final= 50 numero de intervalos= 500 entre la funcion f(x)= '1.015^x' entre la funcion g(x)= '1.018^x'

    Figura 1.10

    Usando la funcin logartmica, es decir, la inversa de una funcin exponencial, podemos determinar el nmero de meses necesarios para obtener una cantidad final deseada, as:

    0 5 10 15 20 25 30 35 40 45 501

    1.5

    2

    2.5r=1.5%r=1.8%

  • Por ejemplo, el tiempo necesario para que una cantidad se duplique a una tasa del 1.5% mensual es: 55.46=n meses, es decir, 46 meses y 17 utilizan muy a menudo en problemas de ingeniera econmica y dan cuenta del valor del dinero en el tiempo.

    Ejemplo 1.5 Consideremos un tringulo rectngulo con hipotenusa acuerdo con el teorema de Pitgoras, la medida de uno de los catetos est dada en funcin del otro, as:

    Es claro que la longitud de un cateto es menor que la de la hipotenusa, con lo que elfuncin es el intervalo x

  • 16

    Suponiendo los valores 2,1 == ba , se tiene:

    +=

    6arctan)( 2x

    xx

    Ejecutamos el programa graf.m, as:

    Abscisa inicial= 0 Abscisa final= 20 numero de intervalos= 200 entre la funcion f(x)= 'atan(x/(x^2+6))'

    Figura 1.13

    La figura 1.13 ilustra la grfica de la funcin para 1=a , 2=b en el dominio: 200 x

    1.5. Funciones Polinmicas Una funcin polinmica tiene la forma general:

    n

    n xaxaxaxaaxf +++++= ....)( 332210

    Dnde los coeficientes son nmeros reales en los casos de inters. La grfica de una funcin polinmica es una curva continua en el dominio de los reales, tal como se mostr en los dos primeros ejemplos de esta seccin. Las races reales de un polinomio son los cortes de la funcin con el eje de abscisas. La funcin polinmica de segundo grado tiene la forma general 2210)( xaxaaxf ++= , su representacin grfica es una parbola. Siempre es posible expresar la funcin cuadrtica como el producto de dos funciones lineales, as:

    ))(()( 212 rxrxaxf = .

    Donde: 21,rr son nmeros que pueden ser reales y distintos, reales e iguales o complejos conjugados y se obtienen aplicando la frmula general:

    0 2 4 6 8 10 12 14 16 18 200

    0.05

    0.1

    0.15

    0.2

    0.25

  • 1a

    r

    =

    Las figuras 1.14, 1.15 y 1.16 ilustran los diferentes casos.

    a) El discriminante de la ecuacin es positivo. En este caso las races son reales y diferentes: b) El discriminante de la ecuacin es cero. En este caso las races son rec) El discriminante de la ecuacin es negativo. En este caso las races son complejas conjugadas:

    jr =1 y jr +=2 . Observe que en este caso no hay cortes con el eje real.

    Figura 1.14 Figura 1.15 Figura 1.16

    La funcin polinmica de grado factores lineales y cuadrticos. En tal caso, siempre es posible deterfuncin polinmica. Ms adelante se estar en capacidad de factorizar cualquier polinomio usando un paquete de computador. La funcin polinmica nos servir para aproximar cualquier funcin de variable real.

    Races de un polinomio usando Matlab.Para hallar las races de un polinomio de cualquier grado, se introducen los coeficientes en un vector fila, as:

    Se invoca el comando (roots

    Ejemplo 1.7 Considere la funcin polinmica:

    a) Elabore una tabla de 6 valores en el intervalo: [b) Con base en la tabla de valores hallada, ubique las races reales de la ecuacin c) Usando el paquete, determine las races de la ecd) Determine los mximos y mnimos relativos de la funcin e) Represente grficamente la funcin en el intervalo: [

    Solucin. a) Hacemos la siguiente tabla de valores.

    X -2 Y 37

    2

    022

    11

    24

    a

    aaaa ,

    2

    022

    112 2

    4a

    aaaar

    +=

    Las figuras 1.14, 1.15 y 1.16 ilustran los diferentes casos.

    a) El discriminante de la ecuacin es positivo. En este caso las races son reales y diferentes: b) El discriminante de la ecuacin es cero. En este caso las races son reales e iguales: c) El discriminante de la ecuacin es negativo. En este caso las races son complejas conjugadas:

    . Observe que en este caso no hay cortes con el eje real.

    igura 1.14 Figura 1.15 Figura 1.16

    La funcin polinmica de grado n y coeficientes reales siempre se podr expresar mediante factores lineales y cuadrticos. En tal caso, siempre es posible determinar las: n races de la funcin polinmica. Ms adelante se estar en capacidad de factorizar cualquier polinomio usando un paquete de computador. La funcin polinmica nos servir para aproximar cualquier funcin de

    o usando Matlab. Para hallar las races de un polinomio de cualquier grado, se introducen los coeficientes en un

    [ ]0121 ...... aaaaap nn =

    )(p y se obtienen las races.

    n polinmica:

    322)( 234 += xxxxxf a) Elabore una tabla de 6 valores en el intervalo: [-2,3] b) Con base en la tabla de valores hallada, ubique las races reales de la ecuacin c) Usando el paquete, determine las races de la ecuacin. 0)( =xf . d) Determine los mximos y mnimos relativos de la funcin e) Represente grficamente la funcin en el intervalo: [-2,3]

    Hacemos la siguiente tabla de valores.

    -1 0 1 2 3 3 -3 -5 -3 27

    17

    a) El discriminante de la ecuacin es positivo. En este caso las races son reales y diferentes: 21,rr ales e iguales: rrr == 21

    c) El discriminante de la ecuacin es negativo. En este caso las races son complejas conjugadas: . Observe que en este caso no hay cortes con el eje real.

    igura 1.14 Figura 1.15 Figura 1.16

    y coeficientes reales siempre se podr expresar mediante minar las: n races de la

    funcin polinmica. Ms adelante se estar en capacidad de factorizar cualquier polinomio usando un paquete de computador. La funcin polinmica nos servir para aproximar cualquier funcin de

    Para hallar las races de un polinomio de cualquier grado, se introducen los coeficientes en un

    b) Con base en la tabla de valores hallada, ubique las races reales de la ecuacin 0)( =xf

    27

  • 18

    b) A partir de la tabla se observa que hay races reales en los intervalos: (-1,0) y (2,3)

    c) Para hallar las races usando Matlab, se procede de la siguiente manera:

    p = 1 -2 1 -2 -3 >>roots(p)

    ans = 2.2262 0.2485 + 1.3422i 0.2485 - 1.3422i -0.7233

    d) Para hallar los mximos y los mnimos encontramos la primera derivada de la funcin, as:

    2264)(' 23 += xxxxf

    Las races de la primera derivada se encuentran con el Matlab, obteniendo que hay un punto crtico en 398.1=x . Para saber si es de mxima o de mnima hallamos la segunda derivada, as:

    21212)('' 2 += xxxf

    La segunda derivada evaluada en el punto crtico es 677.8)398.1('' =f , por tanto, el punto es de mnima.

    e) Ejecutamos el programa, as: >>graf Abscisa inicial= -2 Abscisa final= 3 numero de intervalos= 100 entre la funcion f(x)= 'x^4-2*x^3+x^2-2*x-3'

    Figura 1.17

    -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3-10

    -5

    0

    5

    10

    15

    20

    25

    30

    35

    40

  • 19

    1.6. Funciones Racionales Una funcin racional es el cociente indicado de dos polinomios, as:

    )()()(

    xPxQ

    xf =

    La funcin racional se puede expresar en la siguiente forma:

    n

    n

    m

    m

    xaxaxaa

    xbxbxbbxf

    ++++

    ++++=

    .....

    .....)( 2210

    2210

    Despus de factorizar los polinomios, la funcin queda de la siguiente manera:

    )).....()(()).....()(()(

    21

    21

    n

    m

    pxpxpxzxzxzxKxf

    =

    Las races del numerador se denominan los ceros de la funcin y las del denominador son los polos de la funcin. En general, tanto los ceros como los polos son nmeros complejos. Geomtricamente, los ceros reales son los cortes de la funcin con el eje x, mientras que los polos reales son asntotas verticales de la funcin. El diagrama de polos y ceros es una grfica en el plano complejo de los polos y ceros de la funcin racional.

    Ejemplo 1.8 Considere la funcin racional:

    8634)( 2

    2

    +

    +=

    xx

    xxxf

    a) Factorice tanto el numerador como el denominador b) Represente grficamente la funcin en el intervalo [0,5]

    Solucin. a) El estudiante puede verificar que la funcin se puede expresar en su forma factorizada, as: b) ( )( )

    ( )( )4231)(

    =

    xx

    xxxf

    En consecuencia, la funcin tiene dos ceros reales y presenta asntotas en 2x = y 4x = b) Ejecutamos el programa, as: Abscisa inicial= 0 Abscisa final= 5 numero de intervalos= 513 entre la funcion f(x)= '(x^2-4*x+3)/(x^2-6*x+8)'

  • 20

    Figura 1.18

    Observe que la grfica muestra las asntotas verticales.

    1.6. Funcin exponencial En su forma ms simple, una funcin exponencial presenta la forma xexf =)( . Cuando la variable independiente es el tiempo, se acostumbra escribirla en la forma: /)( tetf = Siendo: la constante de tiempo de la funcin. La funcin exponencial puede ser creciente o decreciente y resulta al resolver una gran cantidad de problemas de ingeniera.

    Ejemplo 1.9 Un cuerpo que tiene inicialmente una temperatura: iT se introduce en un medio que tiene una temperatura fT . Se puede demostrar que la temperatura del cuerpo en todo instante: 0>t est dada por:

    /)()( tfif eTTTtT +=

    Represente grficamente la funcin en el intervalo 50 t , en los siguientes casos:

    a) 1= , 0=iT y 1=fT b) 1= , 1=iT y 0=fT Solucin. Ejecutamos el programa modificado, as: >> graf2 Abscisa inicial= 0 Abscisa final= 5 numero de intervalos= 100 entrelafuncion f(x)= '1-exp(-x)' entre la funcion g(x)= 'exp(-x)'

    0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-20

    -15

    -10

    -5

    0

    5

    10

    15

    20

  • 21

    Figura 1.19 1.6. Funcin senoidal. La sinusoide es una funcin cuya forma general, para la variable independiente tiempo, es la siguiente.

    )()( += tAsentf En la expresin anterior, tenemos: Amplitud de la sinusoide A . Tiene las unidades de la funcin. Frecuencia angular de la sinusoide . Se mide en radianes sobre segundo Fase de la sinusoide . Se mide en radianes. La figura 1.20 ilustra la grfica de la sinusoide )(5)( tsentf pi= , en el intervalo: [-3,3]

    Figura 1.20 EJERCICIOS 1.

    1) Considere la funcin: 188)( 24 += xxxf a) Determine las races de la ecuacin 0)( =xf b) Determine los puntos de mxima y de mnima. c) Represente grficamente la funcin.

    0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    11-exp(-x)exp(-x)

    -3 -2 -1 0 1 2 3-5

    -4

    -3

    -2

    -1

    0

    1

    2

    3

    4

    5

  • 22

    2) Considere la funcin: )9)(4()( 223

    =

    xx

    xxxf

    a) Escrbala en su forma factorizada b) Represente grficamente la funcin.

    3) Considere la funcin: x

    x

    e

    exf

    +

    =

    2)1(2)(

    a) Represente grficamente la funcin. b) Determine el valor de x para que la funcin sea igual a un medio.

    4) Considere la funcin: 0;)(10)( = xxsenexf x pi a) Determine el primer punto de mxima de la funcin. b) Represente grficamente la funcin.

    5) Represente grficamente las siguientes funciones: a) )()( xxsenxf = b) xexxf += )1()( c) 3)(2)( 2 = xsenxxf d) 4321)( xxxxxf ++= e) xexxxf += )cos()(

  • 23

    MDULO 2 RACES DE ECUACIONES. MTODOS CERRADOS

    Contenido En este mdulo se presentan los mtodos numricos cerrados ms comunes para hallar una raz real aproximada de una ecuacin de una variable. Los temas a desarrollar son los siguientes:

    2.1. Introduccin a los mtodos cerrados 2.2. El mtodo de biseccin. 2.3. El mtodo de la regla falsa

    2.1. Introduccin a los mtodos cerrados Supongamos que se desea encontrar el valor aproximado de una raz de la ecuacin: 0)( =xf en el intervalo ),( ba . La figura 2.1 ilustra la situacin planteada. De acuerdo con el teorema del valor intermedio, si la funcin es continua y uno a uno en el intervalo ],[ ba y se verifica que 0)()(

  • 24

    Cualquiera que sea el criterio de aproximacin, lo importante es generar el nmero adecuado de iteraciones. Se sugiere al estudiante que escriba un programa en cualquier lenguaje para aplicar el mtodo.

    Ejemplo 2.1 Considere la ecuacin: 0342 23 =++ xxx a) Muestre que la ecuacin tiene una raz real en el intervalo: [-4,-3] b) Encuentre una raz aproximada con diez iteraciones. c) Encuentre las otras dos races de la ecuacin.

    Solucin Evaluando la funcin en los extremos del intervalo, se tiene que 6)3(,13)4( == ff , es decir, hay un cambio de signo y por tanto se tiene una raz en el intervalo. Resolviendo el problema con la ayuda de la calculadora para generar las diferentes sucesiones, con el siguiente seudo cdigo:

    4=a , 3=b , 1=k , 001.0=tol , 10=M 1) 2/)( bax += 2) S tolxf

  • 25

    Figura 2.2

    La pendiente de la recta que une a los extremos del intervalo viene dada por ( ) ( )abafbfm = /)()( . La pendiente tambin se puede calcular como ( )axafm = 1/)( .

    Con base en lo anterior, se puede escribir: ( )

    )()()(

    1afbfabaf

    ax

    =

    El algoritmo para aplicar el mtodo es similar al de biseccin, con la nica diferencia que se cambia la instruccin: 2/)(1 bax += por la que se acaba de obtener. Para la siguiente iteracin, la raz est en el intervalo [ ]bx ,1 . En general se deben generar tres sucesiones }{},{},{ kkk xba , de tal manera que:

    ( ))()(

    )(kk

    kkkkk

    afbfabaf

    ax

    =

    Ejemplo 2.2 La siguiente tabla se genera usando el mtodo de la regla falsa para resolver la ecuacin del ejemplo anterior.

    k ka kb )( kaf )( kbf kx )( kxf kk ab 1 -4 -3 -13 6 -3.316 1.793 1 2 -4 -3.316 -13 1.793 -3.399 0.4331 0.684 3 -4 -3.399 -13 0.4331 -3.418 0.1059 0.602 4 -4 -3.418 -13 0.1059 -3.423 0.0188 0.572 5 -4 -3.423 -13 0.0188 -3.423 0.0013 0.576 6 -4 -3.424 -13 0.0013 -3.424

    La ventaja del mtodo es evidente pues se logra la misma aproximacin en slo cinco iteraciones. Hay situaciones, sin embargo, en el que la convergencia es ms lenta que en el mtodo de biseccin, tal es el caso de ecuaciones en las que la pendiente de la recta tangente a la curva en el intervalo es grande, es decir, f x' ( ) es grande en el intervalo. Se deja como ejercicio al estudiante elaborar un programa en Matlab para aplicar el mtodo.

    EJERCICIOS 2

    Mediante los mtodos de biseccin y regla falsa, encuentre una raz aproximada para cada una de las siguientes ecuaciones. Use aritmtica de cuatro dgitos y represente previamente cada funcin.

    1) 0633 =+ xx 2) 0338 =+ xx 3) 02)(22 =+ xsenx 4) 01 =+ xxe x 5) 02)arctan( =+ xx 6) 01)(4)cos( =+ xsenxx 7) 02)(2 =++ xsenxe x 8) 01)tan( = xx 9) 01)cos(2 =+ xxex x 10) 02)1(2 =++ xxarcsenx

  • 26

    MDULO 3 RACES DE ECUACIONES. MTODOS ABIERTOS

    Contenido En este mdulo se presenta el mtodo de iteracin de punto fijo y la tcnica SOR para hallar una raz real aproximada de una ecuacin de una variable. Los temas a desarrollar son los siguientes:

    3.1. Introduccin. 3.2. El mtodo de iteracin de punto fijo 3.3. Programa para iteracin de punto fijo 3.4. Iteracin de punto fijo como funcin 3.5. La tcnica SOR 3.6. Programa SOR

    3.1. Introduccin. A diferencia de los mtodos cerrados, los mtodos abiertos consisten en generar una sucesin a partir de una semilla inicial y no se requiere que la raz est encerrada en un intervalo determinado, aunque es deseable tomar dicha semilla en las inmediaciones de la solucin. Todos los mtodos abiertos se pueden formular mediante un valor inicial 1x y una frmula de recurrencia:

    ,...3,2,1;)(1 ==+ xxgx kk

    A pesar de que no se requiere que la semilla est encerrada en el intervalo, es conveniente partir de una semilla que se encuentre justamente en dicho intervalo.

    3.2. Mtodo de iteracin de punto fijo Se desea encontrar la raz de la ecuacin: 0)( =xf que est en el intervalo: ].,[ ba Supongamos que la ecuacin se puede escribir en la forma )(xgx = . Si Ex es la solucin exacta de la ecuacin, entonces se verifica que )( EE xgx = . Geomtricamente, la solucin ser el punto de corte de la recta: xy = y la curva )(xgy = , tal como se muestra en la figura 3.1

    Figura 3.1

    Supongamos que la funcin: )(xg es continua y posee, por lo menos, las dos primeras derivadas continuas, en un entorno del punto Ex . En tal caso, la funcin tendr un desarrollo en serie de potencias de la forma:

    2))((''21))((')()( EEEEE xxxgxxxgxgxg ++=

  • 27

    Al evaluar la funcin en el punto: 1x mostrado en la figura, se tiene: 2

    111 ))((''21))((')()( EEEEE xxxgxxxgxgxg ++=

    De la grfica se desprende que: EE xxg =)( y 21)( xxg = Con lo anterior, se tiene:

    2112 ))((''2

    1))((' EEEEE xxxgxxxgxx ++=

    Si se supone que 0)(' Exg y que 0)( 21 Exx , tenemos:

    ))((' 12 EEE xxxgxx

    La idea es que el valor 2x est ms cerca de la solucin exacta que 1x , es decir, debe verificarse que:

    11

    2 > puntofijo numero de iteraciones=40 limite inferior=-4 limite superior=-3

  • 30

    g(x)='-sqrt((4*x-3)/(x+2))' En la iteracin 36 se obtiene el resultado: Sol=-3.4141

    b) Ejecutamos el programa, as: >> puntofijo numero de iteraciones=10 limite inferior=-4 limite superior=-3 g(x)='-(2*x^2-4*x+3)^(1/3)'

    ans =

    -3.5000 -3.4622 -3.4432 -3.4337 -3.4289 -3.4265 -3.4253 -3.4247 -3.4244 -3.4242

    sol =

    -3.4242

    Puede verse que no se alcanz la convergencia. Si se ejecuta con 20 iteraciones, se tiene convergencia en la iteracin 13, con sol=-3.4141

    3.4. Iteracin de punto fijo como funcin. Para la aplicacin del mtodo de iteracin de punto fijo se puede generar una funcin en Matlab. Los argumentos de la funcin pueden ser:

    a) Valor inicial, valor final, la funcin g(x) y nmero de iteraciones b) Valor inicial, valor final, la funcin g(x) y tolerancia.

    a) La funcin ( )nxgbapfin ),(,, La funcin genera la solucin a partir de los argumentos. El cdigo Matlab es el siguiente: function raiz=pfin(a,b,g,n) % a=input('valor inicial= '); % b=input('valor final= '); % n=input('numero de iteraciones= '); % g=input('entre la funcion g(x)= '); y(1)=(a+b)/2; for k=1:n x=y(k); y(k+1)=eval(g); end r=y(n); disp('raiz= ') disp(r)

    Al ejecutar la funcin con los datos del ejemplo anterior, resulta:

  • 31

    > pfin(-4,-3,'-(2*x*x-4*x+3)^(1/3)',10) raiz= -3.4242 b) La funcin ( )tolxgbapfit ),(,,

    La funcin genera la solucin a partir de los argumentos. En este caso, en lugar del nmero de iteraciones se establece una tolerancia. El cdigo Matlab es el siguiente: function raiz=pfit(a,b,g,tol) % a=input('valor inicial= '); % b=input('valor final= '); % tol=input('tolerancia= '); % g=input('entre la funcion g(x)= '); y(1)=(a+b)/2; k=1; x=y(k); y(k+1)=eval(g); while abs(y(k+1)-y(k))>tol k=k+1; x=y(k); y(k+1)=eval(g); end r=y(k+1); disp('raiz= ') disp(r)

    Al ejecutar la funcin con los datos del ejemplo anterior, resulta:

    >> pfit(-4,-3,'-(2*x*x-4*x+3)^(1/3)',0.0001) raiz= -3.4242

    3.5. La tcnica SOR. Es una tcnica que permite acelerar la convergencia de una sucesin e, incluso, hacer converger a una sucesin divergente. A continuacin se presenta la fundamentacin matemtica del mtodo. Supongamos que la sucesin ( )kk xgx =+1 converge muy lentamente o diverge, es decir, que el valor absoluto de la recta secante es cercana a la unidad o mayor que la unidad. En tal caso se puede recomponer la funcin para generar una nueva sucesin ( )kk xGx =+1 . Supongamos que la ecuacin: )(xgx = tiene un punto fijo (solucin): Ex en el intervalo ),( ba y que no satisface la condicin de convergencia: 1)('

  • 32

    1)1(

  • 33

    7908.1)2(/(34(7908.0

    1)()(

    ++=

    =

    xxx

    m

    xgmxxG

    S ejecutamos el programa con la nueva funcin, resulta: >> punfijo numero de iteraciones=10 limite inferior=-4 limite superior=-3 g(x)='(0.7908*x-sqrt((4*x-3)/(x+2)))/1.7908' ans = -3.5000 -3.4255 -3.4241 -3.4241 -3.4241 -3.4241 -3.4241 -3.4241 -3.4241 -3.4241 -3.4241 sol = -3.4241

    Ejemplo 3.4 Considere la ecuacin 03423 =++ xxx , la cual tiene una raz en: [-4,-3]. Usando la tcnica SOR, determine la solucin para el caso:

    432)(

    23 ++==

    xxxgx

    Solucin. Calculando la pendiente, se encuentra que:

    75.543

    )4()3(=

    =

    ggm

    Evidentemente, puesto que el valor absoluto es mayor que la unidad, la sucesin es divergente. Si le aplicamos la tcnica SOR, haciendo 75.5=m se tiene:

    75.44

    3275.5

    1)()(

    23 ++

    =

    =

    xxx

    m

    xgmxxG

    S ejecutamos el programa con la nueva funcin, resulta: numero de iteraciones=10 limite inferior=-4 limite superior=-3 g(x)='(5.75*x-(x^3+2*x*x+3)/4)/4.75' xe = -3.5000 -3.4276 -3.4244 -3.4241 -3.4241 -3.4241 -3.4241 -3.4241 -3.4241 sol = -3.4241

    La nueva sucesin converge al cabo de cinco iteraciones.

  • 34

    3.6. Programa en Matlab para aplicar la tcnica SOR. El siguiente programa aplica, de manera que se invoca una de las funciones estudiadas previamente. El cdigo es el siguiente, usando la funcin pfin , es el siguiente: %Tecnica SOR n=input('numero de iteraciones= '); a=input('limite inferior= '); b=input('limite isuperior= '); g=input('entre g(x)= '); x=b; gb=eval(g); x=a; ga=eval(g); m=(gb-ga)/(b-a); c=m/(m-1); G=cat(2,'c*x+(1-c)*','(',g,')'); raiz=pfin(a,b,G,n,c) end

    Al ejecutar el programa con la funcin del ejemplo anterior, resulta: >> nsor numero de iteraciones= 10 limite inferior= -4 limite isuperior= -3 entre g(x)= '(x^3+2*x*x+3)/4' raiz= -3.4241

    EJERCICIOS

    1) Considere la ecuacin: 0633 =+ xx a) Represente grficamente en el intervalo [ ]2,1 b) Muestre que la ecuacin se puede expresar en la forma )3/(6 2 += xx , aplique la tcnica SOR y calcule la solucin.

    c) Muestre que la ecuacin se puede expresar en la forma x

    xx

    36 = , aplique la tcnica SOR y

    calcule la solucin. d) Muestre que la ecuacin se puede expresar en la forma 3 6 xx = , aplique la tcnica SOR y calcule la solucin. e) Muestre que la ecuacin se puede expresar en la forma 643 += xxx , aplique la tcnica SOR y calcule la solucin.

    2) Considere la ecuacin: 02)(22 =+ xsenx a) Represente grficamente en el intervalo [ ]1,3 b) Muestre que la ecuacin se puede expresar en la forma )(22 xsenx = , aplique la tcnica SOR y calcule la solucin. c) Muestre que la ecuacin se puede expresar en la forma 2)(22 ++= xsenxxx , aplique la tcnica SOR y calcule la solucin.

    3) Considere la ecuacin: 02)(22 =+ xsenx

  • 35

    a) Represente grficamente en el intervalo [ ]2,0 b) Muestre que la ecuacin se puede expresar en la forma )(22 xsenx = , aplique la tcnica SOR y calcule la solucin. c) Muestre que la ecuacin se puede expresar en la forma 2)(22 ++= xsenxxx , aplique la tcnica SOR y calcule la solucin.

    4) Considere la ecuacin: 01)(10 = xsene x a) Represente grficamente en el intervalo [ ]1,0 b) Muestre que la ecuacin se puede expresar en la forma ( )10/xearcsenx = , tome 5.01 =x y calcule la solucin por iteracin de punto fijo. c) Muestre que la ecuacin se puede expresar en la forma )(10 xsenxex x= , aplique la tcnica SOR y calcule la solucin.

    5) Considere la ecuacin: 0)2tan( = xx a) Represente grficamente en el intervalo [ ]5.1,1 b) Muestre que la ecuacin se puede expresar en la forma )2tan( xx = , aplique la tcnica SOR y calcule la solucin. c) Muestre que la ecuacin se puede expresar en la forma )arctan(2 xx = , aplique la tcnica SOR y calcule la solucin.

    6) Dada la ecuacin: 01)cos(2 = xxx a) Muestre que tiene una raz en el intervalo: [-1,0] b) Muestre que la ecuacin se puede escribir como: 1)cos( += xxx y resulvala.

    7) Dada la ecuacin: 02)cos(32 2 = xxxx a) Represente grficamente la funcin en el intervalo [ ]2,2 b) Determine la raz negativa al tomar 2)cos(32)( 2 == xxxxgx c) Determine la raz positiva al tomar 2)cos(32)( 2 == xxxxgx

    8) Dada la ecuacin: 0135 =+ xx a) Muestre que tiene una raz en el intervalo [ ]]1,0 b) Encuentre la solucin al expresar la ecuacin de 4 maneras diferentes de la forma )(xgx =

  • 36

    MDULO 4 RACES DE ECUACIONES. MTODOS ABIERTOS

    Contenido. En este mdulo se presentan los mtodos de Aitken, Newton y de la secante para hallar una raz real aproximada de una ecuacin de una variable. Adicionalmente se estudia un mtodo para resolver una ecuacin usando el comando fzero de Matlab. Los temas a desarrollar son los siguientes:

    4.1. El mtodo de Aitken para acelerar la convergencia de una sucesin. 4.2. El mtodo de Newton-Raphson 4.3. El mtodo de Newton mejorado 4.4. Programa para el mtodo de Newton 4.5. Mtodo de la secante 4.6. Solucin de una ecuacin usando fzero. 4.7. Races de polinomios.

    4.1. Mtodo de Aitken. Consideremos una sucesin: }{ kx que converge al valor Ex , de tal manera que se verifica:

    { } Ekx

    xx =

    lim

    Los errores absolutos cometidos en las iteraciones: k y 1+k vienen dados por:

    Ekk xx =

    Ekk xx = ++ 11

    La convergencia se garantiza s: k

    k

    1+ se mantiene menor que la unidad en la medida que k tiende

    a infinito. Tan importante que una sucesin sea convergente es la rapidez con que lo hace. Es pertinente la siguiente definicin:

    Una sucesin: }{ kx converge al valor: Ex con una rapidez de convergencia , si se verifica que:

    =

    +

    k

    kx

    1lim

    Donde: es la constante de error asinttico y es menor que la unidad. En la medida en que mayor sea , mayor es la rapidez de convergencia. Consideremos dos sucesiones: }{ kx y }{ ky que tienen el mismo error asinttico pero diferentes rapideces de convergencia. Ms concretamente, supongamos que la primera converge linealmente y la segunda lo hace cuadrticamente; as, si denotamos por k el error en la primera sucesin y por k' el error en la segunda, resulta:

    a)

    =

    +

    k

    kx

    1lim b)

    =

    +

    21

    '

    'limk

    kx

    Puede verse que: 1) 111232312 kk ==== +

  • 37

    2) kkkk 21214133223211 ''''''''1 ==== +

    Si en ambos casos el error inicial es la unidad y la tolerancia es la misma, se tiene que el nmero mnimo de iteraciones requeridas para obtener una misma aproximacin tol , es en cada caso: a) Para la convergencia lineal tolk , entonces:

    )log()log(

    tolk

    b) Para la convergencia cuadrtica tolk 12 , entonces:

    1)2log()log()log(log

    +

    tol

    k

    Comparando los resultados se tiene que para que la primera sucesin alcance una tolerancia determinada tol , el nmero de iteraciones debe ser:

    )log()log(

    1 tol

    n =

    De otro lado, el mnimo nmero de iteraciones en el segundo caso es significativamente menor y viene dado por:

    )2log()log( 1

    2n

    n

    Veamos ahora la manera de, a partir de una sucesin convergente linealmente, generar otra sucesin que sea ms rpidamente convergente.

    Supongamos que la sucesin: }{ kx converge linealmente, es decir

    =

    +

    k

    k

    k1lim

    , con la

    condicin 10

  • 38

    kkk

    kkkE

    xxx

    xxxx

    +

    ++

    +

    12

    21

    2)(

    Supongamos que se genera una nueva sucesin:

    kkk

    kkkk

    xxx

    xxxx

    +

    =

    ++

    +

    12

    21

    2)(

    '

    Para generar el primer trmino de la nueva sucesin se requieren tres trminos de la sucesin original. La idea es que la nueva sucesin sea ms rpidamente convergente, es decir, kk

  • 39

    Puede observarse que la nueva sucesin converge en la cuarta iteracin.

    4.2. Mtodo de Newton-Raphson Consideremos la ecuacin 0)( =xf , de tal manera que )(xf sea continua y posea todas sus derivadas en cada punto del intervalo ( )ba, . Si la ecuacin tiene una raz: Ex en el intervalo y kx pertenece al intervalo, entonces podemos encontrar un desarrollo en series de potencias en un entorno de kx as:

    n

    kkn

    kkkkk xxxfn

    xxxfxxxfxfxf ))((!

    1.....))((''

    !21))((')()( )(2 ++++=

    Si la primera derivada de la funcin es diferente de cero en el punto considerado, podemos efectuar una aproximacin lineal de la funcin, tal como lo muestra la figura 4.1

    Figura 4.1

    ))((')()( kkk xxxfxfxf +

    La recta de aproximacin corta al eje de abscisas en el punto 1+kx , el cual se obtiene de la siguiente manera:

    )(')(

    1k

    kkk

    xfxf

    xx =+

    De tal forma que, si se empieza con una semilla 1x se genera una sucesin rpidamente convergente a la solucin.

    Ejemplo 4.2 Considere la ecuacin: 0342)( 23 =++= xxxxf a) Represente grficamente la funcin. b) Muestre que tiene una raz en el intervalo: [-4,-3] c) Usando el mtodo de Newton-Raphson, encuentre un valor aproximado de la raz usando aritmtica de cuatro dgitos.

    Solucin. Usando el programa graficador, hacemos la grfica de la figura 4.2 en la que se observa la posicin de la raz.

  • 40

    Figura 4.2 Para encontrar la solucin aproximada, le aplicamos el mtodo y llenamos la siguiente tabla.

    k kx )( kxf )(' kxf )('/)( kk xfxf 1 -4 -13 28 -0.4643 2 -3.5357 -2.0555 19.3610 -0.1062 3 -3.4295 -0.0958 17.5672 -0.0055 4 -3.4241 -0.0002 17.4768 -1.4E-5

    Se aconseja tomar la semilla en las inmediaciones de la raz, ya que una semilla mal tomada puede conducir a que la sucesin sea divergente.

    Rapidez de convergencia Tal como se aprecia en el ejemplo anterior, el mtodo de Newton-Raphson converge rpidamente a la solucin. Demostraremos que la convergencia es cuadrtica, es decir, que se cumple que:

    =

    +

    21lim

    k

    kk

    Partamos de la frmula de recurrencia:

    )(')(

    1k

    kkk

    xfxf

    xx +

    Ahora bien, cuando se hace una aproximacin lineal de una funcin, se comete un error que es proporcional a la segunda derivada de la funcin, as:

    2)(!2

    )(''))((')()( EEEE xxf

    xxxfxfxf ++=

    El ltimo trmino es el error cometido. Al evaluar la primera derivada de la funcin, a partir de la serie, se tiene:

    ))(('')(')(' EE xxfxfxf +=

    Evaluando la derivada en el punto kx tenemos:

    ))(('')(')(' EkEEk xxxfxfxf +=

    -4 -3 -2 -1 0 1 2-15

    -10

    -5

    0

    5

    10

    15

  • 41

    Restando Ex en ambos miembros de la ecuacin de recurrencia, se obtiene:

    )(')(

    1k

    kEkEk

    xfxf

    xxxx +

    De todo lo anterior se tiene:

    kE

    kkEE

    kk fxf

    fxfxf

    )('')('

    2)('')(')( 2

    1+

    ++=+

    Alternativamente, la expresin anterior se puede escribir como:

    [ ]kEkk

    fxff

    )('')('2)(''

    21

    +=

    +

    Al analizar la expresin encontrada se observan dos posibilidades, as: 1. 0)(' Exf . En este caso la convergencia es cuadrtica.

    ==

    +

    )('2)(''lim 21

    E

    E

    k

    kk xf

    xf

    2. 0)(' =Exf .En este caso la convergencia es lineal.

    ==

    +

    21lim 1

    k

    kk

    4.3. Mtodo de Newton mejorado Cuando la convergencia es lineal se acostumbra acelerar la convergencia usando la tcnica de Aitken o el mtodo de Newton mejorado. El mtodo de Newton mejorado consiste en resolver la ecuacin:

    0)( =xu , siendo )(')()(

    xfxf

    xu =

    Puesto que las races de )(xu son las mismas races de )(xf le aplicamos el mtodo de Newton-Raphson a la primera ecuacin, as:

    [ ] )('')()(')(')(

    )(')(

    21kkk

    kkk

    k

    kkk

    xfxfxfxfxf

    xxu

    xuxx

    ==+

    El inconveniente que presenta el mtodo es el de que es necesario evaluar la segunda derivada de la funcin.

    Ejemplo 4.3 Usando el mtodo de Newton-Raphson y el mtodo de Newton mejorado, encuentre una raz negativa para la ecuacin: 018755649)( 23 == xxxxf Primero que todo ubicamos la raz, la cual est en el intervalo: [-2,-1]

  • 42

    a) Usando el mtodo de Newton-Raphson, se encuentra la siguiente tabla, con cuatro dgitos significativos. Tomando como semilla: 11 =x

    75112147)(' 2 = xxxf

    k kx )( kxf )(' kxf )('/)( kk xfxf

    1 -1 -48 184 -0.2649 2 -0.7351 -12.5925 86.7659 -0.1451 3 -0.5900 -3.3072 42.2507 -0.0783 4 -0.5117 -0.8505 20.8004 -0.0409 5 -0.4708 -0.2159 10.3125 -0.0209 6 -0.4499 -0.0546 5.1431 -0.0106 7 -0.4393 -0.0138 2.5703 -0.0053 8 -0.434 -0.0035 1.293 -0.0027 9 -0.4313 -0.0009 0.6505 -0.0014 10 -0.4299 -0.0002 0.3252 -0.0007 11 -0.4299

    b) Para aplicar el mtodo de Newton mejorado se requiere de la segunda derivada, as: 112294)('' = xxf

    Empezamos con la misma semilla

    k kx )( kxu )(' kxu )('/)( kk xuxu )( kxf 1 -1.0 -0.2609 0.0.4244 -0.6147 -48 2 -0.3853 0.0218 0.5093 0.0429 -0.2188 3 -0.4282 0.0020 0.5001 0.0040 -0.0002 4 -0.4286 0 0.5 0 0

    En s mismos, los resultados son bastante claros. En el caso que nos ocupa, la ecuacin tiene una

    raz doble en 4286.074

    =x es decir, el mtodo de Newton mejorado no slo converge ms rpidamente, sino que proporciona un valor ms exacto

    4.4. Programa para el mtodo de Newton.

    clear all tol=input('tolerancia= '); a=input('limite inferior= '); b=input('limite isuperior= '); f=input('entre f(x)= '); Df=input('entre Df(x)= '); y(1)=(a+b)/2; k=1; x=y(k); y(k+1)=y(k)-eval(f)/eval(Df); while abs(y(k+1)-y(k))>tol k=k+1; x=y(k); y(k+1)=y(k)-eval(f)/eval(Df); end

  • 43

    r=y(k+1); disp('raiz= ') raiz=r

    Ejecutando el programa para la ecuacin del ejemplo 4.2, se tiene: >> newt tolerancia= 0.0001 limite inferior= -4 limite isuperior= -3 entre f(x)= 'x^3+2*x^2-4*x+3' entre Df(x)= '3*x*x+4*x-4' raiz= -3.4241 A continuacin se presenta una funcin para aplicar el mtodo de Newton. Los argumentos de la funcin vienen a ser: la semilla, la funcin, la derivada de la funcin y la tolerancia.

    function Raiz=newf(X,f,Df,tol) % s=input('semilla= '); % tol=input('tolerancia= '); % f=input('entre la funcion f(x)= '); % Df=input('entre la derivada de la funcion Df(x)= '); y(1)=X; k=1; x=y(k); y(k+1)=y(k)-eval(f)/eval(Df); while abs(y(k+1)-y(k))>tol k=k+1; x=y(k); y(k+1)=y(k)-eval(f)/eval(Df); end r=y(k+1); Raiz=r;

    Al ejecutar la funcin, con los datos del ejemplo anterior, resulta: newf(-3.5,'x^3+2*x^2-4*x+3','3*x*x+4*x-4',0.0001) ans =-3.4241

    4.5. Mtodo de la secante Tal como se mencion previamente, el mtodo de Newton-Raphson requiere de la evaluacin de la primera derivada de la funcin para generar la sucesin. Pueden presentarse ecuaciones para las cuales no sea muy conveniente, desde el punto de vista operativo, el clculo de la primera derivada. Una alternativa interesante es el mtodo de la secante que consiste en modificar el mtodo de Newton cambiando la pendiente de la recta tangente: )(' kxf por la pendiente de la recta secante en el intervalo ],[ 1+kk xx . Como se puede ver, ahora se requiere de dos semillas:

    10 , xx .Con base en lo anterior, la sucesin a generar es la siguiente:

    1

    112

    )(+

    +++ =

    k

    kkk

    m

    xfxx , siendo

    kk

    kkk

    xx

    xfxfm

    =

    +

    ++

    1

    11

    )()(

    Ejemplo 4.4 Encuentre una raz aproximada en el intervalo: [0,1] para la siguiente ecuacin, usando aritmtica de cuatro dgitos:

  • 44

    03)(2 =+ xxexsenx

    Si tomamos como semillas 1,0 21 == xx , llenamos la siguiente tabla:

    k kx )( kxf km kk mxf /)( 1 0 -3 xxxxx xxxxx 2 1 0.5598 3.5598 0.1573 3 0.8428 -0.5126 6.8219 -0.0751 4 0.9179 -0.0323 6.3955 -0.0051 5 0.9230

    En el ejemplo anterior no hubo necesidad de calcular la primera derivada de la funcin. Si se quisiera aplicar el mtodo de Newton-Raphson hubiera sido necesario encontrar )(' xf as:

    xx exexxsenxxxf +++= )(2)cos()(' 2

    Se sugiere al estudiante que le aplique el mtodo de Newton-Raphson a la ecuacin del ejemplo anterior y que compare los resultados.

    4.6. Races usando fzero. El paquete Matlab posee una funcin que permite encontrar un cero de la misma. La informacin a suministrar consta de la funcin y de la semilla. La sintaxis de la funcin es:

    Fzero(funcin,semilla) Ejemplo 4.5 Encuentre una raz aproximada en el intervalo: [0,1] para la siguiente ecuacin, usando fzero.

    03)(2 =+ xxexsenx

    Solucin. Tomaremos dos semillas, as:

    a) Semilla1: x=0 >> fzero('x^2*sin(x)+x*exp(x)-3',0)

    ans =

    0.9227

    a) Semilla2: x=1 >> fzero('x^2*sin(x)+x*exp(x)-3',1)

    ans =

    0.9227

    Puede verse que se llega al mismo resultado.

    4.7. Ceros de polinomios. El estudiante debe estar familiarizado con los polinomios en una variable y coeficientes reales, as:

    012

    21

    1 ...)( axaxaxaxaxP nnnn +++++=

  • 45

    Con base en el teorema fundamental del lgebra se demuestra que el polinomio tiene exactamente n ceros en el campo de los complejos. Particularmente, los ceros complejos de un polinomio de coeficientes reales viene en parejas conjugadas. Los ceros de un polinomio de segundo grado se encuentran aplicando la frmula del bachiller. Si bien hay frmulas para calcular los ceros de polinomios de tercero y cuarto grado, lo que se hace es aplicar mtodos numricos para encontrar ceros aproximados. Existen varios mtodos para calcular ceros de polinomios, entre los que cabe mencionar: Mtodo de Lin, Mtodo de Bairtow, Mtodo de Muller, Mtodo de Horner. En este trabajo se presentar solamente la funcin roots de Matlab para calcular las races. La funcin puede usarse tambin para calcular los ceros de polinomios de coeficientes complejos. Para encontrar las races del polinomio 01

    22

    11 ...)( axaxaxaxaxP nnnn +++++= se genera un

    vector de coeficientes [ ]0121 ,,,..., aaaaap nn = y luego se ejecuta roots(p). Ms adelante, en el mdulo 7 se presentar el mtodo de Newton para hallar las races de un polinomio.

    Ejemplo 4.7. Determine todas las races del polinomio del ejemplo 4.2.

    Solucin. El polinomio es 342)( 23 ++= xxxxf Procediendo con Matlab, se tiene: >> p=[1 2 -4 3]

    p =

    1 2 -4 3 >> roots(p)

    ans =

    -3.4241 0.7120 + 0.6076i 0.7120 - 0.6076i

    Ejemplo 4.8. Determine las races del polinomio 542)( 35 += xxxxf

    Solucin. Procediendo con Matlab, se tiene: >> p=[1 0 -2 0 4 -5]

    p =

    1 0 -2 0 4 -5

    >> roots(p)

    ans =

    -1.4234 + 0.8394i -1.4234 - 0.8394i 1.3538 0.7465 + 0.8918i 0.7465 - 0.8918i

  • 46

    EJERCICIOS

    Mediante los mtodos de Newton, secante y fzero, encuentre una raz aproximada para cada una de las siguientes ecuaciones. Use aritmtica de cuatro dgitos.

    1) 0633 =+ xx 2) 0338 =+ xx 3) 02)(22 =+ xsenx 4) 01 =+ xxe x 5) 02)arctan( =+ xx

    6) Dada la ecuacin: 01)cos(2 = xxx a) Muestre que tiene una raz en el intervalo: [-1,0] b) Resuelva la ecuacin por los mtodos de Newton y secante

    7) Verifique que las siguientes sucesiones son convergentes y acelere su convergencia usando el mtodo de Aitken

    a)k

    kk

    x

    xsenx

    +

    +=+ 1

    )(10101

    b) 21

    2

    2

    1+

    +=+

    k

    kk

    x

    xx

    Usando los mtodos de Newton-Raphson, secante y fzero, encuentre una raz real para cada una de las siguientes ecuaciones:

    8) 063 =+ xx 9) 02)(22 =+ xsenx 10) 01 =+ xxe x 11) 02)tan( =+ xax 12) 0337 =+ xx 13) 942584249 234 ++++ xxxx 14) 4839 234 ++ xxxx 15) 01)(sec2)tan( 22 =+ xxxx 16) 03)ln(2 =+ xexx

    Usando roots, determine las races de los siguientes polinomios

    17) ( )5105315231161 246

    + xxx

    18) 0337 =+ xx 19) 942584249 234 ++++ xxxx 20) 4839 234 ++ xxxx

  • 47

    MDULO 5 SISTEMAS DE ECUACIONES LINEALES

    Contenido En este mdulo se presentan, muy resumidamente, los mtodos directos de solucin de un sistema lineal de ecuaciones. Los temas a desarrollar son los siguientes:

    5.1. Introduccin a los sistemas lineales 5.2. Eliminacin Gaussiana 5.3. La regla de Kramer 5.4. Mtodo de la inversa 5.5. Sistemas tridiagonales 5.6. Programa para sistemas tridiagonales

    5.1. Introduccin. Un sistema de n ecuaciones lineales con n incgnitas presenta la forma general:

    11313212111 ..... bxaxaxaxa nn =++++

    22323222121 ..... bxaxaxaxa nn =++++

    33333232131 ..... bxaxaxaxa nn =++++ . . . . .

    . . . . .

    . . . . .

    . . . . .

    nnnnnnn bxaxaxaxa =++++ .....332211

    En forma matricial, el sistema se puede escribir en la forma bAx = , siendo A la matriz de los coeficientes, b el vector de trminos independientes y x el vector solucin. Para un sistema de orden cuatro, tenemos:

    =

    44434241

    34333231

    24232221

    14131211

    aaaa

    aaaa

    aaaa

    aaaa

    A

    =

    4

    3

    2

    1

    bbbb

    b

    =

    4

    3

    2

    1

    x

    x

    x

    x

    x

    5.2. Eliminacin Gaussiana El mtodo consiste en convertir el sistema original en otro sistema equivalente de tipo triangular, mediante operaciones aritmticas sobre la matriz aumentada. La matriz aumentada es una matriz con n filas y n+1 columnas, es decir, est formada por la matriz de los coeficientes y por el vector de los trminos independientes. Para el sistema de orden dos, la matriz aumentada y la correspondiente matriz triangular son las siguientes:

    2

    1

    2221

    1211

    bb

    aa

    aa

    2

    112

    '

    '

    10'1

    bba

    Para un sistema de orden cuatro, la matriz aumentada y la matriz triangular, vienen dadas por:

  • 48

    4

    3

    2

    1

    44434241

    34333231

    24232221

    14131211

    bbbb

    aaaa

    aaaa

    aaaa

    aaaa

    4

    3

    2

    1

    34

    2423

    141312

    '

    '

    '

    '

    1000'100''10'''1

    bbbb

    a

    aa

    aaa

    Para el sistema de segundo orden, mediante el procedimiento de sustitucin hacia atrs, se tiene:

    22 'bx = 21211 '' xabx =

    Para el sistema de orden cuatro, mediante el procedimiento de sustitucin hacia atrs, se tiene:

    44 'bx = , 43433 '' xabx = ,

    32342422 ''' xaxabx =

    21231341411 '''' xaxaxabx =

    En el proceso de encontrar la matriz triangular se hacen operaciones entre filas, tales como combinaciones lineales entre filas, cuidando que no aparezcan ceros sobre la diagonal. Cuando ocurra un cero en la diagonal se procede a intercambiar la fila correspondiente por otra en la que el pivote sea diferente de cero.

    Ejemplo 5.1 Para el siguiente sistema, encuentre la matriz triangular asociada y la solucin.

    1234323

    5432

    =+

    =+

    =++

    zyxzyx

    zyx

    Solucin. A continuacin se muestra la matriz aumentada y la que se obtiene al dividir cada fila por el coeficiente de la primera variable.

    135

    234123

    432

    4/11

    2/5

    2/14/313/13/21

    22/31

    Si a las filas dos y tres le restamos la primera, obtenemos:

    4/92/3

    2/5

    2/34/903/76/50

    22/31

    Modificando las ecuaciones dos y tres, tenemos:

  • 49

    15/92/5

    3/2105/1410

    22/31

    5/45/92/5

    15/32005/1410

    22/31

    Finalmente, la matriz triangular es la siguiente:

    8/35/92/5

    1005/1410

    22/31

    Por el procedimiento de sustitucin hacia atrs, se encuentra que:

    8/54/38/3 === xyz

    Al resolver un sistema por el mtodo de eliminacin Gaussiana pueden ocurrir tres posibles situaciones, a saber: a) El sistema tiene solucin nica, tal como ocurri en el ejemplo anterior. b) El sistema tiene infinitas soluciones, esto ocurre cuando las ecuaciones son linealmente dependientes y se pone en evidencia cuando al encontrar la matriz triangular aparece una identidad: 00 = c) El sistema no tiene solucin, esto ocurre cuando al encontrar la matriz triangular aparece una contradiccin 00 = numero .

    Ejemplo 5.2 Resuelva los siguientes sistemas de ecuaciones:

    66662312432

    =+

    =+

    =+

    zyxzyx

    zyx

    2) 86662312432

    =+

    =+

    =+

    zyxzyx

    zyx

    Solucin. Procediendo de manera simultnea, tenemos:

    66

    12

    661231432

    86

    12

    661231432

    666

    66123122/31

    866

    66123122/31

  • 50

    666

    66123122/31

    866

    66123122/31

    006

    42/9042/9022/31

    206

    42/9042/9022/31

    006

    9/8109/810

    22/31

    9/406

    9/8109/810

    22/31

    Claramente se observa que el primer sistema tiene infinitas soluciones y el segundo no tiene solucin. La mayora de los textos de lgebra lineal presentan los algoritmos de solucin de los sistemas lineales en diferentes lenguajes de programacin.

    5.3. Regla de Kramer El mtodo consiste en que cada una de las incgnitas se calcula como el cociente de dos determinantes, as: Dado el sistema de ecuaciones bAx = , la variable: kx se calcula como:

    AA

    xk

    k =

    Dnde: A es el determinante de la matriz del sistema y kA es el determinante de la matriz que resulta de reemplazar la columna k por el vector de trminos independientes. Al aplicar la regla de Kramer aparecen tres posibles situaciones, a saber:

    a) 0A . En este caso el sistema tiene solucin nica. b) 0=A y para todo k se verifica que 0=kA . En este caso el sistema tiene infinitas soluciones. c) 0=A y existe al menos un valor de k tal que 0kA . En este caso el sistema no tiene solucin. Para un sistema de orden tres, se tiene:

    3133132131

    2123122121

    1113212111

    bxaxaxabxaxaxabxaxaxa

    =++

    =++

    =++

    =

    333231

    232221

    131211

    aaa

    aaa

    aaa

    A

  • 51

    =

    33323

    23222

    13121

    1

    aabaabaab

    A

    =

    33331

    23221

    13111

    2

    abaabaaba

    A

    =

    33231

    22221

    11211

    3

    baabaabaa

    A

    Normalmente se usa el mtodo de los cofactores para hallar los determinantes. Aqu usaremos el paquete Matlab para hallar los valores de los determinantes.

    Ejemplo 5.3 Resuelva los siguientes sistemas de ecuaciones, usando la regla de Kramer.

    1)

    =+

    =+

    =++

    =+++

    222263223

    122363332

    wzyxwzyx

    zwyxwzyx

    2) 0

    802463223

    122363332

    =+

    =+

    =++

    =+++

    wzyxwzyx

    zwyxwzyx

    3)

    =+

    =+

    =++

    =+++

    2802463223

    122363332

    wzyxwzyx

    zwyxwzyx

    Solucin. Para el primer sistema, tenemos:

    =

    222132232131

    3332

    A

    Usando el paquete se encuentra que el determinante del sistema es 106=A , con lo que el sistema tiene solucin nica. En este caso, la solucin es:

  • 52

    3585.52642.47925.23585.7 wzyx

    Para el segundo sistema tenemos:

    =

    802432232131

    3332

    A

    Usando el paquete se encuentra que todos los determinantes son iguales a cero y por tanto el sistema tiene infinitas soluciones. Para el tercer sistema el estudiante puede verificar que no tiene solucin.

    5.4. Mtodo de la inversa Es el mtodo que se usa ms a menudo, siempre y cuando se tenga un algoritmo simple para hallar la inversa de la matriz del sistema. Dado el sistema de ecuaciones bAx = , la solucin viene dada por bAx 1= , siempre que la matriz del sistema sea no singular, es decir, la inversa exista. En lgebra lineal se estudia que una matriz es singular si su determinante es igual a cero. La ventaja del mtodo es que basta con tener la inversa de la matriz y multiplicarla por cualquier vector de trminos independientes.

    Ejemplo 5.4. Resuelva el sistema de ecuaciones: bAx =

    =

    321542123

    A

    =

    213

    b

    Solucin. Con la ayuda del paquete encontramos que 4=A , con lo que la inversa existe y est dada por:

    =

    21025.45.225.05.325.0

    1A

    Con base en lo anterior, la solucin es:

    =

    =

    375.65.6

    213

    21025.45.225.05.325.0

    x

    Para resolver un sistema usando Matlab, se genera el siguiente cdigo:

    >> A=[3 2 -1;2 4 5;1 2 3]; >> b=[3;1;2]; >> x=inv(A)*b; >> x x =

  • 53

    6.5000 -6.7500 3.0000

    5.5. Sistemas tridiagonales Un sistema de ecuaciones: bAx = es de tipo tridiagonal s la matriz del sistema: A presenta elementos significativos sobre la diagonal principal y las dos adyacentes, es decir, por fuera de las tres diagonales mencionadas, cada elemento es igual a cero. El siguiente sistema de orden cuatro es tridiagonal.

    =

    4

    3

    2

    1

    4

    3

    2

    1

    4443

    343332

    232221

    1211

    000

    000

    bbbb

    x

    x

    x

    x

    aa

    aaa

    aaa

    aa

    Puede verse que de los 16 elementos de la matriz, seis son iguales a cero. En general, un sistema tridiagonal de orden n tiene: )2)(1( nn elementos iguales a cero, para: 3n Lo anterior significa que si se tiene un sistema de orden diez, el nmero de datos significativos es

    2823 =n . Para resolver un sistema tridiagonal es conveniente usar un algoritmo que evite el innecesario almacenamiento de los datos no significativos. A continuacin presento un mtodo que cumple con lo planteado previamente. Supongamos que el sistema es de orden n y por tanto tiene

    23 n elementos significativos que se almacenan en un vector v , as:

    [ ]mm vvvvvvv 14321 ...... = Dnde: 23 = nm

    Los elementos del arreglo v son:

    111 av = 122 av = 213 av = 224 av = .. nnm av =

    Supongamos que tenemos un sistema tridiagonal de orden cinco, de tal manera que la matriz aumentada es la siguiente:

    5

    4

    3

    2

    1

    5554

    454443

    343332

    232221

    1211

    00000

    0000000

    bbbbb

    aa

    aaa

    aaa

    aaa

    aa

    5

    4

    3

    2

    1

    1312

    11109

    876

    543

    21

    00000

    0000000

    bbbbb

    vv

    vvv

    vvv

    vvv

    vv

    El algoritmo de solucin consiste en encontrar ceros por debajo de la diagonal principal y unos sobre la diagonal, as:

  • 54

    5

    4

    3

    2

    1

    11

    8

    5

    2

    '

    '

    '

    '

    '

    10000'10000'10000'10000'1

    bbbbb

    v

    v

    v

    v

    A continuacin se muestra una rutina en Matlab para resolver un sistema tridiagonal de orden mayor que tres. En general, el cdigo para resolver el sistema es el siguiente: Entrada de datos:

    niibntesindependieosterelementoslosEntreniivmatrizladeelementoslosEntre

    ordenn

    :1),(:min23:1),(:

    =

    =

    =

    Clculos a realizar: 23 = nm

    x

    endkvixibix

    iknifornbnx

    mv

    mv

    mvnbnbmvmvmvmv

    mvnbnbnbEnd

    kvkvkvkv

    kvibibkv

    kvkvkvkvkbibibib

    iknifor

    v

    vvv

    vbb

    )()1()()(13

    1:1:1)()(0)1(

    1)()(/)()(

    )2()1()()()1()1()()(

    1)()(/)1()1(

    )(/)()(0)1(

    )2()1()()()1()1()()(

    231:2

    1)1()1(/)2()2(

    )1(/)1()1(

    +=

    =

    =

    =

    =

    =

    =

    =

    =

    =

    +=+

    =

    =

    =

    =

    =

    =

    =

    =

    =

    A continuacin se muestra un programa en Matlab para resolver un sistema tridiagonal.

  • 55

    5.6. Programa para resolver sistemas tridiagonales. clear all %Programa para resolver sistemas tridiagonales, es decir, sistemas de la forma: %a(1,1)x(1)+a(1,2)x(2)+0x(3)+0x(4)+0x(5)+...+0x(n-2)+0x(n-1)+0x(n)=b(1) %a(2,1)x(1)+a(2,2)x(2)+a(2,3)x(3)+0x(4)+0x(5)+...+0x(n-2)+0x(n-1)+0x(n)=b(2) %0x(1)+a(3,2)x(2)+a(3,3)x(3)+a(3,4)x(4)+0x(5)+...+0x(n-2)+0x(n-1)+0x(n)=b(3) %0x(1)+0x(2)+a(4,3)x(3)+a(4,4)x(4)+a(4,5)x(5)+...+0x(n-2)+0x(n-1)+0x(n)=b(4) %0x(1)+0x(2)+0x(3)+..+0x(n-3)+a(n-1,n-2)x(n-2)+a(n-1,n-1)x(n-1)+a(n-1,n)x(n)=b(n-1) %0x(1)+0x(2)+0x(3)+..+0x(n-3)+0x(n-2)+a(n,n-1)x(n-1)+a(n,n)x(n)=b(n) % El algoritmo consiste en colocar los terminos significativos en un vector %de dimension:m=3n-2,asi: %v=[v(1),v(2),v(3),....,v(m)] %El programa es el siguiente: %Entrada de datos n=input('orden del sistema = '); m=3*n-2; v=input('entre el vector fila v='); b=input('entre el vector columna b='); b(1)=b(1)/v(1); v(2)=v(2)/v(1); v(1)=1; for i=2:n-1 k=3*i-2; b(i)=b(i)-v(k-1)*b(i-1); v(k)=v(k)-v(k-1)*v(k-2); v(k-1)=0; b(i)=b(i)/v(k); v(k+1)=v(k+1)/v(k); v(k)=1; end b(n)=b(n)-b(n-1)*v(3*n-3); v(3*n-2)=v(3*n-2)-v(3*n-3)*v(3*n-4); b(n)=b(n)/v(3*n-2); v(3*n-2)=1; v(3*n-3)=0; x(n)=b(n); for i=n-1:-1:1 k=3*i-1; x(i)=b(i)-x(i+1)*v(k); end x

    Ejemplo 5.5. Resuelva el sistema tridiagonal:

    820

    5321245232

    32

    65

    654

    543

    432

    321

    21

    =

    =+

    =+

    =++

    =+

    =+

    xx

    xxx

    xxx

    xxx

    xxx

    xx

  • 56

    A continuacin se muestra la matriz aumentada y el vector: v.

    805153

    210000111000

    013200002410000232000021

    [ ]2111113224123221 =v

    Al ejecutar el programa, se tiene: >> tridiagonal orden del sistema = 6 entre el vector fila v=[1 2 2 3 -2 1 4 2 2 -3 1 1 1 -1 1 -2] entre el vector columna b=[3;5;1;5;0;8] >> x x = 8.4286 -2.7143 1.8571 -1.8571 -4.2857 -6.1429

    Se puede generar una funcin, usando Matlab, para resolver el sistema tridiagonal. La funcin ser de mucha utilidad al resolver problemas con valor en la frontera por el mtodo de las diferencias divididas. La funcin, a la que llamaremos functrid, presenta tres argumentos, as:

    ( )bvnfunctrid ,, :

    :

    :

    n ordenv vector del sistemab vector deter indep

    function [x]=functrid(n,v,b) m=3*n-2; b(1)=b(1)/v(1); v(2)=v(2)/v(1); v(1)=1; for i=2:n-1 k=3*i-2; b(i)=b(i)-v(k-1)*b(i-1); v(k)=v(k)-v(k-1)*v(k-2); v(k-1)=0; b(i)=b(i)/v(k); v(k+1)=v(k+1)/v(k); v(k)=1; end b(n)=b(n)-b(n-1)*v(3*n-3); v(3*n-2)=v(3*n-2)-v(3*n-3)*v(3*n-4); b(n)=b(n)/v(3*n-2); v(3*n-2)=1;

  • 57

    v(3*n-3)=0; x(n)=b(n); for i=n-1:-1:1 k=3*i-1; x(i)=b(i)-x(i+1)*v(k); end

    Al ejecutar la funcin con los datos del ejemplo anterior, se obtiene: functrid(6,[1 2 2 3 -2 1 4 2 2 -3 1 1 1 -1 1 -2],[3;5;1;5;0;8]) ans =

    8.4286 -2.7143 1.8571 -1.8571 -4.2857 -6.1429

    EJERCICIOS

    1) Usando los diferentes mtodos directos, resuelva los siguientes sistemas de ecuaciones:

    66662312432

    =+

    =+

    =+

    zyxzyx

    zyx

    86662312432

    =+

    =+

    =+

    zyxzyx

    zyx

    86662312532

    =+

    =++

    =++

    zyxzyxzyx

    2) Usando los diferentes mtodos directos, resuelva los siguientes sistemas:

    820

    5321245232

    32

    65

    654

    543

    432

    321

    21

    =

    =+

    =+

    =++

    =+

    =+

    xx

    xxx

    xxx

    xxx

    xxx

    xx

    82303

    52323245232

    023

    65

    654

    543

    432

    321

    21

    =

    =++

    =

    =+

    =+

    =+

    xx

    xxx

    xxx

    xxx

    xxx

    xx

    3) Usando el programa tridiagonal, resuelva los sistemas del numeral 2 Usando la funcin functrid, resuelva los sistemas del numeral 2

  • 58

    MDULO 6 SISTEMAS DE ECUACIONES LINEALES. MTODOS ITERATIVOS

    Contenido. En este mdulo se presentan, muy resumidamente, los mtodos iterativos de solucin de un sistema lineal de ecuaciones. Los temas a desarrollar son los siguientes:

    6.1. Sistemas diagonalmente dominantes 6.2. Mtodo de Jacobi con nmero de iteraciones 6.3. Mtodo de Gauss-Seidel con nmero de iteraciones 6.4. Mtodo de Gauss-Seidel con tolerancia

    6.1. Sistemas diagonalmente dominantes. Consideremos un sistema de orden n de ecuaciones lineales, as:

    =

    nnnnnnn

    n

    n

    n

    b

    bbb

    x

    x

    x

    x

    aaaa

    aaaa

    aaaa

    aaaa

    .

    .

    .

    .

    .....

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .....

    .....

    .....

    3

    2

    1

    3

    2

    1

    321

    3333231

    2232221

    1131211

    Se dice que el sistema es diagonalmente dominante s el valor absoluto de un elemento sobre la diagonal principal de la matriz del sistema es mayor que el valor absoluto de los dems elementos de la fila correspondiente.

    ijii aa >

    El siguiente sistema, por ejemplo, es diagonalmente dominante:

    =

    12532

    .

    .

    54321152202130213241

    10213

    3

    2

    1

    nx

    x

    x

    x

    Los sistemas diagonalmente dominantes se pueden resolver numricamente por dos mtodos diferentes, segn veremos a continuacin.

    6.2. Mtodo de Jacobi con nmero de iteraciones. El mtodo consiste en escribir el sistema, por simplicidad lo tomamos de orden cuatro, en la siguiente forma:

  • 59

    =

    44

    3432421414

    33

    4342321313

    22

    4243231212

    11

    4143132121

    4

    3

    2

    1

    a

    xaxaxaba

    xaxaxaba

    xaxaxaba

    xaxaxab

    x

    x

    x

    x

    Denotamos por x al vector solucin, as:

    =

    4

    3

    2

    1

    x

    x

    x

    x

    x

    Con base en lo anterior resulta una ecuacin matricial de la forma )(xx g= . Puede notarse la similitud con el caso de la solucin de una ecuacin con una incgnita por el mtodo de iteracin de punto fijo )(xgx = . Recordemos que para el caso de una variable se genera la sucesin: kx tal que semilax =1 y )(1 kk xgx =+ con la condicin de que 1)('

  • 60

    422

    321

    23

    1

    1

    1

    kkk

    kkk

    kkk

    yxz

    zxy

    zyx

    +=

    =

    =

    +

    +

    +

    5000.03333.0

    5000.1

    1

    1

    1

    =

    =

    =

    z

    yx

    Algoritmo en Matlab para aplicar el mtodo de Jacobi con nmero de iteraciones. clear all % Solucion de un sistema de orden tres diagonalmente dominante % x=g1(y,z); y=g2(x,z); z=g3(x,y) % n nmero de iteraciones % Todas las semillas se inicializan de acuerdo con la recomendacin previa n=input('numero de iteraciones='); g1=input('g1(y,z)='); g2=input('g2(x,z)='); g3=input('g3(x,y)='); xi=input('xinicial='); yi=input('yinicial='); zi=input('zinicial='); % Se genera una matriz M cuya primera fila es la semilla M(1,1)=xi; M(1,2)=yi; M(1,3)=zi; for k=1:n; x=M(k,1); y=M(k,2); z=M(k,3); M(k+1,1) = eval(g1); M(k+1,2) = eval(g2); M(k+1,3) = eval(g3); end M

    Ejecutando el programa con los datos del ejemplo, se tiene:

    >> Jacobi numero de iteraciones=20 g1(y,z)='(3-y-z)/2' g2(x,z)='(x+2*z-1)/3' g3(x,y)='(2+x-2*y)/4' xinicial=1.5 yinicial=-1/3 zinicial=1/2

    ans = 1.5000 -0.3333 0.5000 1.4167 0.5000 1.0417 0.7292 0.8333 0.6042 0.7812 0.3125 0.2656 1.2109 0.1042 0.5391 1.1784 0.4297 0.7507 0.9098 0.5599 0.5798 0.9302 0.3564 0.4475

  • 61

    1.0980 0.2751 0.5543 1.0853 0.4022 0.6370 0.9804 0.4531 0.5702 0.9883 0.3736 0.5186 1.0539 0.3418 0.5603 1.0489 0.3915 0.5926 1.0080 0.4114 0.5665 1.0111 0.3803 0.5463 1.0367 0.3679 0.5626 1.0347 0.3873 0.5752 1.0187 0.3951 0.5650 1.0200 0.3829 0.5572 1.0300 0.3781 0.5635

    La solucin, en la iteracin nmero 20 es:

    =

    5635.03781.00300.1

    z

    yx

    S se usa el paquete, la solucin directa del sistema, por el mtodo de la inversa es:

    >> A=[2 1 1;1 -3 2;-1 2 4]; >> b=[3;1;2] >> b=[3;1;2]; >> x=inv(A)*b; >> x x = 1.0256 0.3846 0.5641 Como puede verse, el error absoluto que se comete viene dado por:

    =

    =

    0006.00065.00044.0

    5541.03846.00256.1

    5635.03781.00300.1

    error

    Es claro que la convergencia es bastante lenta. Para mejores aproximaciones es necesario efectuar un mayor nmero de iteraciones. Por ejemplo, al tomar 50=n , la convergencia se presenta en las iteraciones 46 y 47, con los resultados:

    1.0256 0.3846 0.5641 1.0256 0.3846 0.5641

    6.3. Mtodo de Gauss-Seidel con nmero de iteraciones. El mtodo es una variante del mtodo de Jacobi y consiste bsicamente en utilizar los valores recientes de las variables: 321 ,, xxx para calcular la variable: 4x Para un sistema de orden cuatro, a partir de la semilla, se generan las cuatro sucesiones:

  • 62

    ),,(4),,(3),,(2

    ),,(1

    13

    12

    11

    14

    31

    21

    11

    3

    431

    11

    2

    4321

    1

    ++++

    +++

    ++

    +

    =

    =

    =

    =

    kkkk

    kkkk

    kkkk

    kkkk

    xxxgxxxxgx

    xxxgxxxxgx

    Acomodando el algoritmo de Jacobi, resulta el siguiente: clear all % Solucion de un sistema de orden tres diagonalmente dominante % x=g1(y,z); y=g2(x,z); z=g3(x,y) % n nmero de iteraciones % Todas las semillas se inicializan de acuerdo con la recomendacin previa n=input('numero de iteraciones='); g1=input('g1(y,z)='); g2=input('g2(x,z)='); g3=input('g3(x,y)='); xi=input('xinicial='); yi=input('yinicial='); zi=input('zinicial='); % Se genera una matriz M cuya primera fila es la semilla M(1,1)=xi; M(1,2)=yi; M(1,3)=zi; for k=1:n; x=M(k,1); y=M(k,2); z=M(k,3); M(k+1,1) = eval(g1); x=M(k+1,1); M(k+1,2) = eval(g2); y=M(k+1,2); M(k+1,3) = eval(g3); end M

    Al ejecutar el programa con la informacin del ejemplo, resulta:

    numero de iteraciones=40 g1(y,z)='(3-y-z)/2' g2(x,z)='(x+2*z-1)/3' g3(x,y)='(2+x-2*y)/4' xinicial=1.5 yinicial=-1/3 zinicial=1/2

    M =

    1.5000 -0.3333 0.5000 1.4167 0.4722 0.6181 0.9549 0.3970 0.5402 1.0314 0.3706 0.5725 1.0284 0.3912 0.5615 1.0237 0.3822 0.5648 1.0265 0.3854 0.5639

  • 63

    1.0253 0.3844 0.5641 1.0257 0.3847 0.5641 1.0256 0.3846 0.5641 1.0256 0.3846 0.5641

    Observe que la convergencia se presenta en las iteraciones 10 y 11. Las ventajas del mtodo saltan a la vista.

    6.4. Mtodo de Gauss-Seidel con tolerancia. En este caso no se introduce el nmero de iteraciones sino la tolerancia como criterio de paro. El programa es el siguiente:

    %gausetol %Programa para resolver sistemas de orden tres diagonalmente dominantes por el mtodo de Gauss-Seidel %tomando la tolerancia como criterio de paro clear all tol=input('tolerancia='); xi=input('semillax= '); yi=input('semillay= '); zi=input('semillaz= '); g1=input('g1(y,z)= '); g2=input('g2(x,z)= '); g3=input('g3(x,y)= '); M(1,1)=xi; M(1,2)=yi; M(1,3)=zi; vtol=[tol,tol,tol]; E=[1,1,1]; k=1; while abs(E)>vtol, x=M(k,1); y=M(k,2); z=M(k,3); M(k+1,1)=eval(g1); x=M(k+1,1); M(k+1,2)=eval(g2); y=M(k+1,2); M(k+1,3)=eval(g3); E=M(k+1,:)-M(k,:); k=k+1; end M K Abs(E)

    Al ejecutar el programa con los datos del ejemplo y tomando como tolerancia 0001.0=tol , se tiene: >> gausetol3 >> gausetol3 tolerancia=0.0001 semillax= 1.5 semillay= -1/3 semillaz= 0.5 g1(y,z)= '(3-y-z)/2' g2(x,z)= '(x+2*z-1)/3'

  • 64

    g3(x,y)= '(2+x-2*y)/4'

    M =

    1.5000 -0.3333 0.5000 1.4167 0.4722 0.6181 0.9549 0.3970 0.5402 1.0314 0.3706 0.5725 1.0284 0.3912 0.5615 1.0237 0.3822 0.5648 1.0265 0.3854 0.5639 1.0253 0.3844 0.5641 1.0257 0.3847 0.5641

    k =

    9

    ans =

    1.0e-003 *

    0.3793 0.2537 0.0320

    Puede verse que la tolerancia se alcanza con 9 iteraciones.

    EJERCICIOS

    1) Escriba los programas para aplicar el mtodo de Gauss-Seidel para sistemas de orden 4, tanto para nmero de iteraciones como para la tolerancia.

    2) Usando el algoritmo de Gauss-Seidel con n=20, resuelva los sistemas descritos a continuacin.

    1)

    =+

    =+

    =+

    66362312435

    zyxzyxzyx

    2)

    =+

    =+

    =+

    88662312436

    zyxzyx

    zyx