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)