Soluciones para los diferentes casos de raíces

Primero se establece la función y la solución general para cada caso, para las raíces reales diferentes, raíces reales iguales y para las raíces complejas y conjugadas.

library(MASS)
eqn_2o<-function(A1, A2, y_0, y_1, x){
  if(A1^2-4*A2<0){
    print("Imaginarias")  
     a = -A1/2
    b = sqrt(abs(A1^2-4*A2))/2
    r = sqrt(a^2+b^2)
    t = atan(b/a)
    a1<-c(cos(0),r*cos(t))
    a2<-c(sin(0),r*sin(t))
    A<-cbind(a1,a2)
    b1<-c(y_0,y_1)
    B=cbind(b1)
    C=ginv(A)%*%B
    y_x = (r^x)*(C[1]*cos(t*x)+C[2]*sin(t*x))
  }
  else if(A1^2-4*A2 == 0){
    print("Reales iguales")
    m1 <-(-A1+sqrt(A1^2-4*A2))/2 
    m2 <-(-A1-sqrt(A1^2-4*A2))/2
    a1<-c(1,m1)
    a2<-c(1,m2*x)
    A<-cbind(a1,a2)
    b1<-c(y_0,y_1)
    B=cbind(b1)
    C=ginv(A)%*%B
    y_x = C[1]*m1^x+C[2]*x*m2^x
  }
  else if (A1^2-4*A2 > 0){
    print("Reales diferentes")
    m1 <-(-A1+sqrt(A1^2-4*A2))/2 
    m2 <-(-A1-sqrt(A1^2-4*A2))/2
    a1<-c(1,m1)
    a2<-c(1,m2)
    A<-cbind(a1,a2)
    b1<-c(y_0,y_1)
    B=cbind(b1)
    C=ginv(A)%*%B
    y_x = C[1]*m1^x+C[2]*m2^x
  }
}

Raíces reales y diferentes

Evaluamos los primeros valores y comprobamos que es ub caso de raíces reales y diferentes.

y_x<-eqn_2o(8,5,100,30,15)
## [1] "Reales diferentes"
y_x
## [1] 1.366642e+14

Gráfico

Raíces reales e iguales

Evaluamos el conjunto de datos dos y se obtiene la respuesta que es un caso de raíces reales e iguales.

y_x<-eqn_2o(4,4,100,30,15)
## [1] "Reales iguales"
y_x
## [1] 491520

Gráfico

Raíces complejas y conjugadas

Evaluamos el ultimo conjunto de datos y se concluye que es un caso de raíces complejas y conjugadas, conocidas como “imaginarias”.

y_x<-eqn_2o(2,4,100,30,15)
## [1] "Imaginarias"
y_x
## [1] -3276800

Gráfico