Pular para conteúdo

numpy e matplotlib do curso

Esta página lista tudo o que o curso usa das bibliotecas numpy e matplotlib, e em que capítulo cada comando é apresentado. O curso não usa nenhum comando fora desta lista. Cada um é explicado, com um exemplo, numa caixa 🧰 Comando novo no capítulo e no caderno da aula, antes do primeiro uso.

Use esta página como cola: quando encontrar um comando e não lembrar o que ele faz, ele está aqui, com o capítulo onde a explicação completa mora.

numpy

Comando O que faz Exemplo Cap.
import numpy as np carrega a biblioteca; tudo dela passa a ser chamado com np. na frente import numpy as np 0
np.sqrt raiz quadrada np.sqrt(9) → 3.0 0
np.exp exponencial, \(e^x\) np.exp(1) → 2.718... 0
np.tanh tangente hiperbólica, uma curva em S que vai de −1 a 1 np.tanh(0) → 0.0 0
np.array transforma uma lista de números num array, a tabela de números do numpy np.array([1, 2, 3]) 0
np.linspace quantos números igualmente espaçados de inicio a fim, incluindo os dois np.linspace(0, 1, 5) → [0. 0.25 0.5 0.75 1.] 0
np.sum soma de todos os elementos np.sum(t) 0
np.max o maior elemento np.max(t) 0
np.argmax a posição do maior elemento np.argmax(t) 0
np.round arredonda com n casas decimais (também um array inteiro) np.round(3.14159, 2) → 3.14 0
np.floor arredonda para baixo (o "piso") np.floor(2.9) → 2.0 1
np.float32 número em precisão simples (cerca de 7 algarismos), a dos microcontroladores np.float32(0.1) 1
np.sin seno (ângulo em radianos) np.sin(np.pi / 2) → 1.0 2
np.cos cosseno (ângulo em radianos) np.cos(0) → 1.0 2
np.log logaritmo natural (base \(e\)) np.log(np.exp(2)) → 2.0 2
np.pi o número \(\pi\) np.pi → 3.14159... 2
np.loadtxt lê um arquivo de números (CSV) e devolve uma tabela np.loadtxt("a.csv", delimiter=",", skiprows=1) 3
delimiter= no loadtxt: o caractere que separa as colunas delimiter="," 3
skiprows= no loadtxt: quantas linhas do começo pular (o cabeçalho) skiprows=1 3
[:, j] a coluna j de uma tabela: todas as linhas (:), coluna j dados[:, 0] 3
np.zeros um array com n zeros, para preencher depois np.zeros(3) → [0. 0. 0.] 3
np.min o menor elemento np.min(t) 3
np.argmin a posição do menor elemento np.argmin(t) 6
np.linalg.solve resolve o sistema linear \(Ax = b\) np.linalg.solve(A, b) 7
@ produto de matriz por vetor (ou por matriz): A @ x A @ x 7
.copy() uma cópia independente do array (sem ela, b = a é só outro nome para o mesmo array) b = a.copy() 7
np.interp interpolação linear numa tabela: np.interp(x, xs, ys) (fora da tabela, repete o valor da ponta) np.interp(9, [6, 12], [23, 30]) 11
np.mean a média dos elementos (a soma dividida pela quantidade) np.mean(notas) 14
np.polyfit coeficientes do polinômio de grau g que melhor se ajusta aos pontos (mínimos quadrados), do grau mais alto para o mais baixo np.polyfit(x, y, 1) → [inclinação, intercepto] 14
np.log10 logaritmo na base 10 (o dos decibéis) np.log10(1000) → 3.0 15
np.fft.rfft a transformada de Fourier (FFT) de um sinal: um resultado para cada frequência, de 0 até a metade da taxa de amostragem np.fft.rfft(sinal) 17
np.fft.rfftfreq as frequências que correspondem a cada posição da rfft: np.fft.rfftfreq(N, 1 / fs) np.fft.rfftfreq(4, 1 / 4) → [0. 1. 2.] 17
np.abs o valor absoluto de cada elemento; num resultado da FFT, o tamanho de cada número np.abs(np.array([-2, 3])) → [2 3] 17
Além dos comandos, o array tem duas propriedades que o curso usa desde o capítulo 0:
  • conta elemento a elemento: 2 * t, t + 1, t ** 2 e np.exp(t) fazem a conta em cada elemento e devolvem um array do mesmo tamanho;
  • índice e fatia iguais aos da lista: t[0], t[-1], t[2:5] e len(t).
  • matriz (a partir do capítulo 7): np.array([[1, 2], [3, 4]]) cria uma tabela de linhas e colunas; A[i, j] é o elemento da linha i e coluna j, A[i] é a linha i inteira e len(A) é o número de linhas.

matplotlib

Comando O que faz Exemplo Cap.
import matplotlib.pyplot as plt carrega a parte de gráficos; tudo passa a ser chamado com plt. na frente import matplotlib.pyplot as plt 0
plt.figure começa uma figura nova, em branco plt.figure() 0
plt.plot desenha y contra x; o terceiro argumento, opcional, é o formato: "-" linha, "o" bolinhas, "." pontinhos, "o-" os dois plt.plot(x, y, "o") 0
label= nome da curva, que aparece na legenda plt.plot(x, y, label="modelo") 0
plt.scatter desenha pontos soltos, sem linha plt.scatter(x, y) 0
color= cor dos pontos ou da linha plt.scatter(x, y, color="red") 0
plt.xlabel nome do eixo horizontal (com a unidade!) plt.xlabel("tempo (s)") 0
plt.ylabel nome do eixo vertical plt.ylabel("velocidade (m/s)") 0
plt.title título da figura plt.title("Paraquedista") 0
plt.grid liga a grade de fundo plt.grid() 0
plt.legend mostra a legenda com os label= plt.legend() 0
plt.show mostra a figura; é sempre o último comando plt.show() 0
plt.loglog igual ao plt.plot, mas com os dois eixos em escala logarítmica plt.loglog(hs, erros, "o-") 2
plt.axhline desenha uma linha horizontal atravessando a figura, na altura dada plt.axhline(0, color="black") 4
plt.semilogy igual ao plt.plot, mas só com o eixo vertical em escala logarítmica plt.semilogy(iteracoes, erros, "o-") 4
## scipy

O scipy é uma biblioteca de métodos numéricos prontos. O curso o usa só para conferir o que foi escrito à mão, nas seções 🔎 Confira com a biblioteca.

Comando O que faz Exemplo Cap.
from scipy.optimize import brentq brentq(f, a, b) acha uma raiz de f no intervalo [a, b] (onde f troca de sinal) brentq(f, 100, 200) 4
from scipy.optimize import minimize_scalar minimize_scalar(f, bounds=(a, b), method="bounded") acha o mínimo de f em [a, b]; a resposta fica em .x e o valor mínimo em .fun minimize_scalar(f, bounds=(1, 10), method="bounded").x 6
from scipy.interpolate import CubicSpline CubicSpline(xs, ys) cria a spline cúbica da tabela; o resultado se usa como uma função: s(x) s = CubicSpline(horas, temp) 11
from scipy.integrate import quad quad(f, a, b) calcula a integral de f de a a b; devolve dois números: o valor e uma estimativa do erro valor, erro = quad(f, 0, 1) 12
from scipy.optimize import curve_fit curve_fit(modelo, x, y, p0=[chutes]) ajusta os parâmetros de qualquer função modelo(x, p1, p2, ...) por mínimos quadrados; devolve os parâmetros e uma matriz sobre a incerteza deles parametros, cov = curve_fit(f, x, y, p0=[1, 1]) 15
## Python que o curso usa além do básico
Recurso O que faz Exemplo Cap.
f-string com casas decimais {x:.2f} mostra x com 2 casas f"{3.14159:.2f}" → 3.14 0
f-string com largura {x:8.2f} ocupa 8 caracteres (alinha colunas de tabela); {n:5d} faz o mesmo com um inteiro f"{3.1:8.2f}" → 3.10 0
f-string em notação científica {x:.1e} mostra x como 4.5e-03 f"{0.0045:.1e}" → 4.5e-03 0
fatia com passo y[1:-1:2] pega de 2 em 2, da posição 1 até antes da última [10, 11, 12, 13, 14][1:-1:2] → [11, 13] 12