III SEnC - Introdução ao SciPy e ao matplotlib
Sejam bem-vindos!
Esperamos que estejam aproveitando a semana!
O GEPAC lhes dá as boas vindas ao curso introdutório de SciPy, NumPy e matplotlib.
Além do ministrante, teremos um monitor disponível durante todo o minicurso. Sinta-se livre para chamar qualquer um dos dois caso surja alguma dúvida no decorrer dessa aventura.
Ao final do curso, caso queira conhecer um pouco mais sobre essas bibliotecas e como elas podem ser usadas de diversas formas para resolver uma variedade de problemas, sinta-se livre para explorar nossos projetos passados aqui no site! Também forneceremos links para a documentação e tutoriais oficiais dessas bibliotecas ao longo dos textos.
Também fique ligado para as próximas atividades do Grupo seguindo a nossa página do Facebook e participando do nosso grupo no WhatsApp pelo QR code abaixo:
O que aprenderemos hoje?
Muitas vezes na física, nas outras ciências e nas engenharias nos deparamos com problemas os quais não conseguimos (ou simplesmente não queremos) resolver analíticamente. Talvez tenhamos uma equação muito difícil, ou então um arquivo enorme e cheio de dados, ou quem sabe só queremos alguns gráficos bonitos para o relatório de Lab II.
Todos esses problemas podem ser resolvidos facilmente se tivermos as ferramentas certas! E é isso (e muito mais) que o ecossistema SciPy nos fornece.
O NumPy nos introduz os arrays: uma estrutura de certa forma similar às listas do próprio Python, porém muito mais poderosa quanto à sua capacidade para realizar cálculos numéricos com simplicidade. É com esses arrays que trabalharemos em todas as outras bibliotecas.
O SciPy nos fornece uma série de ferramentas e funções para manipular e trabalhar com nossos dados, e por fim o matplotlib nos permite visualizar esses dados através de vários tipos de gráficos e figuras.
Juntas, essas três bibliotecas oferecem uma alternativa gratuita ao MATLAB, além de contarem com todo o poder e versatilidade do Python.
Vale comentar também que elas funcionam muito bem em conjunto com outras bibliotecas bem famosas para diversos propósitos, como o SymPy para cálculo simbólico, Pandas para análise de dados, scikit-learn para Machine Learning, OpenCV para Visão Computacional e muito mais.
Espero que isso sirva de motivação para o que veremos a seguir. Estudaremos com um pouco mais de profundidade cada uma dessas bibliotecas, e ao final aplicaremos nosso conhecimento recém adquirido em alguns projetos que simulam problemas reais com os quais poderíamos nos deparar.
Cobriremos os seguintes temas:
NumPy
- O que é NumPy?
- N-dimensional array (
ndarray
)- Estrutura
- Tipos de dados
- Slicing
- Masking
- Broadcasting
- Operações com arrays
vectorize
efrompyfunc
- Funções universais
- Usando tabelas de dados externas:
loadtxt
esavetxt
matplotlib
- O que é
matplotlib
? - A interface
pyplot
e a funçãoplot
- Usando o
pyplot
interativamente - Controlando o tamanho da figura
- Controlando as escalas de um par de eixos
- Fazendo mais de um gráfico na mesma figura
- Fazendo muitos gráficos semelhantes
- Mudando o estilo de um gráfico
- Exportando uma figura
SciPy
- O que é SciPy?
- Ajustando parâmetros de curvas com
curve_fit
- Transformadas de Fourier com o
fftpack
- Calculando integrais com
integrate
- Solução de sistemas de EDOs (exemplo: pêndulo)