voy a crear la función del numero factorial: \[ n!=n*(n-1)*(n-2)..........*2*1 \]

factorial=function(n){
    f=1
    valores=NULL
    for(i in seq(1,n)){
      if(n==0){
        valores=1
        
      }
      else if(n>0){
        f<-f*i
        valores=f}
      else {
        valores="No existe el factorial"
      }
    }
    return(valores)
  }

La voy a provar mi función creada

factorial(4)
## [1] 24

formula de taylor para aporximar al número de euler \(e\): \[ e^x= \frac{x^0}{o!}+\frac{x^1}{1!}+\frac{x^2}{2!}+..........+\frac{x^n}{n!} \] Equivale: \[ \sum_{i=0}^{n}\frac{x^n}{n!}=\frac{x^0}{o!}+\frac{x^1}{1!}+\frac{x^2}{2!}+..........+\frac{x^n}{n!} \] La estructura de programacion de la funcion de taylor

taylor=function(x,n){
  taylor=1
  factorial=function(n){
    f=1
    valores=NULL
    for(i in seq(1,n)){
      if(n==0){
        valores=1
        
      }
      else if(n>0){
        f<-f*i
        valores=f}
      else {
        valores="No existe el factorial"
      }
    }
    return(valores)
  }
  for(a in 1:n){
    taylor=taylor+(x^a/factorial(a))
                   
  }
  return(taylor)
  
}

Voy a probar la funcion de Taylor

taylor(1,20)
## [1] 2.718282

Voy a crear un cuadro o un dataframe en donde me muestre los errores

cuadro=function(a,b){
  diferencia=NULL
  resta=NULL
  datos=data.frame()
  for (i in 1:b) {
    diferencia<-rbind(diferencia,taylor(a,i))
    
  }
  
  for (a in 1:b) {
    numero=exp(1)-diferencia[a]
    resta=rbind(resta,numero)
  }
  datos=data.frame(Aproximacion=diferencia,euler=rep(exp(1),b),error=resta,error_relativo=(resta)/diferencia)
  print(datos)
}
cuadro(1,20)
##           Aproximacion    euler         error error_relativo
## numero        2.000000 2.718282  7.182818e-01   3.591409e-01
## numero.1      2.500000 2.718282  2.182818e-01   8.731273e-02
## numero.2      2.666667 2.718282  5.161516e-02   1.935569e-02
## numero.3      2.708333 2.718282  9.948495e-03   3.673291e-03
## numero.4      2.716667 2.718282  1.615162e-03   5.945381e-04
## numero.5      2.718056 2.718282  2.262729e-04   8.324808e-05
## numero.6      2.718254 2.718282  2.786021e-05   1.024930e-05
## numero.7      2.718279 2.718282  3.058618e-06   1.125204e-06
## numero.8      2.718282 2.718282  3.028859e-07   1.114255e-07
## numero.9      2.718282 2.718282  2.731266e-08   1.004777e-08
## numero.10     2.718282 2.718282  2.260552e-09   8.316107e-10
## numero.11     2.718282 2.718282  1.728764e-10   6.359767e-11
## numero.12     2.718282 2.718282  1.228573e-11   4.519667e-12
## numero.13     2.718282 2.718282  8.149037e-13   2.997863e-13
## numero.14     2.718282 2.718282  5.018208e-14   1.846096e-14
## numero.15     2.718282 2.718282  2.220446e-15   8.168565e-16
## numero.16     2.718282 2.718282 -4.440892e-16  -1.633713e-16
## numero.17     2.718282 2.718282 -4.440892e-16  -1.633713e-16
## numero.18     2.718282 2.718282 -4.440892e-16  -1.633713e-16
## numero.19     2.718282 2.718282 -4.440892e-16  -1.633713e-16

Esta es mi pagina