Faça um programa que esboce o gráfico das seguintes funções na mesma tela.
Passo 1
Beleza, o enunciado quer um programa que desenhe num mesmo gráfico a função pedaço a pedaço
Isso é conteúdo de Python (ou outra linguagem) com plotagem, normalmente usando as bibliotecas NumPy e Matplotlib. Para resolver, a gente vai precisar:
- Criar um vetor de valores de
. - Calcular
separadamente em cada parte (usando condição booleana). - Plotar cada parte no mesmo gráfico, ajustar título, legenda e mostrar.
Passo 2
Importar as bibliotecas e criar o domínio de
:
import numpy as np
é pra usar vetores e máscaras booleanas.import matplotlib.pyplot as plt
é pra desenhar o gráfico.- Definimos um intervalo de
, por exemplo de até , com muitos pontos ( np.linspace
) pra ficar suave.
Passo 3
Calcular
em cada região:
- Fazemos um vetor
x
grande. - Criamos duas máscaras booleanas:
mask1 = x<=1
para a parte. mask2 = x>1
para a parte.
- Inicializamos um vetor
y = np.zeros_like(x)
só pra ter o mesmo tamanho dex
. - Atribuímos
y[mask1] = x[mask1]**2 # y = x^2, se x ≤ 1 y[mask2] = 2 - (x[mask2]-2)**2 # y = 2 - (x-2)^2, se x > 1
Passo 4
Plotar as duas partes (elas já estão no mesmo
x
, mas foi preenchido de formas diferentes):plt.plot(x, y, label='Função pedaço a pedaço')
- Opcional: separar cores ou marcar o ponto
se quiser. - Colocar
plt.xlabel('x')
,plt.ylabel('y')
,plt.title('Gráfico da função pedaço a pedaço')
,plt.legend()
eplt.grid(True)
.
Passo 5
Mostrar o gráfico com
plt.show()
.Resposta
import numpy as np
import matplotlib.pyplot as plt
# 1) Cria vetor de x de -1 a 4, com 500 pontos
x = np.linspace(-1, 4, 500)
# 2) Máscaras que separam as duas partes
mask1 = x <= 1 # para y = x^2
mask2 = x > 1 # para y = 2 - (x-2)^2
# 3) Inicializa y e atribui valor conforme a máscara
y = np.zeros_like(x)
y[mask1] = x[mask1]**2 # y = x^2, se x ≤ 1
y[mask2] = 2 - (x[mask2] - 2)**2 # y = 2 - (x-2)^2, se x > 1
# 4) Plota tudo
plt.plot(x, y, color='blue', label='y = piecewise')
# 5) Deixa o gráfico bonitão
plt.xlabel('x')
plt.ylabel('y')
plt.title('Gráfico de\n$y=\\begin{cases}x^{2}&x\\le1\\\\2-(x-2)^{2}&x>1\\end{cases}$')
plt.legend()
plt.grid(True)
# 6) Exibe
plt.show()
Pronto! É só rodar esse código em um ambiente Python com Matplotlib instalado que você vai ver o gráfico direitinho.