knomo

Asc/Desc Acelerado

Jul 12th, 2022 (edited)
1,876
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 3.77 KB | None | 0 0
  1. library('Deriv')
  2. e <- exp(1)
  3.  
  4. ### Función ejemplo
  5. f <- function(x, y) 7*x + 4*y + x*y - x^2 - y^2
  6. exp_f = expression(7*x + 4*y + x*y - x^2 - y^2)
  7. d_f <- D(exp_f,"x")
  8. d_f
  9. dx_f <- function(x, y) 7 + y - 2 * x
  10. d_f <- D(exp_f,"y")
  11. d_f
  12. dy_f <- function(x, y) 4 + x - 2 * y
  13.  
  14. ### Iteración 1
  15. x1 <- 8
  16. x2 <- 2
  17. res_f <- f(x1,x2)
  18. res_f
  19.  
  20. dx <- dx_f(8, 2)
  21. dy <- dy_f(8, 2)
  22.  
  23. print(cbind(x1, x2, res_f, dx, dy))
  24.  
  25. Vfx <- function(k) (8 - 7 * k) # x1 + dx * k
  26. Vfy <- function(k) (2 + 8 * k) # x2 + dy * k
  27. # https://www.wolframalpha.com/input/?i=simplify
  28.  
  29. fxp1 <- function(k) -169 * k^2 + 113*k + 12
  30.  
  31. exp_fxp1 = expression(-169 * k^2 + 113*k + 12)
  32. d_fxp1 <- D(exp_fxp1,"k")
  33. d_fxp1
  34. d_fxp1 <- function(k) 113 - 338 * k
  35. # igualando a cero, k = 0.3343195
  36. k = 0.3343195
  37.  
  38. d_fxp1(k)
  39.  
  40.  
  41. xa1 <- Vfx(k)
  42. xa2 <- Vfy(k)
  43. fa <- f(xa1, xa2)
  44. print(paste("k:",k,"   X':",xa1,"   Y':",xa2, "   f'", fa))
  45.  
  46. ### Iteración 2
  47. x1 <- xa1
  48. x2 <- xa2
  49. res_f <- f(x1,x2)
  50. res_f
  51.  
  52. dx <- dx_f(x1,x2)
  53. dy <- dy_f(x1,x2)
  54.  
  55. print(cbind(x1, x2, res_f, dx, dy))
  56.  
  57. Vfx <- function(k) (5.659764 + 0.355029 * k) # x1 + dx * k
  58. Vfy <- function(k) (4.674556 + 0.3106515 * k) # x2 + dy * k
  59. # https://www.wolframalpha.com/input/?i=simplify
  60. fxp1 <- function(k) -0.11226 * k^2 + 0.22255 * k + 30.8891
  61.  
  62. exp_fxp1 = expression(-0.11226 * k^2 + 0.22255 * k + 30.889)
  63. d_fxp1 <- D(exp_fxp1,"k")
  64. d_fxp1
  65. d_fxp1 <- function(k) 0.22255 - 0.11226 * (2 * k)
  66. # igualando a cero, k≈0.991226
  67. k = 0.991226
  68. d_fxp1(k)
  69.  
  70. xa1 <- Vfx(k)
  71. xa2 <- Vfy(k)
  72. fa <- f(xa1, xa2)
  73. print(paste("k:",k,"   X':",xa1,"   Y':",xa2, "   f'", fa))
  74.  
  75. ### .-.-.-........-.--..-.-.-.-.-.-.-
  76.  
  77.  
  78. ### Mi función
  79. f <- function(x, y) (0.65-((0.3*e^(-(y-6)/50))/12.5331))*y + (-0.65+((0.3*e^(-(y-6)/50))/12.5331))*x
  80. exp_f = expression((0.65-((0.3*e^(-(y-6)/50))/12.5331))*y + (-0.65+((0.3*e^(-(y-6)/50))/12.5331))*x)
  81. d_f <- D(exp_f, "x")
  82. d_f
  83. dx_f <- function(x, y) (-0.65 + ((0.3 * e^(-(y - 6)/50))/12.5331))
  84. d_f <- D(exp_f, "y")
  85. d_f
  86. dy_f <- function(x, y) 0.3 * (e^(-(y - 6)/50) * (log(e) * (1/50)))/12.5331 * y +
  87.   (0.65 - ((0.3 * e^(-(y - 6)/50))/12.5331)) -
  88.   0.3 * (e^(-(y - 6)/50) * (log(e) * (1/50)))/12.5331 * x
  89.  
  90. ### Iteración 1
  91. x1 <- 5
  92. x2 <- 6
  93. res_f <- f(x1,x2)
  94. res_f
  95.  
  96. dx <- dx_f(x1, x2)
  97. dy <- dy_f(x1, x2)
  98.  
  99. print(cbind(x1, x2, res_f, dx, dy))
  100.  
  101. Vfx <- function(k) (5 - 0.6260634 * k) # x1 + dx * k
  102. Vfy <- function(k) (5 + 0.6265421 * k) # x2 + dy * k
  103. # https://www.wolframalpha.com/input/?i=simplify
  104.  
  105. fxp1 <- function(k) -1.25261 * (0.0239366 * e^(1/50 - 0.0125308 *k) - 0.65) *k
  106.  
  107. exp_fxp1 = expression(-1.25261 * (0.0239366 * e^(1/50 - 0.0125308 *k) - 0.65) *k)
  108. d_fxp1 <- D(exp_fxp1,"k")
  109. d_fxp1
  110. d_fxp1 <- function(k) 1.25261 * (0.0239366 * (e^(1/50 - 0.0125308 * k) * (log(e) * 0.0125308))) * k + -1.25261 * (0.0239366 * e^(1/50 - 0.0125308 * k) - 0.65)
  111. # igualando a cero, k≈-170.618
  112. k <- -170.618
  113.  
  114. d_fxp1(k)
  115.  
  116. xa1 <- Vfx(k)
  117. xa2 <- Vfy(k)
  118. fa <- f(xa1, xa2)
  119. print(paste("k:",k,"   X':",xa1,"   Y':",xa2, "   f'", fa))
  120.  
  121. ### Iteración 2
  122. x1 <- xa1
  123. x2 <- xa2
  124. res_f <- f(x1,x2)
  125. res_f
  126.  
  127. dx <- dx_f(x1, x2)
  128. dy <- dy_f(x1, x2)
  129.  
  130. print(cbind(x1, x2, res_f, dx, dy))
  131.  
  132. Vfx <- function(k) (111.8177 - 0.4428597 * k) # x1 + dx * k
  133. Vfy <- function(k) (-101.8994 - 0.4425288 * k) # x2 + dy * k
  134. # https://www.wolframalpha.com/input/?i=simplify
  135.  
  136. fxp1 <- function(k) 0.000215085 * (k - 645866.) - 0.0000685428 * e^(0.00885058 *k) * (k - 645866.)
  137.  
  138. exp_fxp1 = expression(0.000215085 * (k - 645866.) - 0.0000685428 * e^(0.00885058 *k) * (k - 645866.))
  139. d_fxp1 <- D(exp_fxp1,"k")
  140. d_fxp1
  141. d_fxp1 <- function(k) 0.000215085 - 6.06644* (10^-7)*( e^(0.00885058 *k) )* (k - 645753)
  142. # igualando a cero, k≈645753
  143. k <- 645753
  144.  
  145. d_fxp1(k)
  146.  
  147. xa1 <- Vfx(k)
  148. xa2 <- Vfy(k)
  149. fa <- f(xa1, xa2)
  150. print(paste("k:",k,"   X':",xa1,"   Y':",xa2, "   f'", fa))
  151.  
Advertisement