Sistema de ecuaciones y ecuación cuadrática

library(matlib)
library(MASS)

eqn_2o<-function(A1, A2, y0, y1, x){
  if(A1^2-4*A2<0){
#Resolviendo el sistema de ecuaciones (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(y0,y1)
    B=cbind(b1)
    C=ginv(A)%*%B
    yx = (r^x)*(C[1]*cos(t*x)+C[2]*sin(t*x))
  }
  
  else if(A1^2-4*A2 == 0){
#Resolviendo le eq cuadrática (Reales iguales)
    m1 <-(-A1+sqrt(A1^2-4*A2))/2 
    m2 <-(-A1-sqrt(A1^2-4*A2))/2
#Resolviendo el sistema de ecuaciones
    a1<-c(1,m1)
    a2<-c(1,m2*x)
    A<-cbind(a1,a2)
    b1<-c(y0,y1)
    B=cbind(b1)
    C=ginv(A)%*%B
    yx = C[1]*m1^x+C[2]*x*m2^x
  }
  
  else if (A1^2-4*A2 > 0){
#Resolviendo le eq cuadrática (Reales diferentes)
    m1 <-(-A1+sqrt(A1^2-4*A2))/2 
    m2 <-(-A1-sqrt(A1^2-4*A2))/2
#Resolviendo el sistema de ecuaciones
    a1<-c(1,m1)
    a2<-c(1,m2)
    A<-cbind(a1,a2)
    b1<-c(y0,y1)
    B=cbind(b1)
    C=ginv(A)%*%B
    yx = C[1]*m1^x+C[2]*m2^x
  }
}

Situación #1 (Reales diferentes)

A1=8, A2=5, y0=100, y1=30, 15 años

# A1=2, A=2, y0=100, y1=30, 15 años
y_x1<-eqn_2o(8,5,100,30,15)
y_x1
## [1] 1.366642e+14

Gráfico #1

serie <- list()
for (i in 1:15){
  serie <- c(serie,eqn_2o(8,5,100,30,i))
}
plot(1:15,serie,type="l",main="Gráfico 1",xlab="Años")

Conclusión #1

El valor final para la situación 1 en la que A1=8, A2=5, y0=100, y1=30 es de: 1.366642e+14

Situación #2 (Reales iguales)

A1=4, A2=4, y0=100, y1=30, 15 años

# A1=4, A2=4, y0=100, y1=30, 15 años
y_x2<-eqn_2o(4,4,100,30,15)
y_x2
## [1] 491520

Gráfico #2

serie <- list()
for (i in 1:15){
  serie <- c(serie,eqn_2o(4,4,100,30,i))
}
plot(1:15,serie,type="l",main="Gráfico 2",xlab="Años")

Conclusión #2

El valor final para la situación 2 en la que A1=4, A2=4, y0=100, y1=30 es de: 491,520

Situación #3 (Imaginarias)

A1=2, A2=4, y0=100, y1=30, 15 años

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

Gráfico #3

serie <- list()
for (i in 1:15){
  serie <- c(serie,eqn_2o(2,4,100,30,i))
}
plot(1:15,serie,type="l",main="Gráfico 3",xlab="Años")

Conclusión #3

El valor final para la situación 3 en la que A1=2, A2=4, y0=100, y1=30 es de: -3,276,800