Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Исследование Кубической Функции
- ## 1. Построение графика кубической функции
- f = function(x) {x^3-18*x^2+106.25*x-205.5}
- x1=seq(-10,40,length=100001) # диапазон х
- y1=f(x1) # значения функции
- #x1
- #y1
- # Построение графика функции:
- plot(x1,y1,type="l", ylab="y", xlab="x",
- xlim=c(4,8), ylim=c(-6,6), # интервалы вывода графика
- col="blue", lwd=2, lty="solid",
- main="Исследование функции")
- # Нанесение осей и сетки:
- p=seq(-1,12,1) # параметры сетки
- abline(v=p,col="black",lty="dashed") # вертикальная сетка
- p=seq(-250,100,1)
- abline(h=p,col="black",lty="dashed") # горизонтальная сетка
- abline(h=0, v=0, col="black", lty="solid") # ось абсцисс
- ## 2. Нахождение нулей функции
- dex=0.000001 # точность определения нулей
- m=4.0; n=5.0 # интервал поиска 1 корня
- #z1=f(m); z2=f(n) # проверка: разные знаки -> есть корень
- #z1; z2
- vv1=uniroot(f,c(m,n),tol=dex) # 1 корень
- #vv1
- m=5.5; n=6.5 # интервал поиска 2 корня
- #z3=f(m); z4=f(n) # проверка: разные знаки -> есть корень
- #z3; z4
- vv2=uniroot(f,c(m,n),tol=dex) # 2 корень
- #vv2
- m=7.0; n=8.0
- #z5=f(m); z6=f(n) # проверка: разные знаки -> есть корень
- #z5; z6
- #vv3
- vv3=uniroot(f,c(m,n),tol=dex)
- # Выделение на графике найденных корней:
- points(c(vv1[1],vv2[1], vv3[1]),c(vv2[2],vv2[2],vv3[2]), col="red", pch=21, bg="yellow")
- ## 3. Построение производной функции и нахождение экстремумов
- f1=function(x) {3*x^2-36*x+106.25}
- y1=f1(x1) # вычисление массива значений для производной
- # Построение производной функции:
- lines(x1, y1, type ="l", col="red", lwd=1, lty="solid")
- dex=0.000001 # точность определения нулей
- m=5.0; n=5.5 # интервал поиска 1 корня
- #z1=f(m); z2=f(n) # проверка: разные знаки -> есть корень
- #z1; z2
- vvv1=uniroot(f1,c(m,n),tol=dex) # 1 корень
- #vvv1
- m=6.5; n=7.0 # интервал поиска 2 корня
- #z3=f(m); z4=f(n) # проверка: разные знаки -> есть корень
- #z3; z4
- vvv2=uniroot(f1,c(m,n),tol=dex) # 2 корень
- #vvv2
- vvv1[1]
- vvv2[1]
- # Выделение на графике найденных корней:
- points(c(vvv1[1],vvv2[1]),c(f(5.236237), f(6.763763)), col="red", pch=22, bg="green")
- # Подпись экстремумов:
- text(5.3,2.0,"max")
- text(6.8,-2.0,"min")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement