Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introdução à MatPlotLib

Introdução à MatPlotLib

Inicio apontando a importância da visualização na ciência e tecnologia, assim como seus perigos. Depois vamos ao be-a-bá da MatPlotLib. Aproveitando que gráficos de funções são traçados via interpolação linear por partes, mostramos como aproximar a integral de Riemann pela regra trapezoidal com´posta.

Paulo Bordoni

April 08, 2014
Tweet

More Decks by Paulo Bordoni

Other Decks in Education

Transcript

  1. “A criação de Adão” Afresco pintado no teto da Capela

    Sistina por Michelangelo Buonarroti, entorno de 1511. Vou começar pelo dito popular: “Uma imagem vale mais que mil palavras.”
  2. 1637 René Descartes - Francês Nasceu 31/03/1596 Morreu 11/02/1650 A

    formalização do método científico, um século e um quarto de depois...
  3. Reducionismo: estudo do mundo como uma montagem de partes físicas

    que podem ser divididas e analisadas separadamente e recompostas.
  4. M.C. Escher, Relativity (1953), Litogravura Uma imagem vale muito mais

    que mil palavras ... Escher remontou tudo, harmonicamente, certamente, questionando o Reducionismo.
  5. Escher remontou tudo, harmonicamente, quem sabe para mostrar que “o

    todo pode ser maior que a soma das partes”. Holismo ...
  6. Douglas R. Hofstadter nos conduz por uma viagem maravilhosa sobre

    todas essas coisas ... Leia você também!
  7. M.C. Escher, Convex and Concave (1955), Litogravura Experimente olhar assim

    ↘, pelo canto esquerdo superior. Depois, olhe assim ↖, pela escada, lá no canto direito inferior! O que você vê depende do seu modo de olhar, do seu ponto de vista! Olhar o todo pode permitir detectar contradições.
  8. Comece olhando pelo balcão superior. Depois desça ao pátio pela

    corda. Em seguida, suba pela escada. Ilusão induzida pelo claro/escuro . http://www2.uol.com.br/vivermente/ multimidia/galeria_de_ilusoes.html
  9. Pois é, são armadilhas de percepção. Esta revista mostra algumas.

    Escher, desenhou muitas outras. Elas envolvem o famoso “tribar” de Sir Roger Penrose.
  10. Este é o artista e genial que construiu as litogravuras

    que mostramos. Procure na internet para ver muito mais! Mauritius Cornelius Escher, holandês. Nasceu em 17/06/1898 Morreu em 27/03/1972
  11. Nasceu em o8/o8/1932, na Inglaterra Sir, a consciência é mesmo

    o resultado de interações quânticas dentro dos neurônios?
  12. “Cogito, ergo sum” The Discourse on Method is best known

    as the source of the famous quotation "Je pense, donc je suis" ("I think, therefore I am"), which occurs in Part IV of the work. (The similar statement in Latin, Cogito ergo sum, is found in §7 of Principles of Philosophy.)
  13. Sigmund Freud Nasceu 06/05/1856 Morreu 23/09/1939 "The great question that

    has never been answered, and which I have not yet been able to answer, despite my thirty years of research into the feminine soul, is 'What does a woman want?'" From Sigmund Freud: Life and Work by Ernest Jones O criador da Psicanálise. Aprendi nesse divã que “sinto, logo sou”
  14. Mestre, Mestre ... Eu faço engenharia, não filosofia, nem história!

    É Surfista, este é meu tributo aos construtores de nossa civilização. Por falar nisso, aprendiz de engenheiro, traga na próxima aula além da história, uma explicação sobre a aerodinâmica das pranchas de surfe. Valendo nota!
  15. Ok, meu jovem. Vamos começar chamando o Spyder Através dele,

    vamos trabalhar com a MatPlotLib, a PyPlot e a PyLab.
  16. Ah, aquele que vimos na aula passada? É o IDE

    (ambiente de trabalho integrado), mais “easy to use” que já vi para a MatPlotLib, PyPlot e a PyLab. Vocês, mulheres, falam demais... Vamos começar logo!
  17. Ihh Mestra! Agora tenho três perguntas: • Afinal, o que

    é Matplotlib? • E Pyplot? • E Pylab? Minha filha, você deve perguntar ao Manoel, não a mim e nem ao Mestre!
  18. Tenho muita coisa a mostrar, é só rolar a janela

    da “Consola” para baixo! Manoel, quero programar!
  19. Apenas, e tão somente, com o início do help da

    função plot( ) já dá para você começar, Surfista.
  20. Lista das coordenadas x Lista das coordenadas y Manoel, plotei

    um segmento com extremidades nos pontos A = (2.0, 1.4) e B = (3.4, 2.8).
  21. Apressadinho, olhe com atenção! O ponto (2.0, 3.2) está no

    canto superior esquerdo. Só estou vendo dois pontos Loirinha, você errou!!!
  22. Repetindo: 1. Cliquem na “cruz” e desloquem o mouse para

    a área gráfica (a branca); 2. O ponteiro do mouse mudará de “pato” para “ganso”; 3. Clicando como botão da esquerda do mouse, vocês arrastam o gráfico; 4. Clicando como botão da esquerda do mouse, vocês “dão zoom” no gráfico.
  23. Construí o triângulo abaixo, com dois comandos plot( ) e

    mais alguns comandos de “embelezamento”. Vejam o código na próxima transparência.
  24. O CPF resolve o problema de identificação dos José da

    Silva na hora do crediário. “Não sou esse de nome sujo”
  25. Ora, simplesmente ligamos os pontos 0 , 0 , 1

    , 1 , ⋯ , ( , ), segmentos de reta, sendo = ( ). O nome técnico da matemática para isto é interpolação linear por partes! Interpolação é um tópico importante de nosso curso.
  26. Depois usamos a difusão para calcular os valores = (

    ), e passamos esse par de vetores para a função plot( ). Vejam na próxima transparência. Operacionalmente, escolhemos o domínio [, ] para construir o gráfico da função f e usamos a vetorização com a linspace( ) para gerar as coordenadas x k .
  27. Ah, Coleguinha, é só colocar mais pontos no vetor x!

    Mestre, não gostei! Ficou muito ruim - cheio de quinas, não é nada parecido com uma parábola. Grande Surfista! Vou fazer com mais pontos e marcá-los.
  28. Usei os 21 pontos marcados em azul. Ao todo são

    20 sub-intervalos de mesmo tamanho Δ = ( 2.0-(-2.0))/20 = 0.2. Mestre, realmente melhorou, mas faltam os eixos x e y, o título do gráfico, etc.
  29. Explico os detalhes desse código na aula. Observe que com

    muitos pontos, percebemos a curva suavemente.
  30. a b f(a) f(b) Para uma função linear (cujo gráfico

    é uma reta), temos ATrap = f a +f b ∗(b−a) 2 . Naturalmente, = .
  31. b = xn+1 f(x0 ) f(x1 ) f(xn ) f(xn+1

    ) xn a = x0 x1 x2 T0 T1 Tn-1 Tn Podemos aproximar a somando as áreas dos trapézios, como na figura abaixo: ≅ 0 + 1 + ⋯ + −1 + Confiram, que fazendo a continha obtemos: ≅ ℎ 2 0 + +1 + 2 =1 ( ) onde ℎ = +1 − , para = 0, 1, ⋯ , .
  32. b = xn+1 f(x0 ) f(x1 ) f(x n )

    f(xn+1 ) xn a = x0 x1 x2 T0 T1 Tn-1 Tn Farei um programa para calcular uma aproximação, via regra trapezoidal composta, para a integral definida de uma função usando a NumPy. Quero sua ajuda Manuel!
  33. A ajuda da NumPy sobre uma função para somar os

    elementos de um vetor, a função sum( ).
  34. Essa é a primeira parte do código do programa feito

    pela Mestra. Aqui ela calculou a aproximação para a integral.
  35. Essa é a segunda parte do programa da Mestra. É

    a parte do código que mostra um gráfico com a área correspondente à integral pintada de amarelo.
  36. Executamos o programa para N = 100 e N =

    200. Uma forma de conferir a precisão obtida, sem conhecer a expressão algébrica da integral.
  37. Aproveitei o programa da Mestra para mostrar a utilização da

    função trap( ) da NumPy. Mudei também o integrando para = (2)