aula_NumPy
23 pág.

aula_NumPy


DisciplinaComputação II177 materiais498 seguidores
Pré-visualização1 página
Módulo NumPy
Bianca Couto Ruivo
bianca.ruivo@gmail.com
 
 03/11/2011
 
 
Roteiro
\uf06e Download e instalação
\uf06e Tipos de dados (matrix e array)
\uf06e Aplicações
\u2013 Matrizes 
\u2013 Sistemas Lineares 
\u2013 Polinômios
\u2013 Outras
\uf06e Referências
 
 
Download e instalação
\uf0d8 Pacote baseado na linguagem C e utilizado para Computação Científica 
\uf0d8 Usado para manipulação de arrays multidimensionais e matrizes
\uf0d8 Pode ser baixado gratuitamente no endereço http://numpy.scipy.org/ 
\uf0d8 Fácil de instalar \u2013 funciona em sistemas Windows, Linux, Solaris, Mac OS X
\uf0d8 Uso: 
 >>> import numpy
 OU
 >>> from numpy import *
 
 
Tipos de dados- array e matriz
\uf0d8 Array (ndarray): 
\u2013 vetores homogêneos n-dimensionais 
\u2013 cada elemento do mesmo tipo (int ou float) 
\u2013 mais eficientes que listas
 a = np.array([[1, 2], [3, 4]])
\uf0d8 Matrix:
\u2013 Tipo específico de array bidimensional
 a = np.matrix('1 2; 3 4')
 
 
Tipos de dados - Array
 
 
Tipos de dados - Array
 
 
Tipos de dados - Array
 
 
Tipos de dados - Array
Acessando arrays
 
 
Tipos de dados - Array
Operações com arrays
 
 
Tipos de dados - Array
Operações com arrays
 
 
Tipos de dados - Array
 # importando o numpy
 >>> import numpy as np
 # criacao de um array multidimensional
 >>> a = np.array([[0,1,2,3], [4,5,6,7], [8,9,10,11]])
 >>> a
 array([[ 0, 1, 2, 3],
 [ 4, 5, 6, 7],
 [ 8, 9, 10, 11]])
 # tamanho do array
 >>> a.shape
 (3,4)
 # alterando a dimensao do array
 >>> a.shape = (2,6)
 >>> a
 array([[ 0, 1, 2, 3, 4, 5],
 [ 6, 7, 8, 9, 10, 11]])
 
 
 
Tipos de dados - Array
>>> print a
 array([[ 0, 1, 2, 3, 4, 5],
 [ 6, 7, 8, 9, 10, 11]])
# para acessar os elementos
>>> a[1,3]
9
>> a[0,3:5] 
array([3, 4])
# somar todos os elementos do array
>>> np.sum(a)
66
# soma dos elementos por eixo
>>> np.sum(a, axis=0) # ou a.sum(axis=0)
Array([ 6, 8, 10, 12, 14, 16])
>>> np.sum(a, axis=1) # ou a.sum(axis=1)
array([ 15, 51])
 
 
 
 
Tipos de dados - Array
 >>> a
 array([[ 0, 1, 2, 3, 4, 5],
 [ 6, 7, 8, 9, 10, 11]])
 
# valor minimo do array
>>> np.amin(a)
0
# valor maximo do array
>>> np.amax(a)
11
# posicao do maior valor do array
>>> np.argmax(a)
11
# posicao do menor valor do array
>>> np.argmin(a)
0
>>> array([1,2,3,4,5]) / 5
array([0, 0, 0, 0, 1])
>>> array([1.0,2,3,4,5]) / 5.0
Array([ 0.2, 0.4, 0.6, 0.8, 1. ])
# produto escalar entre 2 arrays
>>> dot(array([1,2,3,4,5]), array([2,3,4,5,6]))
71
 
 
 
 
Tipos de dados - Array
>>> x = array([[1,2,3,4],[5,6,7,8]])
>>> x
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
>>> x>5
array([[False, False, False, False],
[False, True, True, True]], dtype=bool)
>>> x[x>5]
Array([6, 7, 8])
>>> sum(x[x>5])
21
>>> (x>2) & (x<7)
array([[False, False, True, True],
[ True, True, False, False]], dtype=bool)
>>> x[(x>2) & (x<7)]
Array([3, 4, 5, 6])
>>> x[x>5] = 5
>>> x
array([[1, 2, 3, 4],
[5, 5, 5, 5]])
 
 
 
 
Aplicações - Matrizes
>>> b = np.matrix('1 2; 3 4')
>>> b
matrix([[1, 2],
 [3, 4]])
# inversa
>>> b.I # ou la.inv(b)
matrix([[-2. , 1. ],
 [ 1.5, -0.5]])
# multiplicacao por escalar
>>> b*2
matrix([[2, 4],
 [6, 8]])
# potencia
>>>b**2
matrix([[ 7, 10],
 [15, 22]])
 
 
Aplicações - Matrizes
>>> a=np.matrix('4 3; 2 1')
>>> b=np.matrix('1 2; 3 4')
>>> print a
matrix([[4 3]
 [2 1]])
>>> print b
matrix([[1 2]
 [3 4]])
>> print a*b
matrix([[13 20]
 [ 5 8]])
>> print a+b
matrix([[5 5]
 [ 5 5]])
 
 
Aplicações - Matrizes
# matriz 2x2
>>> a = np.matrix('1 2; 3 4')
>>> print a
matrix([[4 3]
 [2 1]])
# elementos da diagonal
>>> np.diagonal(a)
# determinante
>>> la.det(a)
# muda a ordem dos elementos (transposta)
>>> a.transpose() # ou a.T
# inversa
>>> a.I # ou la.inv(a)
# autovalores e autovetores
e,v = la.eig(a)
 
 
Aplicações - Matrizes
>>> a
 array([[ 0, 1, 2, 3, 4, 5],
 [ 6, 7, 8, 9, 10, 11]])
# matriz transposta
>>> a.transpose()
>>> a.T
array([[ 0, 6],
 [ 1, 7],
 [ 2, 8],
 [ 3, 9],
 [ 4, 10],
 [ 5, 11]])
# determinante (matriz tem que ser quadrada)
>>> a = np.array([[1,0,0], [0,1,0], [0,0,1]])
>>> la.det(a)
# elementos da diagonal principal
>>> np.diagonal(a)
array([1,1,1])
 
 
 
 
Aplicações - Matrizes
>> import numpy as np
>>> import numpy.linalg as la
# matriz como array
>>> m1 = np.array([[1,0],[0,2]])
# determinante de m1
>>> la.det(m1)
# inversa de m1
>>> la.inv(m1)
# autovalores e autovetores
>>> e,v = la.eig(m1)
# produto de matrizes
>>> c = np.array([[4, 3], [2, 1]])
>>> d = np.array([[1, 2], [3, 4]])
>>> print(np.dot(c,d))
array([[13 20]
 [ 5 8]])
 
 
 
 
Aplicações \u2013 Sistemas Lineares
 
 
Aplicações \u2013 Polinômios
 
 
Aplicações \u2013 Outras
\uf0d8 Ajuste de curvas
\uf0d8 Numeros aleatórios
\uf0d8 Solução de equações diferenciais
\uf0d8 Outras
 
 
Referências
\uf0d8 NumPy Book: http://www.tramy.us/numpybook.pdf
\uf0d8 Download e instalação do NumPy: http://numpy.scipy.org 
\uf0d8 Livro Python para desenvolvedores: http://ark4n.wordpress.com/python 
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23