Función lineal: \(y=a+bx\)
x <- 0
y <- 25 + 0.05 * x
y
## [1] 25
Generador de tabla de la función lineal
# 1. Definir los vectores de datos
x <- c(0, 100, 400, 800, 1000, 1200)
y <- 25 + 0.05 * x
# 2. Creación de la tabla (Data Frame)
tabla_estudio <- data.frame(
Horas = x,
Calificacion = y
)
# 3. Mostrar la tabla
print(tabla_estudio)
## Horas Calificacion
## 1 0 25
## 2 100 30
## 3 400 45
## 4 800 65
## 5 1000 75
## 6 1200 85
Gráfico de Línea \(y=25+0.05x\)
Horas de estudio vs. calificación
# Datos
x <- c(0, 100, 400, 800, 1000, 1200)
y <- 25 + 0.05 * x
# Gráfico
plot(
x, y,
type = "b",
col = "blue",
lwd = 2,
main = "Relación lineal: Horas de estudio vs. calificación",
xlab = "Horas de Estudio (x)",
ylab = "Calificación Promedio (y %)"
)

Función cuadrática:
# 1. Definir los coeficientes de la función
a <- 5
b <- 2
c <- -0.5
# 2. Crear un vector de datos para el eje X (por ejemplo, de -10 a 10)
x <- seq(-10, 10, length.out = 200)
# 3. Calcular la variable dependiente Y basada en la fórmula
y <- a + b*x + c*x^2
# 4. Graficar
plot(x, y, type = "l", col = "blue", lwd = 2,
main = expression(y == a + bx + cx^2),
xlab = "X", ylab = "Y")
# 5. Agregar una línea guía en y = 0 y x = 0
abline(h = 0, col = "gray", lty = 2)
abline(v = 0, col = "gray", lty = 2)

Polinomios
# 1. Definir los valores de los parámetros
valores_a <- c(-3, 0, 3) # a < 0, a = 0, a > 0
valores_b <- c(-2, 0, 2) # b < 0, b = 0, b > 0
valores_c <- c(-0.5, 0.5) # c < 0, c > 0
# 2. Configurar el lienzo (2 filas para 'c', 3 columnas para 'b')
par(mfrow = c(2, 3), mar = c(4, 4, 3, 1))
# 3. Iterar a través de los valores para dibujar
# Invertimos el orden de 'c' para que el positivo quede arriba (coherente con ggplot)
for (c in rev(valores_c)) {
for (b in valores_b) {
# Crear un gráfico vacío con los límites adecuados
plot(NA, xlim = c(-8, 8), ylim = c(-15, 15),
xlab = "x", ylab = "y",
main = paste("c:", c, "| b:", b))
# Líneas de referencia
abline(h = 0, v = 0, col = "gray80")
# Dibujar las 3 líneas de 'a' dentro del mismo gráfico
estilos_linea <- c(3, 2, 1) # punteada, discontinua, sólida
for (i in 1:length(valores_a)) {
a <- valores_a[i]
x_seq <- seq(-8, 8, length.out = 100)
y_seq <- a + b * x_seq + c * x_seq^2
lines(x_seq, y_seq, lty = estilos_linea[i], lwd = 2, col = "blue")
}
}
}

# Restaurar configuración original
par(mfrow = c(1, 1))
Raíces de la Cuadrática
# Funciones cuadráticas y un rango de evaluación para x
x_seq <- seq(-4, 5, length.out = 300)
y_verde <- 1 * x_seq^2 - 2 * x_seq - 3 # D > 0 (Raíces en -1 y 3)
y_amarillo <- 1 * x_seq^2 - 4 * x_seq + 4 # D = 0 (Raíz en 2)
y_rojo <- 1 * x_seq^2 + 2 * x_seq + 3 # D < 0 (Complejas)
# 2. Configuración de la ventana gráfica para tener 3 columnas en 1 fila
# 'oma' añade espacio externo arriba para un título global
par(mfrow = c(1, 3), mar = c(5, 4, 4, 1) + 0.1, oma = c(0, 0, 3, 0))
# Gráfico 1
plot(x_seq, y_verde, type = "l", col = "#2ca02c", lwd = 2.5,
xlim = c(-4, 5), ylim = c(-5, 10), xlab = "x", ylab = "f(x)",
main = "(Δ > 0)", sub = "Dos raíces reales")
abline(h = 0, col = "black", lwd = 1.2) # Eje X
abline(v = 0, col = "darkgray", lty = 2) # Eje Y
grid(col = "gray90", lty = "solid")
# Remarcar línea y puntos de corte
lines(x_seq, y_verde, col = "#2ca02c", lwd = 2.5)
points(c(-1, 3), c(0, 0), col = "#1a611a", pch = 21, bg = "white", lwd = 2, cex = 1.5)
# Gráfico 2
plot(x_seq, y_amarillo, type = "l", col = "#d1a100", lwd = 2.5,
xlim = c(-4, 5), ylim = c(-5, 10), xlab = "x", ylab = "f(x)",
main = "(Δ = 0)", sub = "Una raíz repetida")
abline(h = 0, col = "black", lwd = 1.2)
abline(v = 0, col = "darkgray", lty = 2)
grid(col = "gray90", lty = "solid")
# Remarcar línea y punto de corte (vértice)
lines(x_seq, y_amarillo, col = "#d1a100", lwd = 2.5)
points(2, 0, col = "#947200", pch = 21, bg = "white", lwd = 2, cex = 1.5)
# Gráfico 3
plot(x_seq, y_rojo, type = "l", col = "#d62728", lwd = 2.5,
xlim = c(-4, 5), ylim = c(-5, 10), xlab = "x", ylab = "f(x)",
main = "(Δ < 0)", sub = "Raíces complejas")
abline(h = 0, col = "black", lwd = 1.2)
abline(v = 0, col = "darkgray", lty = 2)
grid(col = "gray90", lty = "solid")
# Remarcar línea (no lleva puntos ya que no corta el eje X)
lines(x_seq, y_rojo, col = "#d62728", lwd = 2.5)
# Título
mtext("Comportamiento del Discriminante (Δ = b² - 4ac)",
outer = TRUE, side = 3, line = 1, cex = 1.3, font = 2)

Función exponencial
# 1. Crear los datos basicos
x <- seq(-3, 3, length.out = 10000)
y <- exp(x)
# 2. Graficar la curva ampliando el limite vertical
plot(x, y, type = "l", col = "blue", lwd = 2, axes = FALSE, xlab = "", ylab = "", ylim = c(-1, 20))
# 3. Dibujar los ejes sencillos en forma de flecha
arrows(-3, 0, 3, 0, length = 0.1, lwd = 1.5)
arrows(0, -1, 0, 20, length = 0.1, lwd = 1.5)
# 4. Colocar las letras de los ejes
text(3.2, 0.5, "x", cex = 1.2)
text(-0.3, 20, "y", cex = 1.2)
