Saltar al contenido principal
LibreTexts Español

5.2: Visualizar el problema

  • Page ID
    115527
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Podemos visualizar la solución a un sistema de ecuaciones lineales en una gráfica. Si hacemos\(b\) el eje "\(y\)“y\(c\) el eje\(x\)"”. Para cada ecuación, calculamos el\(b\) valor para cada una\(c\), y dos ecuaciones nos dan dos líneas.

    Nota

    Esto a veces se llama la “Imagen de fila”. Te preguntaré por qué tiene este nombre en clase así que piénsalo.

    Pregunta

    El video anterior describió tres (3) operadores elementales que pueden ser aplicados a un sistema de ecuaciones lineales y no cambiar su respuesta. ¿Cuáles son estos tres operadores?

    from IPython.display import YouTubeVideo
    YouTubeVideo("BSxWO6FGib0",width=640,height=360, cc_load_policy=True)
    %matplotlib inline
    import matplotlib.pylab as plt
    import numpy as np
    c = np.linspace(0,20)
    c
    array([ 0.        ,  0.40816327,  0.81632653,  1.2244898 ,  1.63265306,
            2.04081633,  2.44897959,  2.85714286,  3.26530612,  3.67346939,
            4.08163265,  4.48979592,  4.89795918,  5.30612245,  5.71428571,
            6.12244898,  6.53061224,  6.93877551,  7.34693878,  7.75510204,
            8.16326531,  8.57142857,  8.97959184,  9.3877551 ,  9.79591837,
           10.20408163, 10.6122449 , 11.02040816, 11.42857143, 11.83673469,
           12.24489796, 12.65306122, 13.06122449, 13.46938776, 13.87755102,
           14.28571429, 14.69387755, 15.10204082, 15.51020408, 15.91836735,
           16.32653061, 16.73469388, 17.14285714, 17.55102041, 17.95918367,
           18.36734694, 18.7755102 , 19.18367347, 19.59183673, 20.        ])
    b1 = 30-c
    b2 = (690-20*c)/25

    Imagen de Fila

    plt.plot(c,b1)
    plt.plot(c,b2)
    plt.xlabel('c (hours worked as carpenter)')
    plt.ylabel('b (hours worked as blacksmith)')
    plt.scatter(12,18);

    Ahora, considere el siguiente conjunto de ecuaciones que no tienen solución

    \[-2x+y=3 \nonumber \]

    \[-4x+2y=2 \nonumber \]

    x = np.linspace(-10,10)
    y1 =  3+2*x
    y2 = (2+4*x)/2
    plt.plot(x,y1)
    plt.plot(x,y2);
    from IPython.display import YouTubeVideo
    YouTubeVideo("Z9gkovHDpIQ",width=640,height=360, cc_load_policy=True)

    Considere el siguiente conjunto de ecuaciones que tienen infinitas soluciones

    \[4x-2y=6 \nonumber \]

    \[6x-3y=9 \nonumber \]

    x = np.linspace(-10,10)
    y1 =  (4*x-6)/2
    y2 = (6*x-9)/3
    plt.plot(x,y1)
    plt.plot(x,y2)
    # 'Run' this cell to view the plot
    [<matplotlib.lines.Line2D at 0x7f911c4b3250>]
    Hacer esto

    Trazar las siguientes ecuaciones de -100 a 100

    \[ 18x+21y = 226 \nonumber \]

    \[ 72x-3y = 644 \nonumber \]

    # Put your python code here
    Pregunta

    Usando la gráfica, ¿qué es una estimación visual de la solución a estas dos ecuaciones? Pista, es posible que desee cambiar el\(x\) rango a “zoom” en la intersección.

    Imagen de Columna

    Creo que un buen programador es una persona perezosa. Evitemos escribir todas las letras en la euqación anterior cambiándola a un formato de vector de columna de la siguiente manera.

    \[ \begin{split} c \left[ \begin{matrix} 1 \\ 20 \end{matrix} \right] + b \left[ \begin{matrix} 1 \\ 5 \end{matrix} \right] = \left[ \begin{matrix} 30 \\ 330 \end{matrix} \right] \end{split} \nonumber \]

    Observe que esto todavía representa el mismo sistema de ecuaciones. Simplemente escribimos las constantes como vectores de columna y solo tenemos que escribir las incógnitas una vez (ya que son las mismas para todas las ecuaciones).

    Vamos a trazar esta “imagen de columna”, que muestra cómo la ecuación anterior es una “combinación lineal” de los dos vectores de columna.

    Una forma de pensar sobre esto es que solo podemos movernos en líneas rectas en dos direcciones. La primera dirección es (1,20) y la segunda es (1,5). La solución al problema es hasta qué punto en cada dirección necesitamos movernos para llegar a nuestro destino final de (30,330).

    La primera columna es un vector en la dirección (1,20). La variable\(c\) es hasta dónde queremos llegar en la dirección (1,20). Entonces\(b\) es hasta qué punto en la dirección (1,5) queremos llegar para llegar al punto (30,330).

    Usaremos la flecha de la función matplotlib para trazar los vectores. La función flecha toma un punto de partida\([x,y]\) y una dirección\([dx,dy]\) como entradas y dibuja una flecha desde el punto inicial en la dirección especificada.

    Lo primero que hay que hacer es trazar la primera columna como vector. Del origen (0,0) a\(c \left[ \begin{matrix} 1 \\ 20 \end{matrix} \right] \)

    o\(x=c\) y\(y=20c\) con\(c=12\)

    c = 12
    
    #hack to inicialize bounds of plot (need this to get the arrows to work?)
    plt.plot(0,0)
    plt.plot(30,330)
    
    # Plot the first arrow 
    plt.arrow(0, 0, c*1, c*20,head_width=2, head_length=10, fc='blue', ec='blue')
    # 'Run' this cell to view the plot
    <matplotlib.patches.FancyArrow at 0x7f911c3969d0>

    Lo siguiente que hay que hacer es trazar la segunda columna como un vector agregándola a la primera. Esta flecha comenzará al final del vector anterior y “agregará” el vector de la segunda columna:

    b = 18
    
    #hack to inicialize bounds of plot (need this to get the arrows to work?)
    plt.plot(0,0)
    plt.plot(30,330)
    
    # Plot the first arrow
    plt.arrow(0, 0, c*1, c*20,head_width=2, head_length=10, fc='blue', ec='blue')
    
    #Plot the second arrow starting at the end of the first
    plt.arrow(c, c*20, b*1, b*5, head_width=2, head_length=10, fc='red', ec='red')
    # 'Run' this cell to view the plot
    <matplotlib.patches.FancyArrow at 0x7f911c485550>

    La conclusión de esta cifra es que estos dos vectores de columna, cuando se suman, terminan en el punto que representa el lado derecho de la ecuación anterior (es decir (30, 330)).

    #hack to inicialize bounds of plot (need this to get the arrows to work?)
    plt.plot(0,0)
    plt.plot(30,330)
    
    # Plot the first arrow
    plt.arrow(0, 0, c*1, c*20,head_width=2, head_length=10, fc='blue', ec='blue')
    
    #Plot the second arrow starting at the end of the first
    plt.arrow(c, c*20, b*1, b*5, head_width=2, head_length=10, fc='red', ec='red')
    
    #Plot a righthand column vector as a point.
    plt.arrow(0,0, 30, 330, head_width=2, head_length=10, fc='purple', ec='purple')
    plt.xlabel('x');
    plt.ylabel('y');

    Decimos que los dos vectores de columna “abarcan” el\(xy\) -plano. Esto significa que cualquier punto en el plano x, y se puede representar como una combinación lineal de los dos vectores.

    Pregunta

    Dé un ejemplo de dos vectores de columna que NO abarcan el\(xy\) plano −plane


    This page titled 5.2: Visualizar el problema is shared under a CC BY-NC 4.0 license and was authored, remixed, and/or curated by Dirk Colbry via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.