Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTEGRANTES: BAOS GARCIA HEBERTO ALCANTARA PAZ SIMEYT DE LA CRUZ HERNANDEZ ERICK
numpy
Librera fundamental para hacer comput cienti co con pitn Un poderoso arreglo de dimensin N (ndarray) Mtodos avanzados para seleccionar elementos de los arreglos Librera bsica de algebra lineal Librera bsica de transformada de Fourier Librera avanzada de generacin de nmeros aleatorios Herramientas para extender Numpy con cdigo en C y en Fortran.
numpy
Librera para trabajar con arreglos multidimensionales El arreglo es un conjunto de elementos de un mismo tipo, indexados por un vector de enteros no negativos. Los arreglos se pueden crear de diferentes maneras >>> from numpy import * >>> a = array( [ 10, 20, 30, 40 ] ) >>> a array([10, 20, 30, 40]) >>> b = arange(4) >>> b array([0, 1, 2, 3]) >>> c = linspace(-pi,pi,3) >>> c array([-3.14159265,0.0,3.14159265])
numpy
Se puede construir arreglos a partir de otros arreglos >>> d = a+b**2 >>> d array([10, 21, 34, 49])
numpy
Se puede construir arreglos a partir de otros arreglos >>> d = a+b**2 >>> d array([10, 21, 34, 49])
Numpy
Los arreglos pueden tener ms de una dimensin >>> x = ones( (3,4) >>> x array([[1., 1., 1., [1., 1., 1., [1., 1., 1.,) 1.], 1.], 1.]]) >>> x.shape (3, 4)
numpy
Se puede cambiar la dimensin de un arreglo existente >>> y = arange(12) >>> y array([ 0, 1, 2, 3, 4,5,6,7,8,9, 10, 11]) >>> y.shape = 3,4 >>> y array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
numpy Es posible operar arreglos de dimensiones diferentes si la operacin tiene sentido (broadcasting) >>> 3*a # multiplica a por 3 array([ 30, 60, 90, 120]) >>> a+y # suma a a cada rengln de y array([[10, 21, 32, 43], [14, 25, 36, 47], [18, 29, 40, 51]])
numpy
Los arreglos se pueden acceder mediante indexing, slicing o iteracin >>> a[2:4] = -7,-3 >>> for i in a: ... print i ... 10 20 -7 -3
numpy
Cuando se accede un arreglo de dos o ms dimensiones mediante indexing, los ndices se separan por comas >>> x[1,2] = 20 >>> x[1,:] array([ 1, 1, 20, 1]) >>> x[0] = a >>> x array([[10, 20, -7, -3], [ 1, 1, 20, 1], [ 1, 1, 1, 1]])
numpy El arreglo (ndarray) es una clase. Los atributos mas importantes de la clase arreglo son ndarray.ndim El nmero de ejes (dimensiones) del arreglo. arreglo.shape Las dimensiones del arreglo. Una tupla de enteros que indica el tamao del arreglo en cada dimensin. ndarray.size El nmero total de elementos del arreglo. ndarray.dtype Un objeto que describe el tipo de elementos del arreglo. Booleanos, otantes, etc. ndarray.itemsize El tamao en bytes de cada elemento del arreglo ndarray.data El bu er que contiene los elementos del arreglo
numpy
Hay numerosas funciones implementadas como mtodos de la clase array. En general es preferible usar arreglos, pero tambin es posible trabajar con matrices. Aqu muestro un ejemplo... >>> a = random.random((2,3)) >>> a array([[ 0.6903007 , 0.39168346, [ 0.48819875, 0.77188505, 0.16524769], 0.94792155]]) >>> a.sum() 3.4552372100521485 >>> a.min() 0.16524768654743593 >>> a.max() 0.9479215542670073
Ejemplos
Anlisis de error y diferencias nitas Aproximar Cuadratura adaptativa Calcular nmeros de Fibonacci Mapeo logstico
valor exacto
Anlisis de error y diferencias nitas Error en los datos y error en los clculos Problema tpico: Dados una funcin f : R R y un argumento x R, evaluar f (x) x valor del argumento (exacto) f (x) resultado deseado (exacto) x valor aproximado del argumento (inexacto) f (x ) resultado calculado (inexacto) Error total: f (x ) f (x) = f (x ) f (x ) + f (x ) f (x) error computacional + error en los datos El algoritmo no afecta el error en los datos
f (x)
f (x + h) h
f (x)
exhibe compensacin entre error de redondeo y error de truncacion El error de truncacion esta acotado por M h/2, donde |f (t)| M para t x El error de redondeo esta acotado por 2 /h, donde f (x) El error total se minimiza cuando h 2/M .
El error crece cuando h es pequea por el error de redondeo, y crece cuando h es grande por el error de truncacion