Python, Fazer gráfico, 2 parábolas.
04/09/2019
0
Quero fazer duas parábolas com a<0 iguais, cada uma com seu intervalo. Tipo quando terminar uma começar a outra. No entanto no meu código aparentemente ele faz duas funções virarem uma.
# Bibliotecas import matplotlib.pyplot as plt import math # -- Programa principal -- # inicialização de variável soma = 0 # entrada de dados xi = float(input('Digite o valor inicial do intervalo: ')) xf = float(input('Digite o valor final do intervalo: ')) while xf<=xi: print('Erro! \\nO valor final deve ser maior do que o valor inicial!!') xi = float(input('Digite o valor inicial do intervalo: ')) xf = float(input('Digite o valor final do intervalo: ')) base = 0.1 # plotagem do objeto x = xi while(x<=xf): if -10< x < 12.2: y = -4*x**2+4 elif 12.3 < x < 22.3: y = -4*x**2+4 plt.plot(x,y,marker='o',color='black') plt.bar(x,y,base) soma = soma + (base*y) x = x + base # exibição da área aproximada print('\\n\\n*******************************') print('Área aproximada:',soma,'u.a.') print('*******************************') # exibicao do grafico plt.xlabel('x (m)') plt.ylabel('y (m)') plt.show()
Marcos
Curtir tópico
+ 0
Responder
Posts
04/09/2019
Gérson
Quero fazer duas parábolas com a<0 iguais, cada uma com seu intervalo. Tipo quando terminar uma começar a outra. No entanto no meu código aparentemente ele faz duas funções virarem uma.
# Bibliotecas import matplotlib.pyplot as plt import math # -- Programa principal -- # inicialização de variável soma = 0 # entrada de dados xi = float(input('Digite o valor inicial do intervalo: ')) xf = float(input('Digite o valor final do intervalo: ')) while xf<=xi: print('Erro! \\\\nO valor final deve ser maior do que o valor inicial!!') xi = float(input('Digite o valor inicial do intervalo: ')) xf = float(input('Digite o valor final do intervalo: ')) base = 0.1 # plotagem do objeto x = xi while(x<=xf): if -10< x < 12.2: y = -4*x**2+4 elif 12.3 < x < 22.3: y = -4*x**2+4 plt.plot(x,y,marker='o',color='black') plt.bar(x,y,base) soma = soma + (base*y) x = x + base # exibição da área aproximada print('\\\\n\\\\n*******************************') print('Área aproximada:',soma,'u.a.') print('*******************************') # exibicao do grafico plt.xlabel('x (m)') plt.ylabel('y (m)') plt.show()
Bom dia amigo
Pelo que testei aqui e pode entender da sua função, realmente ela aparenta que esta unindo. Mas não esta. Oque acontece e que o limite de uma função para outra e muito proximo, isso faz com que parece estar juntas.
Sua f(x)= -4*(x^2) +4
Uma termina em 12.2 e a outra começa em 12.3. Logo uma sera a continuidade da outra.
if -10< x < 12.2:
y = -4*x**2+4
elif 12.3 < x < 22.3:
y = -2*x**2+4
Muda essa delta de -4 para -2, no elif. Que ficara mais facil de ver a descontinuidade.
Tenho alguns exemplos de plotagem de grafico e mineração com Python no meu git:
https://github.com/gerssonmg/mineracao_de_dados
https://github.com/gerssonmg/pandas
E dois videos explicando:
https://www.youtube.com/watch?v=_wVBVdvkTgM
https://www.youtube.com/watch?v=eVf_UjfemBo
Essas implementação tem algumas features avançadas, mas da pra você aprender bastante coisa eu acredito.
Responder
Clique aqui para fazer login e interagir na Comunidade :)