Buscar

Aula Numpy - Python Computação II - Engenharia Mecânica UFRJ

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Módulo NumPy
 
Numpy e Scipy
● Numpy é um módulo do Python que oference recursos 
para manipulação de arrays e matrizes, além funções 
de álgebra linear.
● Outro módulo usado é o Scipy (Scientific Python) , que 
extende as funcionalidades do Numpy com funções 
para minimização, regressão, transformações de Fourier 
e outras.
● Numpy e Scipy podem ser baixados em: 
http://www.scipy.org/download 
 
Numpy e Scipy
● Numpy and Scipy são uma alternativa para o MATLAB. 
Apesar de o MATLAB ter um grande número de 
ferramentas adicionais disponíveis, Numpy tem a 
vantagem de que Python é uma linguagem mais 
moderna e completa, é de graça, e é open source. 
Scipy adiciona ainda mais funcionalidades estilo 
MATLAB ao Python.
● Python também se aproxima mais ainda do MATLAB 
com o pacote de plotagem Matplotlib, que provê 
funções de plotagem parecidas com a do MATLAB.
 
Numpy
● É um pacote que inclui;
– Classe array
– Classe matrix
– Várias funções auxiliares
● Para importar:
– Import numpy
– Form numpy import *
 
Array
● A classe Array implementa um arranjo homogêneo 
mutável, com número arbitrário de elementos, 
semelhante à lista comum do Python, porém mais 
poderosa. 
● Para criar um Array a partir de uma lista:
 a = numpy.array([0, 1, 2, 3, 4, 5, 6, 7, 8])
 print a
 [0 1 2 3 4 5 6 7 8]
 
Array
● Para criar um Array a partir de um intervalo:
 z = numpy.arange(0., 4.5, .5)
 print z
 [ 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. ]
● Para criar um Array só de 1's:
 y = numpy.ones((2, 3))
 print y
 [[ 1. 1. 1.]
 [ 1. 1. 1.]]
 
Array
● Para criar um Array só de 0's:
 x = numpy.zeros((3,2))
 print x
 [[ 0. 0.]
 [ 0. 0.]
 [ 0. 0.]]
 
Array
● Para acessar elementos do Array:
 a = numpy.array([0, 1, 2, 3, 4, 5, 6, 7, 8]) 
 print a[1]
 1
● Para saber o tipo dos elementos do Array:
 print a.dtype
 int32
 
 
Array
● Para saber o formato do Array:
 a = numpy.array([0, 1, 2, 3, 4, 5, 6, 7, 8])
 print a.shape
 (9,)
 
Array
● Percorrendo o Array:
 x = a = numpy.array([1, 2, 3, 4, 5, 6])
 for i in range(a.size):
 print a[i]
1
2
3
4
5
6
 
 
Array
● Para redimensionar um Array:
 a = numpy.array([0,1,2,3,4,5,6,7,8])
 a.shape = 3,3
 print a
 [[0 1 2]
 [3 4 5]
 [6 7 8]]
 
Array
● Transposta de um Array:
 Se a for:
 [[0 1 2]
 [3 4 5]
 [6 7 8]]
 t = a.transpose()
 print t
 [[0 3 6]
 [1 4 7]
 [2 5 8]]
 
Array
● Para “achatar” um Array:
 Se a for:
 [[0 1 2]
 [3 4 5]
 [6 7 8]]
 f = a.flatten()
 print f
 [0 1 2 3 4 5 6 7 8]
 
 
Array
● Para criar arrays a partir de outros arrays usando funções:
 Suponha z = [ 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. ]
 c = numpy.cos(z) //usando a função cosseno
 print c
 [ 1. 0.87758256 0.54030231 0.0707372 
 -0.41614684 -0.80114362 -0.9899925 -0.93645669 
 -0.65364362]
 cos = numpy.round(c,1) //arredondando com 1 casa decimal
 print cos
 [ 1. 0.9 0.5 0.1 -0.4 -0.8 -1. -0.9 -0.7]
 
 
Array
 a = numpy.array([0,1,2,3,4,5,6,7,8])
 print numpy.sqrt(a) //raíz quadrada
 [ 0. 1. 1.41421356 1.73205081 2. 
2.23606798 2.44948974 2.64575131 2.82842712]
 
 print numpy.mod(a,2) // resto da divisão por 2
 [0 1 0 1 0 1 0 1 0]
 
 print numpy.negative(a) //transforma pra negativo
 [ 0 -1 -2 -3 -4 -5 -6 -7 -8]
 
 
Outras Funções de Array
 
 
 
Outras Funções de Array
 
 
 
Outras Funções de Array
 
 
 
Exercícios
1) Faça um programa que crie um vetor que representa uma progressão 
aritmética de 10 elementos, sendo o elemento inicial igual a 1 e razão 
igual à 3.
2) Faça um programa que crie uma matriz 3x3 em que a diagonal 
principal e a secundária contém 1's e o resto contém 0.
3) Faça um programa que crie três vetores A, B e C de 5 elementos cada, 
e calcule o vetor resultante da expressão: A + B - C
4) Faça um programa que crie o vetor V = [2.5 3 5 6.3 7], e calcule o 
vetor W que contêm o cubo de cada elemento de V, com 2 casas decimais. 
5) Considere os ângulo: 
[ 0. 30. 60. 90. 120. 150. 180. 210. 240. 270. 300. 330.]
 - crie um vetor com estes ângulos.
 - transforme estes ângulos em radianos
 - calcule o seno destes ângulos, com 1 casa decimal
 
 
Matrix
● Criando uma matriz:
 Z = numpy.matrix([[1,2,3],[4,5,6],[7,8,9]])
 print Z
 [[1 2 3]
 [4 5 6]
 [7 8 9]] 
 
 
Matriz
● Para acessar um elemento da Matriz:
 x = numpy.matriz([[1,2,3],[4,5,6]])
 print x[1,2]
 6
● Para saber o número de dimensões da Matriz:
 print x.ndim
 2
● Para saber o formato da Matriz:
 print x.shape
 (2,3)
 
Matrix
● Percorrendo a Matriz:
 x = numpy.matrix([[1,2,3],[4,5,6]])
 l,c = x.shape
 for i in range(l):
 for j in range(c):
 print x[i,j]
1
2
3
4
5
6
 
 
Matrix
● Transposta de uma matriz:
 Se Z for:
 [[1 2 3]
 [4 5 6]
 [7 8 9]] 
 tr = Z.T 
 print tr
 [[1 4 7]
 [2 5 8]
 [3 6 9]]
 
 
Matrix
● Inversa de uma matriz:
 Se Z for:
 [[1 2 3]
 [4 5 6]
 [7 8 9]] 
 inv = Z.I
 print inv
 [[ -4.50359963e+15 9.00719925e+15 -4.50359963e+15]
 [ 9.00719925e+15 -1.80143985e+16 9.00719925e+15]
 [ -4.50359963e+15 9.00719925e+15 -4.50359963e+15]]
 
 
 
Matrix
● Multiplicação de matrizes:
 Z = numpy.matrix([[1,2,3],[4,5,6],[7,8,9]])
 R = numpy.matrix([[3, 2, 1]])
 print R*Z
 [[18 24 30]]
 
 
Linalg
● Módulo para álgebra linear
● Para calcular determinante:
 a = numpy.matrix([[1,2],[3,4]])
 print a
 [[1 2]
 [3 4]]
 print numpy.linalg.det(a)
 -2.0
 
 
Linalg
● Para resolver sistema linear:
 Suponha o sisgtema de equações:
 3x + y = 9
 x + 2y = 8
 a = numpy.matrix([[3,1],[1,2]])
 b = numpy.array([9,8])
 x = numpy.linalg.solve(a,b)
 print x
 [ 2. 3.]
 
 
 
Exercícios
1) Faça um programa que crie duas matrizes 3x3 e calcule a soma 
de suas transpostas.
2) Faça um programa que crie duas matrizes 2x2 e calcule o 
produto de suas inversas.
3) Faça um programa que crie uma matriz A 3x3 e conte quantos 
elementos de A são maiores que o det(A).
4) Faça um programa que crie uma matriz 2x2 e verifique se ela é 
simétrica (A[i][j] = A[j][i])
5) Faça um programa para resolver o seguinte sistema linear:
4x + y + 2z = 5
3x + 2y + z = 3
x + y + z = 1
 
 
Resposta: [ 1.25 -0.5 0.25]
	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
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28

Outros materiais