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