Resolución de Ecuaciones Cuadráticas
Para resolver una ecuación de la forma \(ax^2 + bx + c = 0\), se utiliza la fórmula general
\[x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}\]
Se debe definir la función cuadrática en R para automatizar el cálculo, incluyendo raíces reales y complejas:
resolver_cuadratica <- function(a, b, c) {
if (a == 0) {
stop("El coeficiente 'a' no puede ser cero en una ecuación de segundo grado.")
}
# Se calcula el discriminante (parte de la ecuación cuadrática)
discriminante <- b^2 - 4*a*c
if (discriminante > 0) {
# Si el discriminante es > 0, la ecuación tiene dos soluciones reales:
x1 <- (-b + sqrt(discriminante)) / (2*a)
x2 <- (-b - sqrt(discriminante)) / (2*a)
return(list(tipo = "Reales distintos", raices = c(x1, x2)))
} else if (discriminante == 0) {
# Si el discriminante es = 0, la ecuación tiene 1 solución real
x <- -b / (2*a)
return(list(tipo = "Real Doble", raices = x))
} else {
# Si el discriminante es < 0, la ecuación tiene soluciones complejas
parte_real <- -b / (2*a)
parte_imaginaria <- sqrt(as.complex(discriminante)) / (2*a)
x1 <- parte_real + parte_imaginaria
x2 <- parte_real - parte_imaginaria
return(list(tipo = "Soluciones complejas", raices = c(x1, x2)))
}
}
Se tiene la siguiente expresión cuadrática: \[x^2 - 5x + 6 = 0\]
resultado_cuad <- resolver_cuadratica(1, -5, 6)
print(resultado_cuad)
## $tipo
## [1] "Reales distintos"
##
## $raices
## [1] 3 2
Sistemas de Ecuaciones Lineales (2x2)
Un sistema de dos ecuaciones con dos incógnitas se puede representar de forma matricial como \(Ax = B\): \[\begin{cases} a_{11}x + a_{12}y = b_1 \\ a_{21}x + a_{22}y = b_2 \end{cases}\]
Se debe definir la función para resolver sistemas de ecuaciones en forma de matriz para automatizar el cálculo:
resolver_sistema_2x2 <- function(a11, a12, b1, a21, a22, b2) {
# Se construye la matriz de coeficientes (A)
A <- matrix(c(a11, a21, a12, a22), nrow = 2, ncol = 2)
# Se crea el vector de resultados (B)
B <- c(b1, b2)
# Se resuelve mediante la función solve()
tryCatch({
solucion <- solve(A, B)
names(solucion) <- c("x", "y")
return(solucion)
}, error = function(e) {
return("El sistema no tiene solución única, puede ser una matriz singular o líneas paralelas")
})
}
Se tiene el siguiente sistema de ecuaciones con dos incógnitas: \[ \begin{cases} 2x + y = 7 \\ x - 3y = -7 \end{cases} \]
resultado_sis <- resolver_sistema_2x2(2, 1, 7, 1, -3, -7)
print(resultado_sis)
## x y
## 2 3