Introducción

Este documento muestra cómo graficar una ecuación polinómica de octavo grado utilizando R y ggplot2. Primero se visualizará la función completa y luego se hará un acercamiento para observar algunas de sus raíces (intersecciones con el eje X).

Definición de la Ecuación

Vamos a utilizar la siguiente ecuación de octavo grado: \(f(x) = x^8 - 13x^6 + 35x^4 + 13x^2 - 36\)

Esta ecuación ha sido elegida porque tiene raíces enteras fáciles de identificar: \(x = \pm 1, \pm 2, \pm 3\).

# Definir la función polinómica de octavo grado
polynomial_function <- function(x) {
  x^8 - 13*x^6 + 35*x^4 + 13*x^2 - 36
}

Gráfica de la Función Completa

Para tener una idea general del comportamiento de la función, primero la graficamos en un rango amplio de valores de \(x\).

# Generar datos para la gráfica completa
x_values_full <- seq(-3.5, 3.5, by = 0.01)
y_values_full <- polynomial_function(x_values_full)
data_full_plot <- data.frame(x = x_values_full, y = y_values_full)

# Crear la gráfica completa usando ggplot2
ggplot(data_full_plot, aes(x = x, y = y)) +
  geom_line(color = "steelblue", size = 1) + # Línea de la función
  geom_hline(yintercept = 0, linetype = "dashed", color = "black") + # Eje X para referencia
  geom_vline(xintercept = 0, linetype = "dotted", color = "gray") + # Eje Y para referencia
  labs(title = "Gráfica Completa de la Ecuación de Octavo Grado",
       subtitle = "$f(x) = x^8 - 13x^6 + 35x^4 + 13x^2 - 36$",
       x = "Valores de x",
       y = "Valores de f(x)") +
  theme_minimal(base_size = 12) + # Tema limpio
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold"),
    plot.subtitle = element_text(hjust = 0.5, face = "italic"),
    axis.title = element_text(face = "bold")
  )
Gráfica completa de la función $f(x) = x^8 - 13x^6 + 35x^4 + 13x^2 - 36$.

Gráfica completa de la función \(f(x) = x^8 - 13x^6 + 35x^4 + 13x^2 - 36\).

Observaciones de la gráfica completa: La gráfica muestra la simetría par de la función (ya que solo contiene potencias pares de \(x\)). Se pueden intuir múltiples puntos de inflexión y extremos locales, así como las intersecciones con el eje X.

Gráfica Detallada de las Intersecciones con el Eje X

Ahora, nos enfocaremos en una región específica para observar con más claridad algunas de las intersecciones de la función con el eje X (es decir, las raíces de la ecuación \(f(x)=0\)). Mostraremos las raíces positivas: \(x=1, x=2, \text{y } x=3\).

# Generar datos para la gráfica enfocada en las raíces positivas
# Un rango que cubra las raíces 1, 2, y 3.
x_values_roots <- seq(0.5, 3.5, by = 0.01)
y_values_roots <- polynomial_function(x_values_roots)
data_roots_plot <- data.frame(x = x_values_roots, y = y_values_roots)

# Identificar las raíces exactas en este rango para marcarlas
# Estas son las raíces conocidas de nuestra función de ejemplo
actual_roots_in_range <- c(1, 2, 3)
root_points_to_display <- data.frame(
  x_root = actual_roots_in_range,
  y_root = polynomial_function(actual_roots_in_range) # Debería ser 0 para todas
)

# Crear la gráfica enfocada en las raíces
ggplot(data_roots_plot, aes(x = x, y = y)) +
  geom_line(color = "firebrick", size = 1) + # Línea de la función
  geom_hline(yintercept = 0, linetype = "dashed", color = "black") + # Eje X
  geom_vline(xintercept = 0, linetype = "dotted", color = "gray") + # Eje Y (si está en el rango)
  geom_point(data = root_points_to_display, 
             aes(x = x_root, y = y_root), 
             color = "darkgreen", 
             size = 3.5, 
             shape = 19) + # Marcar las raíces
  geom_text(data = root_points_to_display, 
            aes(x = x_root, y = y_root, label = paste("x =", x_root)),
            vjust = -1, # Desplazamiento vertical del texto (encima del punto)
            hjust = 0.5, # Centrado horizontal
            color = "darkgreen", 
            size = 4) + # Etiquetas para las raíces
  labs(title = "Detalle de Intersecciones Positivas con el Eje X",
       subtitle = "Raíces en $x=1, x=2, x=3$",
       x = "Valores de x",
       y = "Valores de f(x)") +
  theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold"),
    plot.subtitle = element_text(hjust = 0.5, face = "italic"),
    axis.title = element_text(face = "bold")
  )
Gráfica enfocada en las intersecciones positivas ($x=1, 2, 3$) con el eje X.

Gráfica enfocada en las intersecciones positivas (\(x=1, 2, 3\)) con el eje X.

  # No se establece ylim explícitamente; ggplot2 auto-ajustará la escala del eje Y
  # para mostrar la curva mientras pasa por las raíces.
  # Si la fluctuación fuera demasiado grande, se podría considerar:
  # coord_cartesian(ylim = c(-Y_limit, Y_limit)) para hacer zoom sin cortar datos.

Observaciones de la gráfica detallada: En esta vista más cercana, las intersecciones en \(x=1\), \(x=2\), y \(x=3\) son claramente visibles. Los puntos verdes marcan estas raíces. La función cruza el eje X en estos puntos. Se puede observar cómo la función se comporta (crece o decrece) alrededor de estas raíces.

Conclusión

Hemos graficado con éxito una ecuación de octavo grado, mostrando tanto su forma general como un detalle de sus raíces. R Markdown junto con ggplot2 ofrece una herramienta poderosa para este tipo de visualizaciones matemáticas.