Una ecuación de segundo grado tiene la siguiente estructura:
\[ ax^2+bx+c=0 \]
Para resolverla se utiliza la fórmula general:
\[ x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} \]
El discriminante se calcula mediante:
\[ D=b^2-4ac \]
resolver_ecuacion <- function(a, b, c) {
if (a == 0) {
stop("El coeficiente a debe ser diferente de cero")
}
D <- b^2 - 4*a*c
cat("Ecuacion:", a, "x^2 +", b, "x +", c, "= 0\n")
cat("Discriminante:", D, "\n")
if (D > 0) {
x1 <- (-b + sqrt(D))/(2*a)
x2 <- (-b - sqrt(D))/(2*a)
cat("Dos soluciones reales diferentes:\n")
cat("x1 =", x1, "\n")
cat("x2 =", x2, "\n")
} else if (D == 0) {
x <- -b/(2*a)
cat("Una solucion real doble:\n")
cat("x =", x, "\n")
} else {
parte_real <- -b/(2*a)
parte_imaginaria <- sqrt(-D)/(2*a)
x1 <- complex(real = parte_real,
imaginary = parte_imaginaria)
x2 <- complex(real = parte_real,
imaginary = -parte_imaginaria)
cat("Dos soluciones complejas:\n")
cat("x1 =", x1, "\n")
cat("x2 =", x2, "\n")
}
}
Resolver:
\[ 2x^2-5x+2=0 \]
a <- 2
b <- -5
c <- 2
resolver_ecuacion(a, b, c)
## Ecuacion: 2 x^2 + -5 x + 2 = 0
## Discriminante: 9
## Dos soluciones reales diferentes:
## x1 = 2
## x2 = 0.5
x1 <- 2
x2 <- 0.5
resultado1 <- a*x1^2 + b*x1 + c
resultado2 <- a*x2^2 + b*x2 + c
cat("Comprobacion de x1:", resultado1, "\n")
## Comprobacion de x1: 0
cat("Comprobacion de x2:", resultado2, "\n")
## Comprobacion de x2: 0
Un sistema de dos ecuaciones con dos incógnitas tiene la siguiente estructura:
\[ a_1x+b_1y=c_1 \]
\[ a_2x+b_2y=c_2 \]
Se puede resolver mediante matrices utilizando la expresión:
\[ AX=B \]
La solución se obtiene mediante:
\[ X=A^{-1}B \]
resolver_sistema <- function(a1, b1, c1,
a2, b2, c2) {
A <- matrix(c(a1, b1,
a2, b2),
nrow = 2, byrow = TRUE)
B <- c(c1, c2)
D <- det(A)
cat("Matriz de coeficientes:\n")
print(A)
cat("Vector de resultados:\n")
print(B)
cat("Determinante:", D, "\n")
if (abs(D) < 1e-10) {
cat("El sistema no tiene una solucion unica.\n")
} else {
solucion <- solve(A, B)
cat("Solucion del sistema:\n")
cat("x =", solucion[1], "\n")
cat("y =", solucion[2], "\n")
}
}
Resolver el siguiente sistema:
\[ \begin{cases} 2x+y=7\\ x-y=2 \end{cases} \]
a1 <- 2
b1 <- 1
c1 <- 7
a2 <- 1
b2 <- -1
c2 <- 2
resolver_sistema(a1, b1, c1,
a2, b2, c2)
## Matriz de coeficientes:
## [,1] [,2]
## [1,] 2 1
## [2,] 1 -1
## Vector de resultados:
## [1] 7 2
## Determinante: -3
## Solucion del sistema:
## x = 3
## y = 1
x <- 3
y <- 1
ecuacion1 <- 2*x + y
ecuacion2 <- x - y
cat("Primera ecuacion:", ecuacion1, "= 7\n")
## Primera ecuacion: 7 = 7
cat("Segunda ecuacion:", ecuacion2, "= 2\n")
## Segunda ecuacion: 2 = 2