Advertisement
Guest User

Исследование Кубической Функции

a guest
Mar 24th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 2.82 KB | None | 0 0
  1. ### Исследование Кубической Функции
  2. ## 1. Построение графика кубической функции
  3. f = function(x) {x^3-18*x^2+106.25*x-205.5}
  4. x1=seq(-10,40,length=100001) # диапазон х
  5. y1=f(x1) # значения функции
  6. #x1
  7. #y1
  8. # Построение графика функции:
  9. plot(x1,y1,type="l", ylab="y", xlab="x",
  10.      xlim=c(4,8), ylim=c(-6,6), # интервалы вывода графика
  11.      col="blue", lwd=2, lty="solid",
  12.      main="Исследование функции")
  13. # Нанесение осей и сетки:
  14. p=seq(-1,12,1) # параметры сетки
  15. abline(v=p,col="black",lty="dashed") # вертикальная сетка
  16. p=seq(-250,100,1)
  17. abline(h=p,col="black",lty="dashed") # горизонтальная сетка
  18. abline(h=0, v=0, col="black", lty="solid") # ось абсцисс
  19.  
  20. ## 2. Нахождение нулей функции
  21. dex=0.000001 # точность определения нулей
  22. m=4.0; n=5.0 # интервал поиска 1 корня
  23. #z1=f(m); z2=f(n) # проверка: разные знаки -> есть корень
  24. #z1; z2
  25. vv1=uniroot(f,c(m,n),tol=dex) # 1 корень
  26. #vv1
  27. m=5.5; n=6.5 # интервал поиска 2 корня
  28. #z3=f(m); z4=f(n) # проверка: разные знаки -> есть корень
  29. #z3; z4
  30. vv2=uniroot(f,c(m,n),tol=dex) # 2 корень
  31. #vv2
  32. m=7.0; n=8.0
  33. #z5=f(m); z6=f(n) # проверка: разные знаки -> есть корень
  34. #z5; z6
  35. #vv3
  36. vv3=uniroot(f,c(m,n),tol=dex)
  37. # Выделение на графике найденных корней:
  38. points(c(vv1[1],vv2[1], vv3[1]),c(vv2[2],vv2[2],vv3[2]), col="red", pch=21, bg="yellow")
  39.  
  40. ## 3. Построение производной функции и нахождение экстремумов
  41. f1=function(x) {3*x^2-36*x+106.25}
  42. y1=f1(x1) # вычисление массива значений для производной
  43. # Построение производной функции:
  44. lines(x1, y1, type ="l", col="red", lwd=1, lty="solid")
  45. dex=0.000001 # точность определения нулей
  46. m=5.0; n=5.5 # интервал поиска 1 корня
  47. #z1=f(m); z2=f(n) # проверка: разные знаки -> есть корень
  48. #z1; z2
  49. vvv1=uniroot(f1,c(m,n),tol=dex) # 1 корень
  50. #vvv1
  51. m=6.5; n=7.0 # интервал поиска 2 корня
  52. #z3=f(m); z4=f(n) # проверка: разные знаки -> есть корень
  53. #z3; z4
  54. vvv2=uniroot(f1,c(m,n),tol=dex) # 2 корень
  55. #vvv2
  56. vvv1[1]
  57. vvv2[1]
  58. # Выделение на графике найденных корней:
  59. points(c(vvv1[1],vvv2[1]),c(f(5.236237), f(6.763763)), col="red", pch=22, bg="green")
  60. # Подпись экстремумов:
  61. text(5.3,2.0,"max")
  62. text(6.8,-2.0,"min")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement