Pablo Leonardo Ferro Padilla Tarea 2
Ejercicio 1
Sea \(f(x)=\sqrt{x}-\cos x\). Usa el método de la bisección para encontrar \(x\in [0,1]\) tal que \(f(x)=0\).
f_1 <- function(x){sqrt(x)-cos(x)}
x_1 <- seq(from=0, to=1, by=0.01)
y_1 <- f_1(x_1)
graf_1 <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_1, y=y_1), color="red", size=1)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="x", y="f(x)", title="Gráfica 1)")+
theme_test()
#plot(graf_1)
ggplotly(graf_1)metodo_biseccion(f_1, 0, 1, 10^-6, 100)## $aprox
## [1] 0.5000000 0.7500000 0.6250000 0.6875000 0.6562500 0.6406250 0.6484375
## [8] 0.6445312 0.6425781 0.6416016 0.6420898 0.6418457 0.6417236 0.6416626
## [15] 0.6416931 0.6417084 0.6417160 0.6417122 0.6417141 0.6417150
##
## $precision
## [1] 9.536743e-07
##
## $iteraciones
## [1] 20
El método de bisección después de 20 iteraciones y una presición \(9.53 \times 10^{-7}\) la raiz es \(0.6417150\)
bisect(f_1, 0, 1, 100)## $root
## [1] 0.6417144
##
## $f.root
## [1] -2.220446e-16
##
## $iter
## [1] 54
##
## $estim.prec
## [1] 1.110223e-16
Ejercicio 2
Usa el método de la bisección para encontrar una raíz con una precisión de \(10^{-2}\) para \(x^3-7x^2+13x-6=0\) en cada intervalo.
\[\begin{equation} a) [0,1]\qquad\qquad b) [1, 3.2]\qquad\qquad c)[3.2, 4] \end{equation}\]
- [0,1]
f_2a <- function(x){x^3-(7*x^2)+13*x-6}
x_2a <- seq(from=0, to=1, by=0.01)
y_2a <- f_2a(x_2a)
graf_2a <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_2a, y=y_2a), color="green", size=.5)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="x", y="f(x)", title="Gráfica 2a)")+
theme_bw()
plot(graf_2a)#ggplotly(graf_2a)- [0,1]
metodo_biseccion(f_2a, 0, 1, 10^-2, 100)## $aprox
## [1] 0.5000000 0.7500000 0.6250000 0.6875000 0.7187500 0.7031250 0.6953125
##
## $precision
## [1] 0.0078125
##
## $iteraciones
## [1] 7
El método de bisección después de 7 iteraciones y una presición \(.0078125\) la raiz es \(0.6953125\)
bisect(f_2a, 0, 1)## $root
## [1] 0.6972244
##
## $f.root
## [1] -1.776357e-15
##
## $iter
## [1] 54
##
## $estim.prec
## [1] 1.110223e-16
- [1, 3.2]
f_2b <- function(x){x^3-(7*x^2)+13*x-6}
x_2b <- seq(from=0, to=1, by=0.01)
y_2b <- f_2b(x_2b)
graf_2b <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_2b, y=y_2b), color="green", size=.5)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="x", y="f(x)", title="Gráfica 2b)")+
theme_bw()
plot(graf_2b)#ggplotly(graf_2b)metodo_biseccion(f_2b, 1, 3.2, 10^-2, 100)## $aprox
## [1] 2.100000 1.550000 1.825000 1.962500 2.031250 1.996875 2.014063 2.005469
##
## $precision
## [1] 0.00859375
##
## $iteraciones
## [1] 8
El método de bisección después de 8 iteraciones y una presición \(0.00859375\) la raiz es \(2.005469\)
bisect(f_2b, 1, 3.2)## $root
## [1] 2
##
## $f.root
## [1] 0
##
## $iter
## [1] 54
##
## $estim.prec
## [1] 2.220446e-16
c)[3.2, 4]
f_2c <- function(x){x^3-(7*x^2)+13*x-6}
x_2c <- seq(from=0, to=1, by=0.01)
y_2c <- f_2c(x_2c)
graf_2c <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_2c, y=y_2c), color="brown", size=.5)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="x", y="f(x)", title="Gráfica 2c)")+
theme_bw()
plot(graf_2c)#ggplotly(graf_2c)metodo_biseccion(f_2c, 3.2, 4, 10^-2, 100)## $aprox
## [1] 3.60000 3.80000 3.90000 3.95000 3.97500 3.98750 3.99375
##
## $precision
## [1] 0.00625
##
## $iteraciones
## [1] 7
El método de bisección después de 7 iteraciones y una presición \(0.00625\) la raiz es \(3.99375\)
Ejercicio 3
Usa el metodo de la bisección para encontrar las soluciones con una precisión de \(10^{-5}\) para los siguientes problemas.
- \(x-2^{-x}=0\) para \(0\leq x\leq 1\)
f_3a <- function(x){x-2^(-x)}
x_3a <- seq(from=-3, to=1, by=0.01)
y_3a <- f_3a(x_3a)
graf_3a <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_3a, y=y_3a), color="purple", size=1)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="tiempo", y="cantidad", title="Gráfica 3a)")+
theme_test()
#plot(graf_3a)
ggplotly(graf_3a)metodo_biseccion(f_3a, 0, 1, 10^-5, 100)## $aprox
## [1] 0.5000000 0.7500000 0.6250000 0.6875000 0.6562500 0.6406250 0.6484375
## [8] 0.6445312 0.6425781 0.6416016 0.6411133 0.6413574 0.6412354 0.6411743
## [15] 0.6412048 0.6411896 0.6411819
##
## $precision
## [1] 7.629395e-06
##
## $iteraciones
## [1] 17
El método de bisección después de 20 iteraciones y una presición \(7.62 \times 10^{-6}\) la raiz es \(0.6411819\)
bisect(f_3a, 0, 1)## $root
## [1] 0.6411857
##
## $f.root
## [1] 0
##
## $iter
## [1] 54
##
## $estim.prec
## [1] 1.110223e-16
- \(e^x-x^2+3x-2=0\) para \(0\leq x\leq 1\)
f_3b <- function(x){exp(x)-x^2+3*x-2}
x_3b <- seq(from=0, to=2, by=0.01)
y_3b <- f_3b(x_3b)
graf_3b <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_3b, y=y_3b), color="red", size=1)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="tiempo", y="cantidad", title="Gráfica 3b)")+
theme_test()
plot(graf_3b)#ggplotly(graf_3b)metodo_biseccion(f_3b, 0, 1, 10^-5, 100)## $aprox
## [1] 0.5000000 0.2500000 0.3750000 0.3125000 0.2812500 0.2656250 0.2578125
## [8] 0.2539062 0.2558594 0.2568359 0.2573242 0.2575684 0.2574463 0.2575073
## [15] 0.2575378 0.2575226 0.2575302
##
## $precision
## [1] 7.629395e-06
##
## $iteraciones
## [1] 17
El método de bisección después de 17 iteraciones y una presición \(7.62 \times 10^{-6}\) la raiz es \(.2575302\)
bisect(f_3b, 0, 1)## $root
## [1] 0.2575303
##
## $f.root
## [1] -4.440892e-16
##
## $iter
## [1] 55
##
## $estim.prec
## [1] 5.551115e-17
- \(2x\cos (2x)-(x+1)^2=0\) para \(-3\leq x\leq -2\) y \(-1\leq x \leq 0\)
f_3c <- function(x){2*x*cos(2*x)-(x+1)^2}
x_3c <- seq(from=-3.2, to=.5, by=0.01)
y_3c <- f_3c(x_3c)
graf_3c <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_3c, y=y_3c), color="blue2", size=1)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="tiempo", y="cantidad", title="Gráfica 3c)")+
theme_test()
#plot(graf_3c)
ggplotly(graf_3c)metodo_biseccion(f_3c, -3, -2, 10^-8, 100)## $aprox
## [1] -2.500000 -2.250000 -2.125000 -2.187500 -2.218750 -2.203125 -2.195312
## [8] -2.191406 -2.189453 -2.190430 -2.190918 -2.191162 -2.191284 -2.191345
## [15] -2.191315 -2.191299 -2.191307 -2.191311 -2.191309 -2.191308 -2.191308
## [22] -2.191308 -2.191308 -2.191308 -2.191308 -2.191308 -2.191308
##
## $precision
## [1] 7.450581e-09
##
## $iteraciones
## [1] 27
El método de bisección después de 20 iteraciones y una presición \(7.45 \times 10^{-9}\) la raiz es \(-2.191308\)
bisect(f_3c, -3, -2)## $root
## [1] -2.191308
##
## $f.root
## [1] -3.108624e-15
##
## $iter
## [1] 52
##
## $estim.prec
## [1] 4.440892e-16
- \(x\cos x-2x^2+3x-1=0\) para \(0.2\leq x\leq 0.3\) y \(1.2\leq x \leq 1.3\)
f_3d <- function(x){x*cos(x)-2*x^2+3*x-1}
x_3d <- seq(from=0, to=2, by=0.01)
y_3d <- f_3d(x_3d)
graf_3d <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_3d, y=y_3d), color="blue2", size=1)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="tiempo", y="cantidad", title="Gráfica 3d)")+
theme_test()
plot(graf_3d)#ggplotly(graf_3d)metodo_biseccion(f_3d, 0.2, 0.3, 10^-5, 100)## $aprox
## [1] 0.2500000 0.2750000 0.2875000 0.2937500 0.2968750 0.2984375 0.2976563
## [8] 0.2972656 0.2974609 0.2975586 0.2975098 0.2975342 0.2975220 0.2975281
##
## $precision
## [1] 6.103516e-06
##
## $iteraciones
## [1] 14
El método de bisección después de 14 iteraciones y una presición \(6.10 \times 10^{-6}\) la raiz es \(.2999939\)
bisect(f_3d, .2, .3, 100)## $root
## [1] 0.2975302
##
## $f.root
## [1] 0
##
## $iter
## [1] 52
##
## $estim.prec
## [1] 5.551115e-17
Ejercicio 4
Considera las funciones \(f(x)=x\) y \(g(x)=2 \sin x\). Usa el método de la bisección para encontrar una aproximación con una precisión de \(10^{-5}\) para el primer valor positivo \(x\) tal que \(f(x)=g(x)\).
g(x)=f(x) 2sin(x)=x -> 2sin(x)-x=0 h(x)=2sin(x)-x
f_4 <- function(x){x}
g_4 <- function(x){2*sin(x)}
h_4 <- function(x){2*sin(x)-x}
x_4 <- seq(from=-.5, to=4.5, by=0.01)
y_f_4 <- f_4(x_4)
y_g_4 <- g_4(x_4)
y_h_4 <- h_4(x_4)
graf_h_4 <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_4, y=y_f_4), color="blue1", size=1)+
geom_line(aes(x=x_4, y=y_g_4), color="forestgreen", size=1)+
geom_line(aes(x=x_4, y=y_h_4), color="gold", size=1)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="x", y="f(x)", title="Gráfica 4")+
theme_bw()
plot(graf_h_4)#ggplotly(graf_4)metodo_biseccion(f_4, 1, 2, 10^-5, 100)## $aprox
## [1] 1.500000 1.750000 1.875000 1.937500 1.968750 1.984375 1.992188 1.996094
## [9] 1.998047 1.999023 1.999512 1.999756 1.999878 1.999939 1.999969 1.999985
## [17] 1.999992
##
## $precision
## [1] 7.629395e-06
##
## $iteraciones
## [1] 17
Ejercicio 5
Sea \(f(x)=(x+2)(x+1)x(x-1)^3(x-2)\). ¿A cuál raíz de \(f\) converge el método de la bisección cuando se aplica a los siguientes intervalos?
\[\begin{equation} a) [-3,2.5]\qquad \qquad b) [-2.5, 3]\qquad\qquad c)[-1.75, 1.5]\qquad\qquad d) [-1.5, 1.75] \end{equation}\]
f_5 <- function(x){(x+2)*(x+1)*x*((x-1)^3)*(x-2)}
x_5 <- seq(from=-10, to=5, by=0.01)
y_5 <- f_5(x_5)
graf_5 <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_5, y=y_5), color="yellow", size=1)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="x", y="f(x)", title="Gráfica 5")+
theme_test()
plot(graf_5)#ggplotly(graf_5)a)[-3, 2.5]
metodo_biseccion(f_5, -3, 2.5, 10^-6, 100 )## $aprox
## [1] -0.250000 1.125000 1.812500 2.156250 1.984375 2.070312 2.027344
## [8] 2.005859 1.995117 2.000488 1.997803 1.999146 1.999817 2.000153
## [15] 1.999985 2.000069 2.000027 2.000006 1.999995 2.000000 1.999998
## [22] 1.999999 2.000000
##
## $precision
## [1] 6.556511e-07
##
## $iteraciones
## [1] 23
- El método de bisección después de 23 iteraciones y una presición \(6.55 \times 10^{-7}\) la raiz en la que converge \(f\) es \(2\)
bisect(f_5, -3, 2.5)## $root
## [1] 0
##
## $f.root
## [1] 0
##
## $iter
## [1] 2
##
## $estim.prec
## [1] 0
b)[-2.5, 3]
metodo_biseccion(f_5, -2.5, 3, 10^-6, 100 )## $aprox
## [1] 0.250000 -1.125000 -1.812500 -2.156250 -1.984375 -2.070312 -2.027344
## [8] -2.005859 -1.995117 -2.000488 -1.997803 -1.999146 -1.999817 -2.000153
## [15] -1.999985 -2.000069 -2.000027 -2.000006 -1.999995 -2.000000 -1.999998
## [22] -1.999999 -2.000000
##
## $precision
## [1] 6.556511e-07
##
## $iteraciones
## [1] 23
- El método de bisección después de 23 iteraciones y una presición \(6.55 \times 10^{-7}\) la raiz en la que converge \(f\) es \(-2\)
bisect(f_5, -2.5, 3)## $root
## [1] 0
##
## $f.root
## [1] 0
##
## $iter
## [1] 2
##
## $estim.prec
## [1] 0
c)[-1.75, 1.5]
metodo_biseccion(f_5, -1.75, 1.5, 10^-7, 100)## $aprox
## [1] -0.1250000 -0.9375000 -1.3437500 -1.1406250 -1.0390625 -0.9882812
## [7] -1.0136719 -1.0009766 -0.9946289 -0.9978027 -0.9993896 -1.0001831
## [13] -0.9997864 -0.9999847 -1.0000839 -1.0000343 -1.0000095 -0.9999971
## [19] -1.0000033 -1.0000002 -0.9999987 -0.9999995 -0.9999999 -1.0000000
## [25] -0.9999999
##
## $precision
## [1] 9.685755e-08
##
## $iteraciones
## [1] 25
- El método de bisección después de 25 iteraciones y una presición \(9.68 \times 10^{-8}\) la raiz en la que converge \(f\) es \(-0.9999999\)
bisect(f_5, -1.75, 1.5)## $root
## [1] 0
##
## $f.root
## [1] 0
##
## $iter
## [1] 2
##
## $estim.prec
## [1] 0
d)[-1.5, 1.75]
metodo_biseccion(f_5, -1.5, 1.75, 10^-7, 100)## $aprox
## [1] 0.1250000 0.9375000 1.3437500 1.1406250 1.0390625 0.9882812 1.0136719
## [8] 1.0009766 0.9946289 0.9978027 0.9993896 1.0001831 0.9997864 0.9999847
## [15] 1.0000839 1.0000343 1.0000095 0.9999971 1.0000033 1.0000002 0.9999987
## [22] 0.9999995 0.9999999 1.0000000 0.9999999
##
## $precision
## [1] 9.685755e-08
##
## $iteraciones
## [1] 25
- El método de bisección después de 25 iteraciones y una presición \(9.68 \times 10^{-8}\) la raiz en la que converge \(f\) es \(0.9999999\)
bisect(f_5, -1.5, 1.75)## $root
## [1] 0
##
## $f.root
## [1] 0
##
## $iter
## [1] 2
##
## $estim.prec
## [1] 0
Ejercicio 6
En cada una de las siguientes ecuaciones, determina un intervalo \([a,b]\) en que convergerá la iteración de punto fijo. Estima la cantidad de iteraciones necesarias para obtener aproximaciones con una exactitud de \(10^{-5}\) y realiza los cálculos.
it_pf <- function(g, q0, pr=1e-5, N=100){
cond <- 1
it <- 1
q <- q0
while(cond==1){
if(it<=N){
q[it+1] = g(q[it]) # iteración de la función
pr_it <- abs(q[it+1]-q[it]) # precisión en la iteración
if(pr_it<pr){
resultados <- list(sucesion=q, precision=pr_it, iteraciones=it)
return(resultados)
cond <- 0
}#final del segundo if
else{it <- it+1}
}#final del primer if
else{
print("Se alcanzo el maximo de iteraciones")
cond <- 0
}#fin del else
}#final del while
}# final de la función- \(\quad x=\frac{2-e^{x}+x^{2}}{3}\)
f_6a <- function(x){x}
g_6_a <- function(x){(2-exp(x)+x^2)/3}
x_6_a <- seq(from=-4.5, to=4.5, by=0.01)
y_f_6_a <- f_6a(x_6_a)
y_g_6_a <- g_6_a(x_6_a)
graf_6a <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_6_a, y=y_f_6_a), color="blue1", size=1)+
geom_line(aes(x=x_6_a, y=y_g_6_a), color="forestgreen", size=1)+
geom_polygon(aes(x=c(.1,.4, .4, .1), y=c(.1, .1, .4, .4)), size=.3, color="green", fill=NA)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="x", y="y", title="Punto fijo gráfica 6a")+
theme_bw()
plot(graf_6a)#ggplotly(graf_6a)it_pf (g_6_a, .2, 1e-8, 50)## $sucesion
## [1] 0.2000000 0.2728657 0.2535773 0.2585582 0.2572636 0.2575995 0.2575123
## [8] 0.2575349 0.2575291 0.2575306 0.2575302 0.2575303 0.2575303 0.2575303
##
## $precision
## [1] 6.919711e-09
##
## $iteraciones
## [1] 13
Despúes de 13 iteraciones con una precisión de $ 6.919711e-09$ el punto fijo de \(\quad x=\frac{2-e^{x}+x^{2}}{3}\) es \(0.2575303\)
- \(\quad x=\frac{5}{x^{2}}+2\)
f_6b <- function(x){x}
g_6b <- function(x){(5/(x^2))+2}
x_6b <- seq(from=1, to=5, by=0.01)
y_f_6b <- f_6b(x_6b)
y_g_6b <- g_6b(x_6b)
graf_6b <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_6b, y=y_f_6b), color="blue1", size=1)+
geom_line(aes(x=x_6b, y=y_g_6b), color="forestgreen", size=1)+
geom_polygon(aes(x=c(2.9,2.4, 2.4, 2.9), y=c(3, 3, 2.4, 2.4)), size=.3, color="green", fill=NA)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="x", y="f(X)", title="Punto fijo gráfica 6b")+
theme_bw()
plot(graf_6b)#ggplotly(graf_6b)it_pf (g_6b, 2.9, 1e-8, 50)## $sucesion
## [1] 2.900000 2.594530 2.742767 2.664649 2.704190 2.683747 2.694204 2.688825
## [9] 2.691584 2.690167 2.690894 2.690521 2.690712 2.690614 2.690665 2.690639
## [17] 2.690652 2.690645 2.690649 2.690647 2.690648 2.690647 2.690648 2.690647
## [25] 2.690647 2.690647 2.690647 2.690647
##
## $precision
## [1] 8.688444e-09
##
## $iteraciones
## [1] 27
Despúes de 27 iteraciones con una precisión de \(8.688444e-09\) el punto fijo de \(\quad x=\frac{5}{x^{2}}+2\) es \(2.690647\)
- \(\quad x=\left(e^{x} / 3\right)^{1 / 2}\)
f_6 <- function(x){x}
g_6c <- function(x){sqrt(exp(x)/3)}
x_6c <- seq(from=-.5, to=2.5, by=0.01)
y_f_6c <- f_6(x_6c)
y_g_6c <- g_6c(x_6c)
graf_6c <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_6c, y=y_f_6c), color="red", size=1)+
geom_line(aes(x=x_6c, y=y_g_6c), color="blue", size=1)+
geom_polygon(aes(x=c(1,.5, .5, 1), y=c(1, 1, .5, .5)), size=.5, color="green", fill=NA)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="x", y="y", title="Punto fijo gráfica 6c")+
theme_bw()
#plot(graf_6c)
ggplotly(graf_6c)it_pf (g_6c, 1, 1e-8, 50)## $sucesion
## [1] 1.0000000 0.9518897 0.9292650 0.9188121 0.9140225 0.9118362 0.9108400
## [8] 0.9103864 0.9101800 0.9100860 0.9100433 0.9100238 0.9100150 0.9100109
## [15] 0.9100091 0.9100083 0.9100079 0.9100077 0.9100076 0.9100076 0.9100076
## [22] 0.9100076
##
## $precision
## [1] 7.397953e-09
##
## $iteraciones
## [1] 21
Despúes de 21 iteraciones con una precisión de \(7.397953e-09\) el punto fijo de \(\quad x=\left(e^{x} / 3\right)^{1 / 2}\) es \(0.9100076\)
- \(\quad x=5^{-x}\)
f_6d <- function(x){x}
g_6d <- function(x){5^(-x)}
x_6d <- seq(from=-.08, to=3, by=0.01)
y_f_6d <- f_6d(x_6d)
y_g_6d <- g_6d(x_6d)
graf_6d <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_6d, y=y_f_6d), color="blue", size=1)+
geom_line(aes(x=x_6d, y=y_g_6d), color="grey", size=1)+
geom_polygon(aes(x=c(.3, .6, .6, .3), y=c(.3, .3, .6, .6)), size=.5, color="green", fill=NA)+
coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="x", y="y", title="Punto fijo gráfica 6d")+
theme_bw()
#plot(graf_6f)
ggplotly(graf_6d)it_pf (g_6d, .3, 1e-8, 100)## $sucesion
## [1] 0.3000000 0.6170339 0.3704349 0.5509056 0.4120345 0.5152290 0.4363856
## [8] 0.4954269 0.4505173 0.4842860 0.4586682 0.4779745 0.4633511 0.4743856
## [15] 0.4660352 0.4723407 0.4675715 0.4711743 0.4684501 0.4705085 0.4689523
## [22] 0.4701283 0.4692393 0.4699112 0.4694034 0.4697872 0.4694971 0.4697163
## [29] 0.4695506 0.4696758 0.4695812 0.4696527 0.4695986 0.4696395 0.4696086
## [36] 0.4696320 0.4696143 0.4696277 0.4696176 0.4696252 0.4696194 0.4696238
## [43] 0.4696205 0.4696230 0.4696211 0.4696225 0.4696215 0.4696223 0.4696217
## [50] 0.4696221 0.4696218 0.4696220 0.4696218 0.4696220 0.4696219 0.4696220
## [57] 0.4696219 0.4696219 0.4696219 0.4696219 0.4696219 0.4696219 0.4696219
## [64] 0.4696219
##
## $precision
## [1] 9.208277e-09
##
## $iteraciones
## [1] 63
Despúes de 63 iteraciones con una precisión de \(9.208277e-09\) el punto fijo de \(\quad x=5^{-x}\) es \(0.4696219\)
- \(\quad x=6^{-x}\)
f_6e <- function(x){x}
g_6e <- function(x){6^(-x)}
x_6e <- seq(from=-.08, to=3, by=0.01)
y_f_6e <- f_6e(x_6e)
y_g_6e <- g_6e(x_6e)
graf_6e <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_6e, y=y_f_6e), color="blue", size=1)+
geom_line(aes(x=x_6e, y=y_g_6e), color="grey", size=1)+
geom_polygon(aes(x=c(.3, .6, .6, .3), y=c(.3, .3, .6, .6)), size=.5, color="green", fill=NA)+
coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="x", y="y", title="Punto fijo gráfica 6e")+
theme_bw()
#plot(graf_6f)
ggplotly(graf_6e)it_pf (g_6e, .3, 1e-8, 100)## $sucesion
## [1] 0.3000000 0.5841907 0.3510842 0.5330935 0.3847447 0.5018922 0.4068665
## [8] 0.4823878 0.4213367 0.4700416 0.4307612 0.4621710 0.4368789 0.4571325
## [15] 0.4408408 0.4538990 0.4434023 0.4518205 0.4450567 0.4504832 0.4461244
## [22] 0.4496222 0.4468131 0.4490677 0.4472573 0.4487105 0.4475436 0.4484803
## [29] 0.4477283 0.4483320 0.4478473 0.4482364 0.4479240 0.4481748 0.4479734
## [36] 0.4481351 0.4480053 0.4481095 0.4480258 0.4480930 0.4480391 0.4480823
## [43] 0.4480476 0.4480755 0.4480531 0.4480711 0.4480566 0.4480682 0.4480589
## [50] 0.4480664 0.4480604 0.4480652 0.4480614 0.4480645 0.4480620 0.4480640
## [57] 0.4480624 0.4480637 0.4480626 0.4480634 0.4480628 0.4480633 0.4480629
## [64] 0.4480632 0.4480630 0.4480632 0.4480630 0.4480631 0.4480630 0.4480631
## [71] 0.4480630 0.4480631 0.4480631 0.4480631 0.4480631 0.4480631 0.4480631
## [78] 0.4480631 0.4480631 0.4480631 0.4480631
##
## $precision
## [1] 8.248957e-09
##
## $iteraciones
## [1] 80
Despúes de 80 iteraciones con una precisión de \(8.248957e-09\) el punto fijo de \(\quad x=6^{-x}\) es \(0.4480631\)
- \(\quad x=0.5(\sin x+\cos x)\)
f_6 <- function(x){x}
g_6f <- function(x){.5*(sin(x)+cos(x))}
x_6f <- seq(from=-4, to=4, by=0.01)
y_f_6f <- f_6(x_6f)
y_g_6f <- g_6f(x_6f)
graf_6f <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_6f, y=y_f_6f), color="blue", size=1)+
geom_line(aes(x=x_6f, y=y_g_6f), color="grey", size=1)+
geom_polygon(aes(x=c(0, 1, 1, 0), y=c(0, 0, 1, 1)), size=.5, color="green", fill=NA)+
coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="x", y="y", title="Punto fijo gráfica 6f")+
theme_bw()
#plot(graf_6f)
ggplotly(graf_6f)it_pf(g_6f, .5, pr=1e-8)## $sucesion
## [1] 0.5000000 0.6785041 0.7030708 0.7047118 0.7048063 0.7048117 0.7048120
## [8] 0.7048120 0.7048120
##
## $precision
## [1] 9.924651e-10
##
## $iteraciones
## [1] 8
Despúes de 8 iteraciones con una precisión de \(9.924651e-10\) el punto fijo de \(\quad x=0.5(\sin x+\cos x)\) es \(0.7048120\)
Ejemplo. \(f(x)=x^3+4x^2-10\)
f_ej <- function(x){x^3+4*x^2-10}
g_ej <- function(x){.5*sqrt(x^3-10)}
#g_ej <- function(x){sqrt(exp(x)/3)}
x_ej <- seq(from=-2, to=5, by=0.01)
y_ej <- f_ej(x_ej)
x_ej2 <- seq(from=-3, to=5, by=0.01)
y_ej2 <- g_ej(x_ej2)## Warning in sqrt(x^3 - 10): NaNs produced
graf_ej <- ggplot()+
geom_vline(xintercept = 0, linetype="dashed")+ #eje x
geom_hline(yintercept = 0, linetype="dashed")+ #eje y
geom_line(aes(x=x_ej, y=y_ej), color="grey", size=1)+
geom_line(aes(x=x_ej2, y=y_ej2), color="blue", size=1)+
#geom_polygon(aes(x=c(0,1, 1, 0), y=c(0, 0, 1, 1)), size=.5, color="green", fill=NA)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
labs(x="x", y="y", title="Ejemplo")+
theme_bw()
#plot(graf_6j)
ggplotly(graf_ej)bisect(f_ej, 1, 2)## $root
## [1] 1.36523
##
## $f.root
## [1] 0
##
## $iter
## [1] 53
##
## $estim.prec
## [1] 2.220446e-16
f_ej <- function(x){.5*sqrt(-x^3+10)}
it_pf(f_ej, 1, pr=1e-8)## $sucesion
## [1] 1.000000 1.500000 1.286954 1.402541 1.345458 1.375170 1.360094 1.367847
## [9] 1.363887 1.365917 1.364878 1.365410 1.365138 1.365277 1.365206 1.365242
## [17] 1.365224 1.365233 1.365228 1.365231 1.365230 1.365230 1.365230 1.365230
## [25] 1.365230 1.365230 1.365230 1.365230 1.365230
##
## $precision
## [1] 6.064144e-09
##
## $iteraciones
## [1] 28
Ejemplo 3 \(f(x)=(x^3+4x^2-10)/(3x^2+8x)\)