Introdução
Neste tutorial, abordaremos o uso da função numpy.linspace() na biblioteca NumPy. Esta função é utilizada para gerar números igualmente espaçados em um intervalo especificado. É semelhante à função numpy.arange(), com a única diferença sendo que, em vez de um tamanho de passo, o número de valores igualmente espaçados entre o intervalo é especificado usando o argumento num.
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Entendendo a Sintaxe
A sintaxe da função numpy.linspace() é a seguinte:
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
A função recebe vários parâmetros:
- start: O valor inicial do intervalo.
- stop: O valor final do intervalo.
- num: O número de amostras igualmente espaçadas sobre o intervalo a ser gerado. O valor padrão é 50.
- endpoint: Um valor booleano que indica se o ponto final do intervalo deve ou não ser incluído. Se True, então o ponto final é incluído. Se False, então é excluído. O valor padrão é True.
- retstep: Um valor booleano que indica se o valor do passo deve ou não ser retornado, ou seja, o espaçamento entre os números consecutivos. O valor padrão é False.
- dtype: O tipo de dado dos itens da matriz.
Gerando um Array usando linspace()
Para gerar uma matriz usando numpy.linspace(), você só precisa passar o início, o fim e o número de amostras desejadas. Aqui está um exemplo:
import numpy as np
a = np.linspace(0, 10, num=11)
print(a)
A saída deste código será:
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
Excluindo o Ponto Final
Para excluir o ponto final, simplesmente definimos o parâmetro endpoint como False. Aqui está um exemplo:
b = np.linspace(0, 10, num=10, endpoint=False)
print(b)
A saída deste código será:
[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
Retornando o Valor da Etapa
Para retornar o valor do passo (step) ou espaçamento entre os números consecutivos gerados por linspace(), defina o parâmetro retstep como True. Aqui está um exemplo:
c, step = np.linspace(0, 10, num=11, retstep=True)
print(c)
print(step)
A saída deste código será:
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
1.0
Plotagem usando Linspace()
Podemos usar linspace() em conjunto com matplotlib para plotar gráficos. Aqui está um exemplo:
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
plt.plot(x, y)
plt.show()
A saída deste código é um gráfico de onda senoidal simples.
Usando Valores Não-Escalares
A partir das versões mais recentes do NumPy, linspace() suporta valores não-escalares para os parâmetros start e end. Aqui está um exemplo:
start = np.array([0, 1, 2])
end = np.array([6, 7, 8])
d = np.linspace(start, end, num=5, axis=1)
print(d)
A saída deste código é:
[[0. 1.5 3. 4.5 6. ]
[1. 2.5 4. 5.5 7. ]
[2. 3.5 5. 6.5 8. ]]
Resumo
Neste tutorial, demonstramos o uso da função numpy.linspace() na biblioteca NumPy. Cobrimos a sintaxe, os vários parâmetros e diversos exemplos. Com este conhecimento, você agora pode gerar arrays (vetores) espaçados uniformemente de forma rápida e eficiente.