SlideShare una empresa de Scribd logo
Introduction to Computer Programming
     A Python-Based Approach for
        Computational Science

             Hans Petter Langtangen
           Simula Research Laboratory
                       and
            Department of Informatics
               University of Oslo

           Resumen del capítulo 3, 4 y5 preparado por:
                   Kenneth Robles Ramos
                  Osvaldo Medina Irizarry
                  Héctor L. Rodríguez Toro
 Para la clase: MATH-5500 Matemáticas Discretas Avanzadas
Introducción
¿Qué es Python?

Python es un leguaje de programación
creado por Guido Van Rossum a principios
de los años noventa. El nombre del programa
está inspirado en un grupo cómico de
ingleses “Monty Python”.
Sistemas operativos

El programa Python está disponible para
varios sistemas operativos entre los cuales se
encuentran:
 UNIX
 Solaris
 Linux
 Windows
¿Por qué utilizar Python?

Su lenguaje es simple, claro y sencillo. Esto
es tan así que se cree que es uno de los
mejores programas para empezar a
programar.
Algunos casos que han tenido éxito con
Python son:
1. Google
2. Yahoo
3. NASA
4. Linux
Suponga que quiere calcular la temperatura
de grados Celsius a grados Fahrenheit
utilizando el programa Python, ¿cómo lo
haríamos?
Tomando la fórmula de grados Fahrenheit, ¿cómo
hacemos que el programa corra sin escribir el valor
de entrada?
La función “Eval”
Esta función toma una cadena como argumento y
la evalúa como una expresión de Python.

Cualquier expresión de texto válida para Python
y escrita como cadena puede ser evaluada.

La función “Eval” también se puede utilizar con
listas y síntaxis de tupla.
La función “String”

Escrita una fórmula matemática como una
cadena podemos convertir la misma en una
función Python.
Ejemplo
>>> from scitools.StringFunction import StringFunction
>>> formula = ’exp(x)*sin(x)’
>>> f = StringFunction(formula)
>>> f(0)
0.0
>>> f(pi)
2.8338239229952166e-15
>>> f(log(1))
0.0
Los errores más comunes en Python

Los tipos de errores más comunes lo son:
1. “Name” Error este surge cuando no hay una
   variable definida.
2. “Type Error” sucede por un valor en una
   operación ilegal.
3. “Index Error” este ocurre cuando en una lista
   de índice sale fuera del campo.
Los errores más comunes en Python

Ejemplo:
if z < 0:
raise ValueError, ’z=%s is negative - cannot do
log(z)’ % z
• Las listas se introdujeron en el capítulo 2.
  Éstas son útiles para almacenar datos
  tabulados. Al realizar cálculos matemáticos
  terminamos con un montón de números que
  si son guardados en listas pueden hacer los
  programas más lentos.
• Por otro lado, las matrices son un objeto
  menos flexible, pero mucho más eficiente
  para el almacenamiento. Esto no se verá en
  Python, pero si en la industria y la ciencia
  donde los programas de ordenadores corren
  por semanas y hasta meses.
•   Mi lista [2,6.0,`tmp.ps`,[0,1]]
•   El 2 es int
•   El 6.0 se conoce como flotante
•   El `tmp.ps` es una cadena
•   El [0,1] es una lista
•   Esta combinación se conoce como una lista
    heterogénea
• Podemos también eliminar fácilmente los
  elementos de una lista o añadir nuevos
  elementos en cualquier parte de ésta. Esta
  flexibilidad de las listas, en general, es
  conveniente para el programador,
  pero en los casos en que los elementos son del
  mismo tipo y el número de
  elementos es fijo, las matrices se pueden
  utilizar en su lugar. Los beneficios que tienen
  las matrices se enmarcan en la velocidad de los
  programas ya que demanda menos memoria.
• Algunas cantidades en las matemáticas están
  asociadas al conjunto de números. Ejemplo de
  estos son, las coordenadas en un plano. La
  notación utilizada es (x,y) para el punto. Un
  punto en el espacio tridimensional se escribe
  de la forma (x,y,z).
Vectores
•   En las aplicaciones de las matemáticas hay
    ciertas cantidades que se determinan por
    completo mediante su magnitud, por ejemplo;
   Longitud
   Masa
   Área
   Temperatura
• Para describir el desplazamiento de un
  objeto se requiere dos números: la magnitud
  y la dirección del desplazamiento. Para
  describir la velocidad de un objeto en
  movimiento se deben especificar tanto la
  rapidez como la dirección del recorrido.
• Las cantidades como desplazamiento,
  velocidad, aceleración y fuerza, que
  implican magnitud y también dirección, se
  llaman cantidades dirigidas. Una forma de
   representarlas, matemáticamente, es utilizando
   vectores.
• Un vector en el plano es un
  segmento de recta que tiene una
  dirección asignada. Un vector se
  representa , como se ve en la
  figura de la derecha. Este vector
  se escribe AB. La magnitud o
  longitud del vector se representa   u=AB
  por I AB I. Para representar los
  vectores también usaremos
  letras minúsculas en “Bold”.
• Dos vectores se
  consideran iguales si
  tienen igual magnitud y
  la misma dirección. Así
  todos los vectores de la
  derecha son iguales.
• Un vector puede ser
   representado por un par
   ordenado.
• CD= (x2-x1,y2-y1)
       = (8-4,-2-6)
       = (4,-8)
Si trasladamos el vector CD,
   este no cambia de
   magnitud ni dirección por
   tal motivo decimos que el
   CD = (4,8)
Chapter 5 - Sequences and Difference Equations

 Secuencia - Serie o sucesión de cosas que guardan entre sí
  cierta relación y orden. Una secuencia general se escribe
  como:
                      x0, x1, x2, . . . , xn, . . . ,

Un ejemplo es la secuencia de los números impares:
                      1, 3, 5, 7, . . . , 2n + 1, . . .
Para esta secuencia, tenemos una fórmula explícita
       2n + 1 donde “n” toma los valores 1,2,3,…

                                                               21
Podemos escribir esta secuencia de forma más compacta como:

            
     ( xn )n0        con          xn = 2n + 1

Otros ejemplos de secuencias infinitas de matemáticas son:

                                  
  1, 4, 9, 16, 25, . . . ,   ( xn )n0 ,   xn = (n + 1)2


       1   1    1                             1
   1, , , ,...( x )
       2   3    4            n n 0   , xn 
                                             n 1
                                                             22
       Las secuencias anteriores son infinitas porque
    son generadas para todos los números enteros n≥0.
    Sin embargo, la mayoría de las secuencias en
    aplicaciones de la vida real son finitas. Si usted
    deposita una cantidad de dinero (x0) en un banco a
    un porciento de interés, obtendrá una cantidad (x1)
    después de un año, (x2) después de dos años y (xN)
    después de (N) años. Este proceso resulta en la
    siguiente secuencia finita:

                                              N
              x0, x1, x2, . . . , xN, ( x    )
                                            n n 0


                                                      23
      Para algunas secuencias, no es tan fácil establecer una
    fórmula general para el término (n-ésimo). En cambio, es más
    fácil expresar una relación entre dos o más números
    consecutivos. Un ejemplo es la secuencia de los números
    impares. Esta secuencia puede ser generada de forma alterna
    por la fórmula:
                       xn+1 = xn + 2
    y la secuencia se puede comenzar con una condición inicial
    donde el valor del primer elemento se especifíca como


                       x0 = 1

                                                             24
Ecuaciones de diferencias
     Las relaciones, como la que se muestra en la
  pantalla anterior, entre elementos consecutivos en
  una secuencia se llaman relaciones recurrentes o
  ecuaciones de diferencias . Resolver una ecuación
  de diferencia puede ser bastante difícil con
  matemáticas, pero es casi trivial resolverla en una
  computadora. Es por esto que las ecuaciones de
  diferencia son muy útiles para los programas de
  computadoras y este capítulo se dedica a este tópico.



                                                     25
Modelos matemáticos basados en
                      ecuaciones de diferencia
   El objetivo de la ciencia es explicar los fenómenos complejos.
    Estos fenómenos pueden ser naturales como la fotosíntesis,
    sociales como la emigración, económicos, mecánicos,
    eléctricos, etc.
   Para comprender un fenómeno podemos crear un modelo
    cuyas características y comportamiento copien fielmente las
    características y comportamiento del fenómeno real.
   En matemáticas, un modelo consiste de un conjunto datos y
    ecuaciones que al resolverlas nos muestran o predicen el
    comportamiento del fenómeno.
   Las ecuaciones de diferencia aparecen continuamente en
    muchos modelos y son fáciles de programar.
                                                               26
Series de Taylor como ecuaciones de diferencia
  Consideremos el siguiente sistema de dos ecuaciones de
  diferencia:
                    x
                    an 1 ,
              an  n              a0 = 1
              en = en−1 + an ,     e0 = 1
  Podemos comenzar a buscar la solución:
                       x        x
  e1 = e0 + a1 = 1 +  a0 = 1 +   1 = 1 + x
                      1        1
                           x               x  x  a
  e2 = e1+a2 = (1+x) +  a1 = (1 + x) +     0
                          2                2  1 
                                         2
                  x  x             
  e2 = (1 + x) +    1 = 1 + x +  x 
                                       2 
                  2  1             
                                                           27
 2
e3 = e2+ a3 = 1 + x        +  x +
                              2        a3
                              
             2          
= 1+x
              x
           + 2    + x   
                               a2 = 1 + x
                                                2
                                              + x 
                                                        
                                                       + x
                                                               x
                                                              
                                                                     
                                                                     a
                    3                       2      3    2    1
                                                            

             2  x               
                          x    x
=1+x      +  x  + 3
             2         2    1
                                       a
                                        0
                                
                         3
               2       x 
e3 = 1 + x   + x 
               2    +  3 2 
                            

            1  2            3
                                     
e3 = 1      x  +  x  + x 
         +  1   2 1   3  2 1 
                                




                                                                           28
La serie anterior es la serie de Taylor para (e x )
                   n

           x
              
       x
  e         n  0 n!
              0        1   2           3
   x  x  x  x    ,    x  
   x
 e 0! 1! 2! 3!
       


La secuencia (an ) genera los términos recursivamente,
y la secuencia (en ) suma los términos.
                                         x
                               a   n
                                          a n 1
                                         n
                               en = en−1 + an
                                                      29
x = 1, N = 9
El Programa                    n     an_prev   en_prev     en           an
                               1       1.0       0.0       1.0          1.0
def exp_diffeq(x, N):                  1.0       1.0
  n=1                          2                           2.0          1/2

  an_prev = 1.0 # a_0                  1/2       2.0
                               3                           2.5          1/6
  en_prev = 0.0 # e_0                  1/6       2.5
  while n <= N:                4                         2.6667      1/24

     en = en_prev + an_prev           1/24     2.6667
                               5                         2.7083     1/120
     an = an_prev*x/n                 1/120    2.7083
     en_prev = en              6                         2.7167     1/720
                                      1/720    2.7167
     an_prev = an
                               7                         2.7181     1/5040
     n += 1                          1/5040    2.7181
  return en                    8                         2.71825   1/40320
                                     1/40320   2.71825
                               9                         2.71828   1/362880

                                                                   30
Referencias:
 Langtangen, P. (2008). Introduction to Computer Programming
 A Python-Based Approach for Computational Science.
 González, R. Pytho para todos. Recuperado el 14 de agosto en
 http://mundogeek.net/tutorial-python/

  Recuperado el 20 de agosto en
  http://www.youtube.com/watch?v=x9M3R6igH2E&p=D21DD37136A73127&in
  dex=15

  Recuperado el 25 de agosto en
  http://www.youtube.com/watch?v=x9M3R6igH2E&p=D21DD37136A73127&in
  dex=16

  Recuperado el 2 de septiembre en
  http://www.youtube.com/watch?v=x9M3R6igH2E&p=D21DD37136A73127&in
  dex=17
32

Más contenido relacionado

La actualidad más candente

Ecuaciones diferenciales ordinarias
Ecuaciones diferenciales ordinariasEcuaciones diferenciales ordinarias
Ecuaciones diferenciales ordinarias
Jaime Martínez Verdú
 
ecuaciones diferenciales
ecuaciones diferencialesecuaciones diferenciales
ecuaciones diferenciales
Luis Marcillo
 
Cap4
Cap4Cap4
Integral indefinida
Integral indefinidaIntegral indefinida
Integral indefinida
Erick Guaman
 
Cap1
Cap1Cap1
Cap1
eveliad
 
Metodos de eliminacion algebraicos
Metodos de eliminacion algebraicosMetodos de eliminacion algebraicos
Metodos de eliminacion algebraicos
Ing Oseguera
 
Algebra lineal problemas_resueltos
Algebra lineal problemas_resueltosAlgebra lineal problemas_resueltos
Algebra lineal problemas_resueltos
mathbmc
 
Ecuaciones diferenciales 1
Ecuaciones diferenciales 1Ecuaciones diferenciales 1
Ecuaciones diferenciales 1
Max Angel Rojas Martínez
 
Metodos Para Resolver Integrales
Metodos Para Resolver IntegralesMetodos Para Resolver Integrales
Metodos Para Resolver Integrales
Marcos Boe
 
Busqueda de Simetrías en S-sistemas
Busqueda de Simetrías en S-sistemasBusqueda de Simetrías en S-sistemas
Busqueda de Simetrías en S-sistemas
Enrique Diaz Ocampo
 
Factorizacion lu[1]
Factorizacion lu[1]Factorizacion lu[1]
Factorizacion lu[1]
daferro
 
Ecuaciones (metodos de solucion)
Ecuaciones (metodos de solucion)Ecuaciones (metodos de solucion)
Ecuaciones (metodos de solucion)
ERICK CONDE
 
Integral por partes
Integral por partesIntegral por partes
Integral por partes
David Biava Garrido
 
Solución Numérica EDO
Solución Numérica EDOSolución Numérica EDO
Solución Numérica EDO
Saul Olaf Loaiza Meléndez
 
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
Carlos Aguilar
 
Metodo de integración POR PARTES.
Metodo de integración POR PARTES.Metodo de integración POR PARTES.
Metodo de integración POR PARTES.
JOSE FELIPE RHENALS ALMANZA
 
Apunte usm resolución ed os
Apunte usm    resolución ed osApunte usm    resolución ed os
Apunte usm resolución ed os
Cristian Cofré Sepúlveda
 
Cap5
Cap5Cap5
1b ecuaciones%20 lineales%20y%20bernoulli
1b ecuaciones%20 lineales%20y%20bernoulli1b ecuaciones%20 lineales%20y%20bernoulli
1b ecuaciones%20 lineales%20y%20bernoulli
John Giraldo
 
Combinación lineal, espacio generado e independencia lineal
Combinación lineal, espacio generado e independencia linealCombinación lineal, espacio generado e independencia lineal
Combinación lineal, espacio generado e independencia lineal
Braian Moreno Cifuentes
 

La actualidad más candente (20)

Ecuaciones diferenciales ordinarias
Ecuaciones diferenciales ordinariasEcuaciones diferenciales ordinarias
Ecuaciones diferenciales ordinarias
 
ecuaciones diferenciales
ecuaciones diferencialesecuaciones diferenciales
ecuaciones diferenciales
 
Cap4
Cap4Cap4
Cap4
 
Integral indefinida
Integral indefinidaIntegral indefinida
Integral indefinida
 
Cap1
Cap1Cap1
Cap1
 
Metodos de eliminacion algebraicos
Metodos de eliminacion algebraicosMetodos de eliminacion algebraicos
Metodos de eliminacion algebraicos
 
Algebra lineal problemas_resueltos
Algebra lineal problemas_resueltosAlgebra lineal problemas_resueltos
Algebra lineal problemas_resueltos
 
Ecuaciones diferenciales 1
Ecuaciones diferenciales 1Ecuaciones diferenciales 1
Ecuaciones diferenciales 1
 
Metodos Para Resolver Integrales
Metodos Para Resolver IntegralesMetodos Para Resolver Integrales
Metodos Para Resolver Integrales
 
Busqueda de Simetrías en S-sistemas
Busqueda de Simetrías en S-sistemasBusqueda de Simetrías en S-sistemas
Busqueda de Simetrías en S-sistemas
 
Factorizacion lu[1]
Factorizacion lu[1]Factorizacion lu[1]
Factorizacion lu[1]
 
Ecuaciones (metodos de solucion)
Ecuaciones (metodos de solucion)Ecuaciones (metodos de solucion)
Ecuaciones (metodos de solucion)
 
Integral por partes
Integral por partesIntegral por partes
Integral por partes
 
Solución Numérica EDO
Solución Numérica EDOSolución Numérica EDO
Solución Numérica EDO
 
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
 
Metodo de integración POR PARTES.
Metodo de integración POR PARTES.Metodo de integración POR PARTES.
Metodo de integración POR PARTES.
 
Apunte usm resolución ed os
Apunte usm    resolución ed osApunte usm    resolución ed os
Apunte usm resolución ed os
 
Cap5
Cap5Cap5
Cap5
 
1b ecuaciones%20 lineales%20y%20bernoulli
1b ecuaciones%20 lineales%20y%20bernoulli1b ecuaciones%20 lineales%20y%20bernoulli
1b ecuaciones%20 lineales%20y%20bernoulli
 
Combinación lineal, espacio generado e independencia lineal
Combinación lineal, espacio generado e independencia linealCombinación lineal, espacio generado e independencia lineal
Combinación lineal, espacio generado e independencia lineal
 

Destacado

Exposición Nº 3
Exposición Nº 3Exposición Nº 3
Exposición Nº 3
modelos_unesr
 
Las cinco fuerzas de michael porter
Las cinco fuerzas de michael porterLas cinco fuerzas de michael porter
Las cinco fuerzas de michael porter
Ruben Varon
 
5 fuerzas basicas que sugiere Michael Poter
5 fuerzas basicas que sugiere Michael Poter5 fuerzas basicas que sugiere Michael Poter
5 fuerzas basicas que sugiere Michael Poter
ANY2101
 
Programacion modular
Programacion modularProgramacion modular
Programacion modular
Carmen Silva
 
Cadena de valores
Cadena de valoresCadena de valores
Cadena de valores
DESIRE
 
La cadena de valor de Michael Porter
La cadena de valor de Michael PorterLa cadena de valor de Michael Porter
La cadena de valor de Michael Porter
wsanavria
 
Cadena de valor empresarial
Cadena de valor empresarialCadena de valor empresarial
Cadena de valor empresarial
Maykel Centeno
 
Cadena de Valor
Cadena de ValorCadena de Valor
Cadena de Valor
Oscar Moreno
 

Destacado (8)

Exposición Nº 3
Exposición Nº 3Exposición Nº 3
Exposición Nº 3
 
Las cinco fuerzas de michael porter
Las cinco fuerzas de michael porterLas cinco fuerzas de michael porter
Las cinco fuerzas de michael porter
 
5 fuerzas basicas que sugiere Michael Poter
5 fuerzas basicas que sugiere Michael Poter5 fuerzas basicas que sugiere Michael Poter
5 fuerzas basicas que sugiere Michael Poter
 
Programacion modular
Programacion modularProgramacion modular
Programacion modular
 
Cadena de valores
Cadena de valoresCadena de valores
Cadena de valores
 
La cadena de valor de Michael Porter
La cadena de valor de Michael PorterLa cadena de valor de Michael Porter
La cadena de valor de Michael Porter
 
Cadena de valor empresarial
Cadena de valor empresarialCadena de valor empresarial
Cadena de valor empresarial
 
Cadena de Valor
Cadena de ValorCadena de Valor
Cadena de Valor
 

Similar a Python

Mr1i 753-2007-2
Mr1i 753-2007-2Mr1i 753-2007-2
Mr1i 753-2007-2
Pablo Enrique Diez Rincon
 
Ecuaciones def sistema
Ecuaciones def sistemaEcuaciones def sistema
Ecuaciones def sistema
Jorge Lokito Dany
 
Ay t mod2-3
Ay t mod2-3Ay t mod2-3
Ay t mod2-3
Wilmar Alzate
 
2 integracion
2 integracion2 integracion
2 integracion
Ricardo Lome
 
Ecuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no linealesEcuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no lineales
Ronny Malpica
 
Sistemas de ecuauciones dif.
Sistemas de ecuauciones dif.Sistemas de ecuauciones dif.
Sistemas de ecuauciones dif.
verdonica
 
Apuntes metodos-numericos-aproximacion-funcional-e-interpolacion
Apuntes metodos-numericos-aproximacion-funcional-e-interpolacionApuntes metodos-numericos-aproximacion-funcional-e-interpolacion
Apuntes metodos-numericos-aproximacion-funcional-e-interpolacion
miguelcasa
 
An 04 metodos-directos
An 04 metodos-directosAn 04 metodos-directos
An 04 metodos-directos
Romelmasterdjj Jovys
 
3.metodo directo
3.metodo directo3.metodo directo
3.metodo directo
rjvillon
 
FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)
FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)
FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)
Videoconferencias UTPL
 
Tabla de integrales (integrales trigonometricas)
Tabla de integrales (integrales trigonometricas)Tabla de integrales (integrales trigonometricas)
Tabla de integrales (integrales trigonometricas)
waltergomez627
 
40 diapositivas
40 diapositivas40 diapositivas
40 diapositivas
grisf0rever
 
Sistema de Ecuaciones diferenciales
Sistema de Ecuaciones diferencialesSistema de Ecuaciones diferenciales
Sistema de Ecuaciones diferenciales
Kike Prieto
 
LOGICA Y PENSAMIENTO MATEMATICO
LOGICA Y PENSAMIENTO MATEMATICOLOGICA Y PENSAMIENTO MATEMATICO
LOGICA Y PENSAMIENTO MATEMATICO
ginna paola
 
El trascendental número de euler 2
El trascendental número de euler 2 El trascendental número de euler 2
El trascendental número de euler 2
Chombas Cordoba
 
Microsoft word 7.sistemas de ecuaciones diferenciales en derivadas par...
Microsoft word   7.sistemas de ecuaciones diferenciales      en derivadas par...Microsoft word   7.sistemas de ecuaciones diferenciales      en derivadas par...
Microsoft word 7.sistemas de ecuaciones diferenciales en derivadas par...
iverd
 
Sistema de ecuaciones lineales
Sistema de ecuaciones linealesSistema de ecuaciones lineales
Sistema de ecuaciones lineales
Carolina Pinto Bayas
 
Ecuaciones diferenciales ordinarias
Ecuaciones diferenciales ordinariasEcuaciones diferenciales ordinarias
Ecuaciones diferenciales ordinarias
Kike Prieto
 
Apuntesdefisica
ApuntesdefisicaApuntesdefisica
Apuntesdefisica
Maggy Barrios
 
Clase1 matemáticas
Clase1 matemáticasClase1 matemáticas
Clase1 matemáticas
Jessica Gonzalez
 

Similar a Python (20)

Mr1i 753-2007-2
Mr1i 753-2007-2Mr1i 753-2007-2
Mr1i 753-2007-2
 
Ecuaciones def sistema
Ecuaciones def sistemaEcuaciones def sistema
Ecuaciones def sistema
 
Ay t mod2-3
Ay t mod2-3Ay t mod2-3
Ay t mod2-3
 
2 integracion
2 integracion2 integracion
2 integracion
 
Ecuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no linealesEcuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no lineales
 
Sistemas de ecuauciones dif.
Sistemas de ecuauciones dif.Sistemas de ecuauciones dif.
Sistemas de ecuauciones dif.
 
Apuntes metodos-numericos-aproximacion-funcional-e-interpolacion
Apuntes metodos-numericos-aproximacion-funcional-e-interpolacionApuntes metodos-numericos-aproximacion-funcional-e-interpolacion
Apuntes metodos-numericos-aproximacion-funcional-e-interpolacion
 
An 04 metodos-directos
An 04 metodos-directosAn 04 metodos-directos
An 04 metodos-directos
 
3.metodo directo
3.metodo directo3.metodo directo
3.metodo directo
 
FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)
FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)
FUNDAMENTOS MATEMATICOS (I Bimestre Abril Agosto 2011)
 
Tabla de integrales (integrales trigonometricas)
Tabla de integrales (integrales trigonometricas)Tabla de integrales (integrales trigonometricas)
Tabla de integrales (integrales trigonometricas)
 
40 diapositivas
40 diapositivas40 diapositivas
40 diapositivas
 
Sistema de Ecuaciones diferenciales
Sistema de Ecuaciones diferencialesSistema de Ecuaciones diferenciales
Sistema de Ecuaciones diferenciales
 
LOGICA Y PENSAMIENTO MATEMATICO
LOGICA Y PENSAMIENTO MATEMATICOLOGICA Y PENSAMIENTO MATEMATICO
LOGICA Y PENSAMIENTO MATEMATICO
 
El trascendental número de euler 2
El trascendental número de euler 2 El trascendental número de euler 2
El trascendental número de euler 2
 
Microsoft word 7.sistemas de ecuaciones diferenciales en derivadas par...
Microsoft word   7.sistemas de ecuaciones diferenciales      en derivadas par...Microsoft word   7.sistemas de ecuaciones diferenciales      en derivadas par...
Microsoft word 7.sistemas de ecuaciones diferenciales en derivadas par...
 
Sistema de ecuaciones lineales
Sistema de ecuaciones linealesSistema de ecuaciones lineales
Sistema de ecuaciones lineales
 
Ecuaciones diferenciales ordinarias
Ecuaciones diferenciales ordinariasEcuaciones diferenciales ordinarias
Ecuaciones diferenciales ordinarias
 
Apuntesdefisica
ApuntesdefisicaApuntesdefisica
Apuntesdefisica
 
Clase1 matemáticas
Clase1 matemáticasClase1 matemáticas
Clase1 matemáticas
 

Python

  • 1. Introduction to Computer Programming A Python-Based Approach for Computational Science Hans Petter Langtangen Simula Research Laboratory and Department of Informatics University of Oslo Resumen del capítulo 3, 4 y5 preparado por: Kenneth Robles Ramos Osvaldo Medina Irizarry Héctor L. Rodríguez Toro Para la clase: MATH-5500 Matemáticas Discretas Avanzadas
  • 2. Introducción ¿Qué es Python? Python es un leguaje de programación creado por Guido Van Rossum a principios de los años noventa. El nombre del programa está inspirado en un grupo cómico de ingleses “Monty Python”.
  • 3. Sistemas operativos El programa Python está disponible para varios sistemas operativos entre los cuales se encuentran:  UNIX  Solaris  Linux  Windows
  • 4. ¿Por qué utilizar Python? Su lenguaje es simple, claro y sencillo. Esto es tan así que se cree que es uno de los mejores programas para empezar a programar. Algunos casos que han tenido éxito con Python son: 1. Google 2. Yahoo 3. NASA 4. Linux
  • 5. Suponga que quiere calcular la temperatura de grados Celsius a grados Fahrenheit utilizando el programa Python, ¿cómo lo haríamos?
  • 6. Tomando la fórmula de grados Fahrenheit, ¿cómo hacemos que el programa corra sin escribir el valor de entrada?
  • 7. La función “Eval” Esta función toma una cadena como argumento y la evalúa como una expresión de Python. Cualquier expresión de texto válida para Python y escrita como cadena puede ser evaluada. La función “Eval” también se puede utilizar con listas y síntaxis de tupla.
  • 8. La función “String” Escrita una fórmula matemática como una cadena podemos convertir la misma en una función Python. Ejemplo >>> from scitools.StringFunction import StringFunction >>> formula = ’exp(x)*sin(x)’ >>> f = StringFunction(formula)
  • 10. Los errores más comunes en Python Los tipos de errores más comunes lo son: 1. “Name” Error este surge cuando no hay una variable definida. 2. “Type Error” sucede por un valor en una operación ilegal. 3. “Index Error” este ocurre cuando en una lista de índice sale fuera del campo.
  • 11. Los errores más comunes en Python Ejemplo: if z < 0: raise ValueError, ’z=%s is negative - cannot do log(z)’ % z
  • 12. • Las listas se introdujeron en el capítulo 2. Éstas son útiles para almacenar datos tabulados. Al realizar cálculos matemáticos terminamos con un montón de números que si son guardados en listas pueden hacer los programas más lentos. • Por otro lado, las matrices son un objeto menos flexible, pero mucho más eficiente para el almacenamiento. Esto no se verá en Python, pero si en la industria y la ciencia donde los programas de ordenadores corren por semanas y hasta meses.
  • 13. Mi lista [2,6.0,`tmp.ps`,[0,1]] • El 2 es int • El 6.0 se conoce como flotante • El `tmp.ps` es una cadena • El [0,1] es una lista • Esta combinación se conoce como una lista heterogénea
  • 14. • Podemos también eliminar fácilmente los elementos de una lista o añadir nuevos elementos en cualquier parte de ésta. Esta flexibilidad de las listas, en general, es conveniente para el programador, pero en los casos en que los elementos son del mismo tipo y el número de elementos es fijo, las matrices se pueden utilizar en su lugar. Los beneficios que tienen las matrices se enmarcan en la velocidad de los programas ya que demanda menos memoria.
  • 15. • Algunas cantidades en las matemáticas están asociadas al conjunto de números. Ejemplo de estos son, las coordenadas en un plano. La notación utilizada es (x,y) para el punto. Un punto en el espacio tridimensional se escribe de la forma (x,y,z).
  • 16. Vectores • En las aplicaciones de las matemáticas hay ciertas cantidades que se determinan por completo mediante su magnitud, por ejemplo;  Longitud  Masa  Área  Temperatura
  • 17. • Para describir el desplazamiento de un objeto se requiere dos números: la magnitud y la dirección del desplazamiento. Para describir la velocidad de un objeto en movimiento se deben especificar tanto la rapidez como la dirección del recorrido. • Las cantidades como desplazamiento, velocidad, aceleración y fuerza, que implican magnitud y también dirección, se llaman cantidades dirigidas. Una forma de representarlas, matemáticamente, es utilizando vectores.
  • 18. • Un vector en el plano es un segmento de recta que tiene una dirección asignada. Un vector se representa , como se ve en la figura de la derecha. Este vector se escribe AB. La magnitud o longitud del vector se representa u=AB por I AB I. Para representar los vectores también usaremos letras minúsculas en “Bold”.
  • 19. • Dos vectores se consideran iguales si tienen igual magnitud y la misma dirección. Así todos los vectores de la derecha son iguales.
  • 20. • Un vector puede ser representado por un par ordenado. • CD= (x2-x1,y2-y1) = (8-4,-2-6) = (4,-8) Si trasladamos el vector CD, este no cambia de magnitud ni dirección por tal motivo decimos que el CD = (4,8)
  • 21. Chapter 5 - Sequences and Difference Equations  Secuencia - Serie o sucesión de cosas que guardan entre sí cierta relación y orden. Una secuencia general se escribe como: x0, x1, x2, . . . , xn, . . . , Un ejemplo es la secuencia de los números impares: 1, 3, 5, 7, . . . , 2n + 1, . . . Para esta secuencia, tenemos una fórmula explícita 2n + 1 donde “n” toma los valores 1,2,3,… 21
  • 22. Podemos escribir esta secuencia de forma más compacta como:  ( xn )n0 con xn = 2n + 1 Otros ejemplos de secuencias infinitas de matemáticas son:  1, 4, 9, 16, 25, . . . , ( xn )n0 , xn = (n + 1)2 1 1 1  1 1, , , ,...( x ) 2 3 4 n n 0 , xn  n 1 22
  • 23. Las secuencias anteriores son infinitas porque son generadas para todos los números enteros n≥0. Sin embargo, la mayoría de las secuencias en aplicaciones de la vida real son finitas. Si usted deposita una cantidad de dinero (x0) en un banco a un porciento de interés, obtendrá una cantidad (x1) después de un año, (x2) después de dos años y (xN) después de (N) años. Este proceso resulta en la siguiente secuencia finita: N x0, x1, x2, . . . , xN, ( x ) n n 0 23
  • 24. Para algunas secuencias, no es tan fácil establecer una fórmula general para el término (n-ésimo). En cambio, es más fácil expresar una relación entre dos o más números consecutivos. Un ejemplo es la secuencia de los números impares. Esta secuencia puede ser generada de forma alterna por la fórmula: xn+1 = xn + 2 y la secuencia se puede comenzar con una condición inicial donde el valor del primer elemento se especifíca como x0 = 1 24
  • 25. Ecuaciones de diferencias  Las relaciones, como la que se muestra en la pantalla anterior, entre elementos consecutivos en una secuencia se llaman relaciones recurrentes o ecuaciones de diferencias . Resolver una ecuación de diferencia puede ser bastante difícil con matemáticas, pero es casi trivial resolverla en una computadora. Es por esto que las ecuaciones de diferencia son muy útiles para los programas de computadoras y este capítulo se dedica a este tópico. 25
  • 26. Modelos matemáticos basados en ecuaciones de diferencia  El objetivo de la ciencia es explicar los fenómenos complejos. Estos fenómenos pueden ser naturales como la fotosíntesis, sociales como la emigración, económicos, mecánicos, eléctricos, etc.  Para comprender un fenómeno podemos crear un modelo cuyas características y comportamiento copien fielmente las características y comportamiento del fenómeno real.  En matemáticas, un modelo consiste de un conjunto datos y ecuaciones que al resolverlas nos muestran o predicen el comportamiento del fenómeno.  Las ecuaciones de diferencia aparecen continuamente en muchos modelos y son fáciles de programar. 26
  • 27. Series de Taylor como ecuaciones de diferencia Consideremos el siguiente sistema de dos ecuaciones de diferencia:  x    an 1 , an  n  a0 = 1 en = en−1 + an , e0 = 1 Podemos comenzar a buscar la solución:  x  x e1 = e0 + a1 = 1 +  a0 = 1 +   1 = 1 + x 1 1  x  x  x  a e2 = e1+a2 = (1+x) +  a1 = (1 + x) +     0 2  2  1  2  x  x    e2 = (1 + x) +    1 = 1 + x +  x   2   2  1    27
  • 28.  2 e3 = e2+ a3 = 1 + x +  x +  2  a3    2   = 1+x x + 2  + x  a2 = 1 + x  2 + x   + x  x   a    3   2   3  2  1           2  x     x  x =1+x +  x  + 3  2    2  1 a  0        3  2  x  e3 = 1 + x + x   2  +  3 2       1  2   3  e3 = 1  x  +  x  + x  +  1   2 1   3  2 1        28
  • 29. La serie anterior es la serie de Taylor para (e x ) n x  x e n  0 n! 0 1 2 3 x  x  x  x    ,    x   x e 0! 1! 2! 3!  La secuencia (an ) genera los términos recursivamente, y la secuencia (en ) suma los términos. x a n    a n 1 n en = en−1 + an 29
  • 30. x = 1, N = 9 El Programa n an_prev en_prev en an 1 1.0 0.0 1.0 1.0 def exp_diffeq(x, N): 1.0 1.0 n=1 2 2.0 1/2 an_prev = 1.0 # a_0 1/2 2.0 3 2.5 1/6 en_prev = 0.0 # e_0 1/6 2.5 while n <= N: 4 2.6667 1/24 en = en_prev + an_prev 1/24 2.6667 5 2.7083 1/120 an = an_prev*x/n 1/120 2.7083 en_prev = en 6 2.7167 1/720 1/720 2.7167 an_prev = an 7 2.7181 1/5040 n += 1 1/5040 2.7181 return en 8 2.71825 1/40320 1/40320 2.71825 9 2.71828 1/362880 30
  • 31. Referencias: Langtangen, P. (2008). Introduction to Computer Programming A Python-Based Approach for Computational Science. González, R. Pytho para todos. Recuperado el 14 de agosto en http://mundogeek.net/tutorial-python/ Recuperado el 20 de agosto en http://www.youtube.com/watch?v=x9M3R6igH2E&p=D21DD37136A73127&in dex=15 Recuperado el 25 de agosto en http://www.youtube.com/watch?v=x9M3R6igH2E&p=D21DD37136A73127&in dex=16 Recuperado el 2 de septiembre en http://www.youtube.com/watch?v=x9M3R6igH2E&p=D21DD37136A73127&in dex=17
  • 32. 32