Tutorial rápido de Python para Matemáticos

© Ricardo Miranda Martins, 2022 - http://www.ime.unicamp.br/~rmiranda/

Índice

  1. Introdução
  2. Python é uma boa calculadora! (código fonte)
  3. Resolvendo equações (código fonte)
  4. Gráficos (código fonte)
  5. Sistemas lineares e matrizes (código fonte)
  6. Limites, derivadas e integrais (código fonte)
  7. Equações diferenciais (código fonte)

Gráficos

Fazer gráficos no Python é sinônimo para matplotlib. Esse pacote é fantástico e muito poderoso. Produz gráficos bem legais se for bem utilizada. O site do Matplotlib tem muitos exemplos legais, e aqui vamos abordar somente o básico.

Usaremos também o NumPy, que é o "primo" do SymPy, só que para cálculos numéricos. Para um tutorial do NumPy, veja no site deles a documentação.

Os gráficos mais simples feitos no computador são simples amontoados de pontos, bem colocados. Sabe quando a gente tenta fazer o gráfico de $y=x^2$, marca 2 pontos, risca com a régua, e ganha 0 na questão? Então, se você tivesse marcado 5000 pontos bem colocados, seu professor poderia até ter considerado alguma coisa - e é exatamente aí que o NumPy entra em jogo, para construir essas "malhas" de pontos.

Vamos começar com o gráfico de $f(x)=x^2+1$, com $x\in[-3,3]$.

Só por curiosidade, o que acontece se ao invés de 50 pontos, escolhermos menos pontos?

Abaixo plotamos o mesmo gráfico acima, só que com base em somente 4 pontos:

Viu? É por isso que com poucos pontos a gente ganha zero na questão! :)

Uma boa estratégia ao usar o matplotlib é construir o gráfico aos poucos, para poder adicionar legendas nos eixos e outros detalhes. Isso pode ser feito como no exemplo abaixo.

Podemos também usar o Python para plotar curvas parametrizadas. O comando é parecido:

Note que o comando é praticamente o mesmo nos dois casos acima: plotando muitos pontos de uma curva parametrizada (no primeiro caso, a curva é da forma $(t,f(t))$).

Um terceiro tipo de gráfico bidimensional é quando queremos plotar curvas de nível de uma função. Para isso, temos um outro comando, o contour. Veja muitas outras opções sobre plots de curvas de nível aqui nesse site.

O matplotlib também faz gráficos tridimensionais. A ideia do plot continua a mesma: o gráfico vai ser obtido pela união de vários pontos.

Podemos ainda plotar superfícies parametrizadas. O processo é parecido com o de antes: discretizamos o domínio e daí calculamos a função na malha criada. Vamos fazer isso para plotar um toro, usando sua parametrização usual. O código abaixo foi inspirado nesse site.

Por fim, podemos ainda fazer plots de curvas parametrizadas em 3D: