Saltar al contenido principal
LibreTexts Español

1.2: Primeros pasos

  • Page ID
    125217
  • \( \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}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    1.2.1: Declaración del problema: Computación de potenciales eléctricos

    Pasemos ahora por los pasos de escribir un programa para realizar una tarea sencilla: computar y trazar el potencial eléctrico de un conjunto de cargas puntuales ubicadas en un espacio unidimensional (1D).

    Supongamos que tenemos un conjunto de cargos\(N\) puntuales distribuidos en 1D. Denotemos las posiciones de las partículas por\(\{x_{0}, x_{1}, \cdots, x_{N-1}\}\), y sus cargas eléctricas por\(\{q_{0},q_{1},\cdots, q_{N-1}\). Observe que hemos optado por comenzar a contar desde cero, así que esa\(x_{0}\) es la primera posición y\(x_{N-1}\) es la última posición. Esta práctica se llama “indexación basada en cero”; más sobre ella más adelante.

    Conociendo\(\{x_{j}\}\) y\(\{q_{j}\}\), podemos calcular\(\phi(x)\) en cualquier punto arbitrario\(x\), usando la fórmula

    \[\phi (x)=\sum_{j=0}^{N-1}\frac{q_{j}}{4\pi\epsilon_{0}|x-x_{j}|}\]

    El factor de\(4\pi\epsilon_{0}\) en el denominador es molesto de mantener alrededor, por lo que adoptaremos “unidades computacionales”. Esto significa que reescalaremos el potencial, las posiciones y/o los cargos para que, en las nuevas unidades de medida,\(4\pi\epsilon_{0}=1\). Entonces la fórmula para el potencial simplifica a

    \[\phi(x)=\sum_{j=0}^{N-1}\frac{q_{j}}{|x-x_{j}|}\]

    Nuestro objetivo ahora es escribir un programa de computadora que tome un conjunto de posiciones y cargas como entrada, y grafique el potencial eléctrico resultante.

    1.2.2: Escribir en un archivo de código fuente Python

    Antes de escribir cualquier código Python, debemos crear un archivo para meter el código. En GNU/Linux, encienda su editor de texto preferido y abra un archivo vacío, nombrándolo potentials.py. En Windows, en la ventana que fue abierta por el programa IDLE (Python GUI), haga clic en el elemento de la barra de menú ArchivoNuevo archivo; luego escriba CTRL-s (o haga clic en ArchivoNuevo archivo) y guarde el archivo vacío como potentials.py.

    La extensión de archivo.py lo denota como un archivo de código fuente de Python. Debe guardar el archivo en un directorio apropiado.

    Ahora hagamos un “primer pase” muy crudo en el programa. En lugar de manejar un número arbitrario de partículas, supongamos que hay una sola partícula con alguna posición\(x_{0}\) y carga\(q_{0}\). Entonces trazaremos su potencial. Escriba lo siguiente en el archivo:

    from scipy import *
    import matplotlib.pyplot as plt
    
    x0 = 1.5
    q0 = 1.0
    
    X   = linspace(-5, 5, 500)
    phi = q0 / abs(X - x0)
    
    plt.plot(X, phi)
    plt.show()
    

    Guarde el archivo. Ahora vamos a ejecutar el programa. En GNU/Linux, abre un terminal de texto y cd al directorio donde se encuentra el archivo, luego escribe python -i potentials.py. En Windows, mientras esté en la ventana de edición de archivos escriba F5 (o haga clic en EjecutarEjecutar módulo). En cualquier caso, deberías ver una figura emergente:

    clipboard_e6120dd343c40da2a9f196b15f7d3f111.png
    Figura\(\PageIndex{1}\)

    Eso es más o menos lo que esperamos: el potencial alcanza su punto máximo\(X=1.5\), que es la posición de la partícula que especificamos en el programa (a través de la variable llamada x0). La carga de la partícula viene dada por la variable llamada q0, y le hemos asignado el valor\(1.0\). De ahí que el potencial sea positivo.

    Ahora cierra la figura y vuelve al símbolo del sistema de Python. Tenga en cuenta que Python todavía se está ejecutando, a pesar de que su programa ha terminado. Desde la línea de comandos, también puede examinar los valores de las variables que ha creado su programa, simplemente escribiendo sus nombres en el símbolo del sistema:

    >>> x0
    1.5
    >>> phi
    array([ 0.15384615    0.15432194    0.15480068    0.1552824  ....
              ....        0.28902404    0.28735963    0.28571429 ])
    

    El valor de x0 es un número,\(1.5\), que se le asignó cuando nuestro programa se ejecutó. El valor de phi es más complicado: es una matriz, que es una estructura de datos especial que contiene una secuencia de números. Desde la línea de comandos, puede inspeccionar los elementos individuales de esta matriz. Por ejemplo, para ver el valor del primer elemento de la matriz, escriba esto:

    >>> phi[0]
    0.153846153846
    

    Como hemos mencionado, el índice 0 se refiere al primer elemento de la matriz. Esta denominada indexación basada en cero es una práctica común en computación. De igual manera, el índice 1 se refiere al segundo elemento de la matriz, el índice 2 se refiere al tercer elemento, etc.

    También puede ver la longitud de la matriz, llamando a la función len. Esta función acepta una entrada de matriz y devuelve su longitud, como un entero.

    >>> len(phi)
    500
    

    Puede salir de la línea de comandos de Python en cualquier momento escribiendo Ctrl-D o exit ().


    This page titled 1.2: Primeros pasos is shared under a CC BY-SA 4.0 license and was authored, remixed, and/or curated by Y. D. Chong via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.