Acitvidad 1

sumatoria <- function(k){
  sumatoria = 0
  for (i in seq(k)) {
    s_i = (1/(2^i))
    sumatoria= sumatoria+s_i
    print(sumatoria)
  }
  return(sumatoria)
}
#Evaluando K desde 1 hasta 100
sumatoria(100)
## [1] 0.5
## [1] 0.75
## [1] 0.875
## [1] 0.9375
## [1] 0.96875
## [1] 0.984375
## [1] 0.9921875
## [1] 0.9960938
## [1] 0.9980469
## [1] 0.9990234
## [1] 0.9995117
## [1] 0.9997559
## [1] 0.9998779
## [1] 0.999939
## [1] 0.9999695
## [1] 0.9999847
## [1] 0.9999924
## [1] 0.9999962
## [1] 0.9999981
## [1] 0.999999
## [1] 0.9999995
## [1] 0.9999998
## [1] 0.9999999
## [1] 0.9999999
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
## [1] 1
#Guardar los resultados uno a uno en vector 

sumatoria1 <- function(k){
  sumatoria1 = 0
  vec_sumatoria = NULL
  for (i in seq(k)) {
    s_i1 = (1/(2^i)) #Calculo punto por punto 
    sumatoria1 = sumatoria1 + s_i1 #Acumulando los productos
    vec_sumatoria[i] = sumatoria1 #Guardar el vector
  }
  return(vec_sumatoria)
}
#Producto acumulado
p = sumatoria1(100)

#Grafica del progreso de los valores
plot(p)

sumatoria2 <- function(k){
  sumatoria2 = 0
  for (i in seq(k)) {
    s_i2 = (1/(factorial(1:i)))
    sumatoria2= sum(s_i2) 
    print(sumatoria2)
  }
  return(sumatoria2)
}
#Evaluando cuando K desde 1 a 20
sumatoria2(20)
## [1] 1
## [1] 1.5
## [1] 1.666667
## [1] 1.708333
## [1] 1.716667
## [1] 1.718056
## [1] 1.718254
## [1] 1.718279
## [1] 1.718282
## [1] 1.718282
## [1] 1.718282
## [1] 1.718282
## [1] 1.718282
## [1] 1.718282
## [1] 1.718282
## [1] 1.718282
## [1] 1.718282
## [1] 1.718282
## [1] 1.718282
## [1] 1.718282
## [1] 1.718282
#Guardar los resultados uno a uno en vector 

sumatoria2.1 <- function(k){
  sumatoria2.1 = 0
  vec_sumatoria2 = NULL
  for (i in seq(k)) {
    s_i2 = (1/(factorial(1:i))) #Calculo punto por punto 
    sumatoria2.1= sum(s_i2)  #Acumulando los productos
    vec_sumatoria2[i] = sumatoria2.1 #Guardar el vector
  }
  return(vec_sumatoria2)
}
#Producto acumulado
p2 = sumatoria2.1(20)

#Grafica del progreso de los valores
plot(p2)

productoria <- function(x){
  producto = 1
  for (j in seq(x)) {
    for (i in seq(1:6)) {
    n = 2^i
    k=j^n
    p_i = 1+k
    producto= producto*p_i
    }
    
    print(producto)
    }
  return(producto)
}
#Evaluado desde x=1 hasta x=5
productoria(5)
## [1] 64
## [1] 7.259357e+39
## [1] 1.069865e+100
## [1] 8.25879e+175
## [1] 1.011267e+264
## [1] 1.011267e+264
#Guardar los resultados uno a uno en vector 
productoria <- function(x){
  producto = 1
  vec_producto = NULL
  for (j in seq(x)) {
    for (i in seq(1:6)) {
    n = 2^i
    k=j^n
    p_i = 1+k
    producto= producto*p_i
    }
    vec_producto[j] = producto
    print(producto)
    }
  return(vec_producto)
}
#Evaluando
p3 = productoria(5)
## [1] 64
## [1] 7.259357e+39
## [1] 1.069865e+100
## [1] 8.25879e+175
## [1] 1.011267e+264
#Graficar
plot(p3)

#Evaluando para cada K

productoria2<- function(k){
  vec_producto2 = NULL
  for (i in seq(k)) {
    p_i2 = (4*i^2)/((2*i^2)-1)
    vec_producto2[i] = p_i2
  }
  return(vec_producto2)
}
#Evaluando cuando k=1, k=2,...,k=50
productoria2(50)
##  [1] 4.000000 2.285714 2.117647 2.064516 2.040816 2.028169 2.020619 2.015748
##  [9] 2.012422 2.010050 2.008299 2.006969 2.005935 2.005115 2.004454 2.003914
## [17] 2.003466 2.003091 2.002774 2.002503 2.002270 2.002068 2.001892 2.001738
## [25] 2.001601 2.001480 2.001373 2.001276 2.001190 2.001112 2.001041 2.000977
## [33] 2.000919 2.000865 2.000817 2.000772 2.000731 2.000693 2.000658 2.000625
## [41] 2.000595 2.000567 2.000541 2.000517 2.000494 2.000473 2.000453 2.000434
## [49] 2.000417 2.000400
#Grafica del progreso de los valores
plot(productoria2(50))

- Punto 5 \[\prod_{k=0}^{\infty}\frac{x^{2^{n}}}{(2n)!}\] -Punto 6 \[\prod_{k=0}^{\infty}\frac{(-1)^{n}x^{2^{n+1}}}{(2n+1)!}\]

Acitvidad 2 -Punto 2

\[y=\frac{\sin(x)}{x}\]

ejr_2.2 <- function(x){
  y = sin(x)/x
  return(y)
}

#Evaluando cuando x valga de -10 a 10
mis_x = seq(-10,10,0.5)
ejercicio = ejr_2.2(mis_x); ejercicio
##  [1] -0.054402111 -0.007910644  0.045790943  0.093939660  0.123669781
##  [6]  0.125066664  0.093855228  0.033095383 -0.046569250 -0.128280059
## [11] -0.191784855 -0.217228915 -0.189200624 -0.100223779  0.047040003
## [16]  0.239388858  0.454648713  0.664996658  0.841470985  0.958851077
## [21]          NaN  0.958851077  0.841470985  0.664996658  0.454648713
## [26]  0.239388858  0.047040003 -0.100223779 -0.189200624 -0.217228915
## [31] -0.191784855 -0.128280059 -0.046569250  0.033095383  0.093855228
## [36]  0.125066664  0.123669781  0.093939660  0.045790943 -0.007910644
## [41] -0.054402111
#Grafica
plot(mis_x,ejercicio, type = 'l')
points(0,1)

#Imprimir la posicion donde aparecio el faltante 
ejercicio[21]
## [1] NaN
ejercicio[is.nan(ejercicio)]
## [1] NaN
#Poner que el verdadero valor es 1
ejercicio[21]=1; ejercicio[21]
## [1] 1

\[\lim_{x \to 0}\frac{\sin(x)}{x}= 1\]

#Evaluando cuando x valga de 10 a 20
mis_x2 = seq(10,20,0.5)
ejercicio2 = ejr_2.2(mis_x2); ejercicio
##  [1] -0.054402111 -0.007910644  0.045790943  0.093939660  0.123669781
##  [6]  0.125066664  0.093855228  0.033095383 -0.046569250 -0.128280059
## [11] -0.191784855 -0.217228915 -0.189200624 -0.100223779  0.047040003
## [16]  0.239388858  0.454648713  0.664996658  0.841470985  0.958851077
## [21]  1.000000000  0.958851077  0.841470985  0.664996658  0.454648713
## [26]  0.239388858  0.047040003 -0.100223779 -0.189200624 -0.217228915
## [31] -0.191784855 -0.128280059 -0.046569250  0.033095383  0.093855228
## [36]  0.125066664  0.123669781  0.093939660  0.045790943 -0.007910644
## [41] -0.054402111
#Grafica
plot(mis_x2,ejercicio2, type = 'l')

Actividad 3 -Punto 1 \[\sum_{k=1}^{\infty}\frac{8}{(4k+1)(4k+3)}=3.141593\]

ejr_3.1 <- function(k){
  ks = seq(0,k)
  valores = 8/((4*ks+1)*(4*ks+3))
  suma_valores = sum(valores)
  
  return(suma_valores)
}

#Evaluando cuando k=10
ejr_3.1(10)
## [1] 3.096162
#Evaluando cuando k=1000
ejr_3.1(1000)
## [1] 3.141093
#Evaluando cuando k=10000
ejr_3.1(10000)
## [1] 3.141543
#Evaluando cuando k=100000
ejr_3.1(100000)
## [1] 3.141588
#Cuando la diferencia del valor calculado respecto al teorico sea = 0

ejr_3.1_2 <- function(k){
  
  ki = 0
  suma_valores = 0
  while(suma_valores <= 3.141592){
    valor_i = 8/((4*ki+1)*(4*ki+3))
    suma_valores = suma_valores + valor_i
    if (ki == k) break
    ki = ki+1
  }
  
  return(list (ki = ki,
               suma_valores))
}

#Para eliminar la notacion cientifica 
options(scipen = 10)
#Evaluando la funcion 
ejr_3.1_2(40000000)
## $ki
## [1] 765006
## 
## [[2]]
## [1] 3.141592