Las ecuaciones de segundo grado (también llamadas ecuaciones cuadráticas) son ecuaciones algebraicas donde la variable aparece elevada al cuadrado como máximo. Tienen la forma general:
El término cuadrático ax^2
El término lineal bx
El término independiente c
La solución general se obtiene con la fórmula cuadrática:
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \] El valor dentro de la raíz se llama discriminante, y determina el tipo de soluciones:
Ejemplo resuelto
Sea la ecuación cuadrática:
\[ 2x^2 - 5x + 3 = 0 \]
Aplicamos la fórmula general:
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
Identificamos los coeficientes:
\[ a = 2, \quad b = -5, \quad c = 3 \]
Calculamos el discriminante:
\[ \Delta = b^2 - 4ac = (-5)^2 - 4(2)(3) = 25 - 24 = 1 \]
Reemplazamos en la fórmula:
\[ x = \frac{-(-5) \pm \sqrt{1}}{2(2)} \]
Simplificamos:
\[ x = \frac{5 \pm 1}{4} \]
Por lo tanto, las dos soluciones son:
\[ x_1 = \frac{5 + 1}{4} = \frac{6}{4} = 1.5 \]
\[ x_2 = \frac{5 - 1}{4} = \frac{4}{4} = 1 \]
## Cálculo de una ecuación de segundo grado ##
# Usa valores directos
a <- 2
b <- -5
c <- 3
# Calculo del discriminante
discriminante <- b^2 - 4*a*c
# Condicionante
if (discriminante > 0) {
x1 <- (-b + sqrt(discriminante)) / (2*a)
x2 <- (-b - sqrt(discriminante)) / (2*a)
cat("Las soluciones son: x1 =", x1, "y x2 =", x2)
} else if (discriminante == 0) {
x <- -b / (2*a)
cat("Existe una única solución: x =", x)
} else {
parte_real <- -b / (2*a)
parte_imaginaria <- sqrt(-discriminante) / (2*a)
cat("Las soluciones son complejas:\n")
cat("x1 =", parte_real, "+", parte_imaginaria, "i\n")
cat("x2 =", parte_real, "-", parte_imaginaria, "i\n")
}
## Las soluciones son: x1 = 1.5 y x2 = 1
Un sistema de ecuaciones es un conjunto de dos o más ecuaciones que se deben cumplir al mismo tiempo y que comparten las mismas incógnitas.
Es decir, buscamos valores para las variables que hagan verdaderas todas las ecuaciones del sistema.
La idea es sumar o restar las ecuaciones del sistema de manera que desaparezca una variable. Después resuelves la ecuación que queda, y finalmente encuentras la otra variable.
Sea el siguiente sistema de ecuaciones:
\[ \begin{cases} 2x + y = 5 \\ 3x - y = 4 \end{cases} \]
Elegimos una variable para eliminar.
Observamos que los coeficientes de \(y\) son \(+1\) y \(-1\), por lo que es fácil eliminarlos.
Sumamos ambas ecuaciones:
\[ (2x + y) + (3x - y) = 5 + 4 \]
Al sumar, los términos con \(y\) se cancelan:
\[ 5x = 9 \]
Resolviendo para \(x\):
\[ x = \frac{9}{5} \]
Sustituimos el valor de \(x\) en la primera ecuación:
\[ 2x + y = 5 \]
\[ 2\left(\frac{9}{5}\right) + y = 5 \]
\[ \frac{18}{5} + y = 5 \]
\[ y = 5 - \frac{18}{5} = \frac{7}{5} \]
\[ (x, y) = \left( \frac{9}{5}, \frac{7}{5} \right) \]
a1 <- 2
b1 <- 3
c1 <- 5
a2 <- 1
b2 <- -4
c2 <- 2
# Verificación básica
if (is.na(a1) || is.na(b1) || is.na(c1) ||
is.na(a2) || is.na(b2) || is.na(c2)) {
cat("Error: todos los valores deben ser numéricos.\n")
}
# Método de eliminación
A1 <- a1 * b2
B1 <- b1 * b2
C1 <- c1 * b2
A2 <- a2 * b1
B2 <- b2 * b1
C2 <- c2 * b1
A <- A1 - A2
C <- C1 - C2
if (A == 0) {
cat("No se puede resolver, posible división entre cero.\n")
}
x <- C / A
if (b1 == 0) {
cat("Error: b1 no puede ser cero.\n")
}
y <- (c1 - a1 * x) / b1
cat("La solucion del sistema es:\n")
## La solucion del sistema es:
cat("x =", x, "\n")
## x = 2.363636
cat("y =", y, "\n")
## y = 0.09090909
En este trabajo pusimos en práctica los conceptos básicos sobre cómo resolver ecuaciones cuadráticas usando la fórmula general y revisando el discriminante para saber qué tipo de soluciones se obtienen. Con esa base pude hacer los programas en R, usando estructuras como if y else, además de algunas validaciones para evitar errores al momento de ejecutar los cálculos.
Usar RMarkdown me ayudó bastante porque permite juntar el código, los resultados y las explicaciones en un mismo documento, lo que facilita entender el proceso completo.