Mostrando entradas con la etiqueta Ecuación de segundo grado. Mostrar todas las entradas
Mostrando entradas con la etiqueta Ecuación de segundo grado. Mostrar todas las entradas

2015-06-16

Resolver ecuaciones de segundo grado en R

Title

Problema

Queremos resolver una ecuación de segundo grado en R: ax2 + bx + c = 0.

Solución

  1. Dos soluciones reales
  2. Números positivos dentro de la raíz cuadrada.

    2x2 + 20x + 3 = 0

    x <- 2
    y <- 20
    z <- 3
    
    x1 <- (-y + sqrt((y^2) - (4 * x * z)))/(2 * x)
    x2 <- (-y - sqrt((y^2) - (4 * x * z)))/(2 * x)
    print(c(x1, x2))
    
    No empleamos las letras a, b y c, pues c es una palabra reservada en R.

    [1] -0.1523201 -9.8476799
    
  3. Una solución real repetida
  4. Un cero y un número positivo dentro de la raíz cuadrada.

    x2 - 6x + 9 = 0

    x <- 1
    y <- -6
    z <- 9
    
    x1 <- (-y + sqrt((y^2) - (4 * x * z)))/(2 * x)
    x2 <- (-y - sqrt((y^2) - (4 * x * z)))/(2 * x)
    print(c(x1, x2))
    
    [1] 3 3
    
  5. Dos soluciones complejas
  6. Números negativos dentro de la raíz cuadrada.

    2x2 + 7x + 11 = 0

    x <- 2
    y <- 7
    z <- 11
    
    polyroot(c(z, y, x))
    
    [1] -1.75+1.561249i -1.75-1.561249i
    
    El código empleado en las dos opciones anteriores generaría un error. La función polyroot devolverá dos números complejos como la suma de un número real y uno número imaginario. También podemos emplear dicha fórmula en los casos anteriores. En dichos casos el número imaginario será 0i = 0.

    2x2 + 20x + 3 = 0

    x <- 2
    y <- 20
    z <- 3
    
    polyroot(c(z, y, x))
    
    [1] -0.1523201-0i -9.8476799+0i
    

Entradas relacionadas

Nube de datos