Generalidades

¿Por qué aprender a programar?

  • Porque es una habilidad que aumenta tus posibilidades de adquirir un mejor empleo.

  • Para realizar cálculos intensos, es necesario utilizar una computadora, pues hacerlos a mano sería muy tardado o imposible.

  • Ejemplos de áreas en las que puedes aplicar la programación:

    • Instrumentación y Control
    Interfaz Grafica LabView

    Ejemplo de una interfaz gráfica de una aplicación de Instrumentación y Control

    • Métodos numéricos: Resuelva de manera numérica (utilizando el método de Euler) el sistema masa-resorte dado por la ecuación diferencial
    \[mu'' + \beta u' + ku = F(t), \qquad u(0) = U_{0}, u'(0) = 0\]
    ../_images/masaResorte.jpg

    Sistema masa resorte que se describe mediante una ecuación diferencial

    • Graficación. A continuación se muestra un histograma obtenido a partir de una distribución de probabilidad normal.
    import matplotlib.pyplot as plt
    import numpy as np
    x = np.random.randn(1000)
    plt.hist( x, 20)
    plt.grid()
    plt.title(r'Normal: $\mu=%.2f, \sigma=%.2f$'%(x.mean(), x.std()))
    plt.show()
    

    (Source code, png, hires.png, pdf)

    ../_images/generalidades-1.png

Python como primer lenguaje de programación

Se ha escogido Python como un lenguaje de programación porque combina capacidadades notables con una sintáxis limpia, simple y compacta. Enunciamos algunas características de Python:

  • Python es fácil de aprender y es muy apropiado para un curso introductorio de programación.
  • Es muy similar a Matlab y un buen lenguaje para hacer cómputo matemático.
  • Es fácil de combinar con lenguajes compilados como Fortran, C y C++, que son lenguajes ampliamente usados para cómputo científico.

Instalación de software utilizado en el curso

Se requiere:

  • Python 2.7.3 \(\rightarrow\) Puedes descargarlo e instalarlo de http://www.python.org/getit/
  • Emacs 24.1 \(\rightarrow\) Este es un editor de texto muy poderoso. Puedes descargar una versión para Windows en http://ftp.gnu.org/pub/gnu/emacs/windows/
  • IPython 0.13 \(\rightarrow\) Esta es una herramienta útil para trabajar de manera interactiva y explorar la funcionalidad de Python. !Te va a encantar!
  • Matplotlib 1.1.0 \(\rightarrow\) Es una librería de graficación en 2D para Python que produce figuras de calidad de publicación en una variedad de formatos.
  • NumPy 1.6.2 \(\rightarrow\) Esta librería es básica. La requieres para usar arreglos en la Unidad 2. Puedes descargar una versión para Windows en http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
  • SciPy 0.10.1 \(\rightarrow\) SciPy está organizada en subpaquetes que cubren diferentes dominios científicos. Se resumen en la Tabla siguiente. Puedes descargar una versión para Windows en http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy.
Subpackage Description
cluster Clustering algorithms
constants Physical and mathematical constants
fftpack Fast Fourier Transform routines
integrate Integration and ordinary differential equation solvers
interpolate Interpolation and smoothing splines
io Input and Output
linalg Linear algebra
maxentropy Maximum entropy methods
ndimage N-dimensional image processing
odr Orthogonal distance regression
optimize Optimization and root-finding routines
signal Signal processing
sparse Sparse matrices and associated routines
spatial Spatial data structures and algorithms
special Special functions
stats Statistical distributions and functions
weave C/C++ integration

Contenidos

Tema anterior

Introducción a la Programación Estructurada

Próximo tema

Sintáxis

Esta página