Faça um programa que esboce o gráfico das seguintes funções na mesma tela.
Passo 1
Beleza, vamos desenrolar o enunciado. A ideia é fazer um programa que mostre o gráfico da função por partes
Conteúdo: funções definidas em pedaços (piecewise) e uso de Python com NumPy e Matplotlib para plotar. A gente vai precisar de:
- Python instalado;
- Biblioteca NumPy (para criar vetores de valores de x);
- Biblioteca Matplotlib (para desenhar o gráfico);
- Noções de como “mascarar” parte do vetor para cada pedaço da função.
Passo 2
Primeiro, vamos criar a lista de valores de
que queremos representar. Geralmente escolhemos um intervalo maior que cubra bem a parte importante do gráfico, por exemplo de
a
. Com NumPy:
import numpy as np
x = np.linspace(-10, 10, 400)
Aqui e
. Quanto mais pontos, mais suave fica o gráfico.
linspace
gera 400 pontos igualmente espaçados entre
Passo 3
Agora dividimos esse vetor
x
em dois pedaços, usando comparação booleana (máscaras).mask1 = x < 3 # True para os xs menores que 3
mask2 = x >= 3 # True para os xs maiores ou iguais a 3
A teoria aqui é simples: um vetor de booleanos marca quais índices obedecem à condição. Aí podemos calcular cada parte de f(x):
y1 = x[mask1]**2 - 4 # f(x) = x^2 - 4 quando x<3
y2 = 2*x[mask2] - 1 # f(x) = 2x - 1 quando x>=3
Passo 4
Chegou a hora de plotar. Importamos Matplotlib e traçamos cada pedaço com cores diferentes, adicionando legenda, eixos e grade pra ficar mais bacana.
import matplotlib.pyplot as plt
plt.plot(x[mask1], y1, label=r'$x^2 - 4$ (para $x<3$)', color='blue')
plt.plot(x[mask2], y2, label=r'$2x - 1$ (para $x\ge3$)', color='red')
plt.axvline(3, color='gray', linestyle='--', alpha=0.5) # linha vertical em x=3 (opcional)
plt.legend()
plt.xlabel('x')
plt.ylabel('f(x)')
plt.title('Gráfico da função por partes')
plt.grid(True)
plt.show()
Passo 5
O que rolou aqui?
plt.plot(...)
desenha cada ramo separado;r'$...$'
faz o Matplotlib interpretar texto em LaTeX, então a legenda mostrae bonitinho; axvline(3, ...)
serve só pra evidenciar o ponto de troca em; legend()
,xlabel()
,ylabel()
,title()
egrid()
são detalhes pra deixar o gráfico mais legível.
Resposta
Segue o programa completo em Python para exibir na mesma tela o gráfico da função:
import numpy as np
import matplotlib.pyplot as plt
# 1. Criar vetor de x
x = np.linspace(-10, 10, 400)
# 2. Máscaras para a parte <3 e >=3
mask1 = x < 3
mask2 = x >= 3
# 3. Cálculo de y para cada ramo da função
y1 = x[mask1]**2 - 4
y2 = 2*x[mask2] - 1
# 4. Plotar
plt.plot(x[mask1], y1, label=r'$x^2 - 4$ (para $x<3$)', color='blue')
plt.plot(x[mask2], y2, label=r'$2x - 1$ (para $x\ge3$)', color='red')
plt.axvline(3, color='gray', linestyle='--', alpha=0.5)
plt.legend()
plt.xlabel('x')
plt.ylabel('f(x)')
plt.title('Gráfico da função por partes')
plt.grid(True)
plt.show()