





Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
[3]: import numpy as np ... Existem várias maneiras dentro de Numpy para gerar arrays. ... [24]: a = np.linspace(0,20,5000) print(a).
Tipologia: Esquemas
1 / 9
Esta página não é visível na pré-visualização
Não perca as partes importantes!






0.0.1 Numpy 0.0.2 A partir de uma lista em Python Podemos criar um array convertendo diretamente uma lista ou lista de listas: [2]: a = [ 1 , 2 , 3 ] b = [ 1 , 2 , 3 ] c = a + b c
[2]: [1, 2, 3, 1, 2, 3]
[3]: import numpy as np
[5]: aa = np.array(a) bb = np.array(b)
[6]: aa + bb
[6]: array([2, 4, 6])
Existem várias maneiras dentro de Numpy para gerar arrays.
0.1.1 arange Cria valores uniformemente espaçados dentro de um determinado intervalo.
[10]: v = np.arange( 0 , 10 ,0.1) v
[10]: array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8,
0.1.2 zeros and ones Gera arrays de zeros ou uns.
[12]: a = np.zeros( 5 ) a
[12]: array([0., 0., 0., 0., 0.])
[18]: a = np.ones(( 3 , 3 )) a
[18]: array([[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]])
0.1.3 linspace Retorna números espaçados uniformemente em um intervalo especificado.
[24]: a = np.linspace( 0 , 20 , 5000 ) print(a)
[0.00000000e+00 4.00080016e-03 8.00160032e-03 … 1.99919984e+ 1.99959992e+01 2.00000000e+01]
[26]: np.arange( 0 ,20.01,0.01)
[26]: array([0.000e+00, 1.000e-02, 2.000e-02, …, 1.999e+01, 2.000e+01, 2.001e+01])
Cria um array (matriz) identidade
[30]: I = np.eye( 3 , 3 ) I
[30]: array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
0.3.3 randint Retornar números inteiros aleatórios
[38]: np.random.randint( 0 , 50 , 10 )
[38]: array([38, 25, 25, 3, 20, 45, 39, 5, 45, 9])
Reshape Retorna uma matriz que contém os mesmos dados com uma nova forma.
[40]: M = np.random.randint( 0 , 100 ,( 5 , 5 )) M
[40]: array([[ 3, 10, 26, 58, 70], [21, 90, 36, 80, 73], [52, 10, 5, 13, 87], [84, 6, 76, 92, 70], [30, 40, 19, 72, 10]])
[41]: M.reshape( 1 , 25 )
[41]: array([[ 3, 10, 26, 58, 70, 21, 90, 36, 80, 73, 52, 10, 5, 13, 87, 84, 6, 76, 92, 70, 30, 40, 19, 72, 10]])
[42]: v = np.arange( 25 ) v
[42]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24])
[44]: v.reshape( 5 , 5 )
[44]: array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19], [20, 21, 22, 23, 24]])
max, min, argmax, argmin Estes são métodos úteis para encontrar valores máximos ou míni- mos. Ou para encontrar seus locais de índice usando argmin ou argmax.
[48]: T = np.random.randint( 0 , 100 , 10 ) T
[48]: array([94, 92, 8, 96, 55, 76, 46, 81, 94, 42])
Aritmética É possível executar facilmente aritmética de arrays
[53]: a = np.random.randint( 0 , 20 , 5 ) b = np.random.randint( 70 , 150 , 5 )
54: array([18, 18, 9, 10, 15])
55: array([ 72, 129, 92, 112, 135])
56: array([ 90, 147, 101, 122, 150])
57: array([ -54, -111, -83, -102, -120])
58: array([1296, 2322, 828, 1120, 2025])
59: array([0.25 , 0.13953488, 0.09782609, 0.08928571, 0.11111111])
[61]: c = np.arange( 5 ) c
[83]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
[89]: b = a[a < 4 ]
90: array([0, 1, 2, 3])
Exemplo: Por exemplo, as três equações simultâneas
3 x − 2 y = 8 − 2 x + y − 3 z = − 20 4 x + 6y + z = 7
pode ser representado como a equação Mx = b :
x y z
e resolvido passando matrizes correspondentes à matriz M e o vetor b to np.linalg.
[94]: M = np.array([[ 3 ,- 2 , 0 ],[- 2 , 1 ,- 3 ],[ 4 , 6 , 1 ]]); M
[94]: array([[ 3, -2, 0], [-2, 1, -3], [ 4, 6, 1]])
[95]: b = np.array([ 8 ,- 20 , 7 ]);b
[95]: array([ 8, -20, 7])
[100]: x,y,z = np.linalg.solve(M,b)
Exemplo: Calcular os valores próprios da matriz de rotação bidimensional:
cos θ − sin θ sin θ cos θ
que gira pontos no plano xy no sentido anti-horário através θ = 30° = π 6 about the origin.
[104]: theta = np.pi/ 6
[105]: c = np.cos(theta) s = np.sin(theta)
[122]: R = np.array([[c,-s],[s,c]]) R
[122]: array([[ 0.8660254, -0.5 ], [ 0.5 , 0.8660254]])
[108]: aval,avec = np.linalg.eig(R)
125: array([[ 0.8660254, 0.5 ], [-0.5 , 0.8660254]])
123: array([[ 0.8660254, 0.5 ], [-0.5 , 0.8660254]])
[114]: lambda1 = aval[ 0 ]
[115]: lambda2 = aval[ 1 ]