Transcript
  • 8/17/2019 Tarea1_Sistemas_Lineales

    1/5

    Universidad Técnica Federico Santa Maŕıa

    Departamento de Matemática   Análisis Numérico MAT-270 / 2016-1

    Tarea 1: Sistemas LinealesINTEGRANTES: Christian Vega, Santiago Garćıa

    Pregunta 1El desplazamiento  x  en un arreglo tipo masa-resorte viene dado por el siguiente sistema de ecuaciones:

    k1 + k2 + k3 + k5   −k3   −k5−k3   k3 + k4   −k4−k5   −k4   k4 + k5

    ·

    x1x2x3

    =

    W 1W 2W 3

      (1)

    Donde  ki   es la rigidez del resorte,  W i   representa el peso de las masas y  xi  son los desplazamientos de las masasdesde el estado sin deformación. Se tiene que:

    k1  =  k2 =  k3  =  k4  =  k5  = 2k   (2)

    W 1  =  W 2  =  W 3  =  W    (3)

      Elabore las funciones para resolver el sistema mediante los métodos de Jacobi y Gauss-Siedel, los que debenentregar la solución y el número de iteraciones. Indique las soluciones para una tolerancia de 10−10 y cal-cule sus respectivos errores con respecto a la solución con el método ”backslash”. Utilize un vector semillaX 0  = [0, 0, 0] y valores de  k  = 100[N/m] y  W   = 3[kg]

      Con tolerancias desde 10−6 a 10−12 (dividiendo de 10 en 10), construya un gráfico de Número de Iteraciones(Y) v/s Tolerancia (X) que incluya ámbos métodos (identificar cada uno con distintos colores). El eje X debeir en escala logaŕıtmica en base 10.

    Ejemplo:

    tol=[10̂ (-6) 10ˆ(-7) 10ˆ(-8) 10ˆ(-9) 10ˆ(-{10) 10ˆ(-11) 10ˆ(-12)]   %Vector de toleranciasEjeX=log10(tol)   %Calcula el logaritmo en base 10 del vector tolerancia

    for   i=1:length(tol)

    %.

    %.

    %.

    end

    plot(EjeX,iteraciones)

    Se recomienda utilizar un ”f or” que realize el cálculo para los distintos valores de la tolerancia.

    HINT: El error entre dos vectores solución se puede calcular con la norma infinito en MatLab:

    error=norm(x1-x2,inf)/norm(x2,inf)   %error con respecto a "x2"

    Solución

      Reemplazando el sistema con los datos dados tenemos el nuevo sistema:

    800   −200   −200−200 400   −200−200   −200 400

    ·

    x1x2x3

    =

    333

    El vector solución que se obtuvo utilizando los tres métodos fue:

    LA

    TEX 1

  • 8/17/2019 Tarea1_Sistemas_Lineales

    2/5

    Universidad Técnica Federico Santa Maŕıa

    Departamento de Matemática   Análisis Numérico MAT-270 / 2016-1

    x1x2x3

    =

    0,02250,03750,0375

    Sin embargo cada método tuvo un error e iteración asignada. El error del método de Jacobi fue de 9,7906·10−9

    con 87 iteraciones realizadas; y el error del método de Gauss-Seidel fue de 4,5914 ·

     10−9 con 46 iteracionesrealizadas.La razón de estos errores es debido al verdadero valor numérico que obtienen los vectores solución, quecontiene números con una gran cantidad de decimales, sólo que la máquina los redondea de tal forma que susaproximaciones sean equivalentes entre śı.

      El gráfico obtenido fue el siguiente:

    Figura 1: Tolerancia v/s Iteraciones.

    Se puede observar que a tolerancias pequeñas el método de Jacobi realiza casi el doble de iteraciones quelas del método de Gauss-Seidel, sin embargo, el comportamiento de las iteraciones de Jacobi es más lineal, a

    diferencia de las iteraciones del método de Gauss-Seidel que tiene un comportamiento ligeramente curvo.

    Pregunta 2

    La red eléctrica muestra un sistema de 3 mallas o sub-circuitos. Aplicando la ley de nodos de Kirchoff’s (ΣV oltajesEntranΣV oltajesSalen). Para cada malla se tienen las siguientes ecuaciones para  i1, i2, i3:

    5i1 + 15(i1 − i3) = 220V    (4)

    R(i2 − i3) + 5i2 + 10i2  = 0 (5)

    LA

    TEX 2

  • 8/17/2019 Tarea1_Sistemas_Lineales

    3/5

    Universidad Técnica Federico Santa Maŕıa

    Departamento de Matemática   Análisis Numérico MAT-270 / 2016-1

    20i3 + R(i3 − i2) + 15(i3 − i1) = 0 (6)

      Cree una función que realize la factorización LU (con la matriz A como dato de entrada) y resuelva el sistemaplanteado con los valores de resistencia R iguales a 5.10 y 20. Muestre las matrices L, U ,P y vector soluci ónpara cada caso

      Compare los resultados y tiempo de procesamiento con respecto a la solución con el método ”backslash”vistoen el laboratorio. y fabrique una tabla de resultados como esta:

    i1   [A]   i2   [A]   i3   [A] Tiempo [s] ErrorR = 5,10ΩR = 20Ω

    Solución

      Para  R  = 5,10 la el sistema a resolver seŕıa:

    20 0   −150 20,1   −5,1

    −15   −5,1 40,1

    ·

    x1x2x3

    =

    22000

    El vector solución que se obtuvo utilizando el método  P A =  LU   fue:

    x1x2x3

    =

    15,49091,51935,9878

    Para  R  = 20 el sistema a resolver seŕıa:

    20 0   −150 35   −20

    −15   −20 55

    ·

    x1x2x3

    =

    22000

    Y el vector solución obtenido fue:  

    x1x2

    x3

    =

    14,82872,9171

    5,1050

      Registrando y comparando los resultados, tiempos y errores obtenidos con la tabla:

    i1   [A]   i2   [A]   i3   [A] Tiempo [s] ErrorR = 5,10Ω 15,4909 1,5193 5,9878 0,005494 1,7764 · 10−15

    R = 20Ω 14,8287 2,9171 5,1050 0,000263 6,7787 · 10−15

    A simple vista los resultados de ambos sistemas son casi similares, sin embargo, hay una gran diferencia entrelos errores de ambos casos, para el caso en que  R  = 20 el error es mayor, sin embargo, el tiempo de ejecuci ónes mucho más rápido que en el caso  R  = 5,10.

    LA

    TEX 3

  • 8/17/2019 Tarea1_Sistemas_Lineales

    4/5

    Universidad Técnica Federico Santa Maŕıa

    Departamento de Matemática   Análisis Numérico MAT-270 / 2016-1

    Pregunta 3

    1. Crear una función capaz de construir una matriz tridiagonal de  nxn  de la siguiente forma:

    A =

    a b   0  · · ·

      0c a b · · ·   00   c a   · · ·   0...

    ...  . . .   · · ·

    0 0   c a

    2. Crear una función capaz de construir un vector columna que siga la secuencia de  Fibonacci  (1, 1, 2, 3, 5, 8, 13,...).

    3. Programar una función capaz de crear un vector columna con la secuencia de Pisano en base  M . Esta secuen-cia se construye calculando el  residuo de la división de los términos de  Fibonacci  por  M , el cuál debe ser unnúmero entero.

    Ej: Pisano en base 3.

    F   =

    11202210...

    4. Resolver el sistema A  · x =    F   con los métodos de Jacobi, Gaus-Seidel y  P A =  LU   para los siguientes casos:

    n=10,a=8,b=4,c=3, seciencia Pisano=5

    n=100,a=8,b=4,c=3, secuencia Pisano=5 n=1000,a=8,b=4,c=3, secuencia Pisano=5

    5. En una tabla comparar los tiempos de procesamiento que utilizó cada método, el error (norma) y el númerode iteraciones utilizadas. Determinar cuál es más eficiente y por qué.

    t[s] Error   N itn=10

    n=100n=1000

    Nota: Para los métodos iterativos utilizar la semilla  X 0  y una tolerancia de 10−14.

    Solución

      Se generan las tablas comparativas con los datos obtenidos en la ejecución del programa (es posible que si seejecuta de nuevo retorne valores ligeramente diferentes a los que se obtuvieron para este caso):

    Método de Jacobi:

    t[s] Error   N itn=10 0,002119 8,4825 · 10−15 171

    n=100 0,230282 2,0096 · 10−16 271n=1000 37,542901 2,6207 · 10−16 2695

    LA

    TEX 4

  • 8/17/2019 Tarea1_Sistemas_Lineales

    5/5

    Universidad Técnica Federico Santa Maŕıa

    Departamento de Matemática   Análisis Numérico MAT-270 / 2016-1

    Método de Gauss-Seidel:

    t[s] Error   N itn=10 0,000962 2,7273 · 10−14 86

    n=100 0,022526 1,7791 · 10−16 163

    n=1000 33,009647 3,6156 ·

     10−16

    1846

    Método PA=LU:

    t[s] Error   N itn=10 0,004498 0 0

    n=100 0,015290 0 0n=1000 16,259997 0 0

    LA

    TEX 5


Top Related