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

Introdução à MatPlotLib

Paulo Bordoni
September 02, 2014
120

Introdução à MatPlotLib

Por efetuar

Paulo Bordoni

September 02, 2014
Tweet

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. M.C. Escher, Convex and Concave (1955), Litogravura O que você

    vê depende do seu modo de olhar, do seu ponto de vista! Olhar o todo pode permitir detectar contradições. Experimente olhar assim ↘, como a mulher descendo com a cesta - canto esquerdo superior. Depois, olhe assim ↖, como o operário subindo a escada - canto direito inferior.
  7. Ilusão induzida pelo claro/escuro . http://www2.uol.com.br/vivermente/ multimidia/galeria_de_ilusoes.html Comece olhando pelo

    balcão superior. Depois desça ao pátio pela corda. Em seguida, suba pela escada.
  8. Pois é, são armadilhas de percepção. Esta revista mostra algumas.

    Escher, desenhou muitas outras. Elas envolvem o famoso “tribar” de Sir Roger Penrose.
  9. Mauritius Cornelius Escher, holandês. Nasceu em 17/06/1898 Morreu em 27/03/1972

    Este é o artista genial que construiu as litogravuras que mostramos. Surfista, procure na internet para ver muito mais!
  10. “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.)
  11. 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”
  12. Nasceu em o8/o8/1932, na Inglaterra Sir, a consciência é mesmo

    o resultado de interações quânticas dentro dos neurônios?
  13. 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!
  14. Surfista, a geometria e a álgebra vão se casar! Os

    padres são Descartes e Fermat e o filho é o sistema de coordenadas cartesianas.
  15. Voltando ao ponto que nos interessa no momento: Descartes (1637)

    e Fermat (1636) amarraram a Geometria de Euclides à Álgebra com o conceito de sistema de coordenadas.
  16. Publicou 1º, 1684/1686 Descobriu antes, 1665/1666 Não deixem de ver

    no Youtube: The Calculus Controversy. Em particular Newton e Leibniz, criaram o Cálculo Infinitesimal (a matemática do contínuo) cerca de 50 anos depois Descartes e Fermat parirem a Geometria Analítica. Aliás é de Newton a frase: “Se enxerguei mais longe é porque estava no ombro de gigantes.”
  17. x y = (, ) x z y = (,

    , ) A algebrização da geometria decorre da possibilidade identificar pontos, tanto do plano euclidiano ℝ2, como do espaço euclidiano ℝ3, a pares , e ternas (, , ) de números.
  18. A partir dela, da geometria analítica, os matemáticos passaram a

    poder descrever entes geométricos como segmentos, retas, planos, triângulos, seções cônicas (e outros lugares geométricos), através da álgebra: com equações e inequações. Circunferência Elipse Parábola Hipérbole 2 + 2 = 1 2 = 4 2 2 + 2 2 = 1 2 2 − 2 2 = 1
  19. A utilização: • do teorema de Pitágoras permite calcular distância

    entre pontos. • da trigonometria possibilita obter o ângulo entre duas retas. • da regra de Cramer permite obter o ponto de interseção entre duas retas. = ( , ) = ( , )
  20. 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.
  21. 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!
  22. Tenho muita coisa a mostrar. É só rolar a janela

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

    função plot( ) já dá para você começar, Surfista.
  24. 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).
  25. Apressadinho, olhe com atenção! O ponto (2.0, 3.2) está no

    canto superior esquerdo. Só estou vendo dois pontos Loirinha, você errou!!!
  26. 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 direita do mouse, vocês “dão zoom” no gráfico. Repetindo:
  27. Construí o triângulo abaixo, com dois comandos plot( ) e

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

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

    , 1 , ⋯ , ( , ), com 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.
  30. 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 .
  31. 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.
  32. 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.
  33. Explico os detalhes desse código na aula. Observe que com

    muitos pontos, percebemos uma curva suave. É o Escher em ação, Mestra!
  34. 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, = .
  35. 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, ⋯ , .
  36. 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!
  37. A ajuda da NumPy sobre uma função para somar os

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

    pela Mestra. Aqui ela calculou a aproximação para a integral. ≅ ℎ 2 0 + +1 + 2 =1
  39. 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.
  40. Fui buscar ajuda no “site” da MatPlotLib. Escolha a aba

    pyplot e depois clique no que você procura.
  41. 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.
  42. Aproveitei o programa da Mestra para mostrar a utilização da

    função trap( ) da NumPy. Mudei também o integrando para = (2)
  43. Lembrem-se o operador de integração é linear, assim a integral

    da soma é a soma das integrais: − = − 2ª figura (em ouro) 1ª figura (em canário)