Faça um programa que esboce o gráfico das seguintes funções na mesma tela.
Passo 1
Beleza, o enunciado pede pra você escrever um programinha que desenhe o gráfico da função
na mesma tela (mesmo que só seja essa função).
Conteúdo: funções racionais, divisão de polinômios, descontinuidade removível e plot em Python (matplotlib + numpy).
Vamos precisar:
na mesma tela (mesmo que só seja essa função).
Conteúdo: funções racionais, divisão de polinômios, descontinuidade removível e plot em Python (matplotlib + numpy).
Vamos precisar:
- Saber fazer divisão de polinômios pra simplificar a expressão.
- Entender que em
a função “some” (divisão por zero), virando um buraco no gráfico. - Usar numpy pra gerar pontos e matplotlib pra desenhar o gráfico e marcar o buraco.
Passo 2
Primeiro, fazer a divisão de polinômios:
- Divide
por dá . - Multiplica:
. - Subtrai:
.
- Multiplica:
- Baixa
: agora tem . Divide por dá . - Multiplica:
. - Subtrai:
.
- Multiplica:
- Baixa
: fica . Divide por dá . - Multiplica:
. - Subtrai: sobra 0.
- Multiplica:
Logo
Passo 3
Teoria da descontinuidade:
- A função original não está definida em
(divisão por zero). - Pela forma simplificada
, o limite existe e vale
Então no gráfico temos um “buraco” em
.
Passo 4
Agora monta o código em Python:
- Importa numpy e matplotlib.
- Gera um vetor
x
de, tipo,a . - Cria máscara pra tirar o ponto
. - Calcula
y = (x**3 - x**2 -13*x -3)/(x+3)
ou usay = x**2 -4*x -1
. - Plota
x
vsy
. - Marca o ponto aberto em
com plt.scatter
e estilo de círculo vazio (facecolors='none'
). - Ajusta títulos, eixos e
plt.show()
.
Resposta
import numpy as np
import matplotlib.pyplot as plt
# 1) Vetor de x
x = np.linspace(-10, 10, 1000)
# 2) Máscara pra excluir x = -3
mask = np.isclose(x, -3, atol=1e-2) # ou x != -3
# 3) Calcula f(x)
y = (x**3 - x**2 - 13*x - 3) / (x + 3)
# 4) Plot do gráfico
plt.figure(figsize=(8,5))
plt.plot(x[~mask], y[~mask], label=r'$f(x)=\frac{x^3 - x^2 -13x -3}{x+3}$')
# 5) Marca o "buraco" em (-3,20)
plt.scatter([-3], [20], s=100, facecolors='none', edgecolors='red', label='descontinuidade')
# 6) Detalhes finais
plt.axhline(0, color='black', linewidth=0.5)
plt.axvline(0, color='black', linewidth=0.5)
plt.legend()
plt.xlabel('x')
plt.ylabel('f(x)')
plt.title('Gráfico de f(x) com descontinuidade removível')
plt.grid(True)
plt.ylim(-50, 50)
plt.xlim(-10, 10)
# 7) Mostra o gráfico
plt.show()