Para poder encontrar la solución a las siguientes ecuaciones a 15 años se realizó una función que valida si las raices son iguales, reales o imaginarias por medio de evaluar si A1²-4*A2 es menor, igual o mayor a cero.
library(matlib)
## Warning: package 'matlib' was built under R version 4.2.2
library(MASS)
eqn_2o<-function(A1, A2, y_0, y_1, x){
if(A1^2-4*A2<0){
#Resolviendo el sistema
a <- -A1/2
b <- sqrt(abs(A1^2-4*A2))/2
r<-sqrt(a^2+b^2)
theta<- atan(b/a)
a1<-c(cos(0),r*cos(theta))
a2<-c(sin(0),r*sin(theta))
A<-cbind(a1,a2)
b1<-c(y_0,y_1)
B=cbind(b1)
C=ginv(A)%*%B
theta<- atan(b/a)
yx = (r^x)*((C[1]*cos(theta*x))+C[2]*sin(theta*x))
}
else if(A1^2-4*A2 == 0){
#Resolviendo le eq cuadrática
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(y_0,y_1)
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
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(y_0,y_1)
B=cbind(b1)
C=inv(A)%*%B
yx = C[1]*m1^x+C[2]*m2^x
}
}
Utilizando los siguiente valores A1=8, A2=5, y0=100, y1=30, x=15, da un resultado de reales diferentes:
res1 <-eqn_2o(8,5,100,30,15)
res1
## [1] 1.366642e+14
Por lo tanto la gráfica quedaría de la siguiente manera:
Utilizando los siguiente valores A1=4, A2=4, y0=100, y1=30, x=15 da un resultado de reales iguales:
res2 <-eqn_2o(4,4,100,30,15)
res2
## [1] 491520
Por lo tanto la gráfica quedaría de la siguiente manera:
Utilizando los siguiente valores A1=2, A2=4, y0=100, y1=30, x=15 da un resultado de reales imaginarias:
res3 <-eqn_2o(2,4,100,30,15)
res3
## [1] -3276800
Por lo tanto la gráfica quedaría de la siguiente manera: