Алгебра и начала анализа: производная функции, интеграл
# алгебра и начала анализа
# производная функции
# интеграл
# поиск корней уравнения
# R solve
# tol = задает точность
library(rootSolve)
options(digits = 14)
err = 1e-14
#------------------
# 20*sin(x) = 7
# создадим функцию
#y = function(x) 20*sin(x)-7
y = function(x) 2*x^2 - 6*x - 20
#y = function(x) x^x - 10
#y = function(x) x^3 - 6*x^2 + 11*x -6
y = function(x) -2*x^2 + 6*x - 2
x1 = 0
x2 = 3
x = seq(x1, x2, 0.1)
plot(x, y(x), type = 'l', lwd=2)
abline(h = 0, lwd =2)
grid(col='black')
roots = uniroot.all(y, interval = c(x1, x2), n = 5,
tol = err, maxiter=10)
roots
abline(v = roots, lwd=2, lty = "dashed")
points(roots,rep(0, length(as.vector(roots))), col='red', pch =16, lwd=2)
y(roots)
#min = optimize(f=y,interval=c(x1, x2), maximum = FALSE)
#points(min$minimum,min$objective, col='blue',pch =16, lwd=2)
max = optimize(f=y,interval=c(x1, x2), maximum = TRUE)
points(max$maximum,max$objective, col='blue',pch =24, lwd=2)
###########################################################################
#######################################################################
# производная
#=======================================================
# Вычисление производной заданной функции
f <- function(x) x^2 - 5*x # Задаем функцию
dx <- 0.000001 # Задаем приращение аргумента x
x = 5 # производная функции в точке x
df = f(x + dx) - f(x) # расчет приращение функции
DF = df/dx
DF
#==========================================================
# Expression or formula
f = expression(x^2 + 5*x + 1)
D(f, 'x')
#-------------------------------------
f = expression(3*x^2 - 4*x +5)
fx <- D(f, "x") # Первая производная от выражения f по переменной x
fx
fxx = D(fx, "x") # вторая производная от выражения fx по переменной x
fxx
#-----------------------------------------------------------------------
s = expression(3*t^2 - 4*t +5)
v = D(s, "t") # Первая производная пути по времени (скорость)
t = 2
eval(v) # Вычисляем значение скорости за 2 сек
a = D(v, "t") # вторая производная скорости (ускорение)
a
##########################################################################
#####################################################################
# интеграл
# Create function
f<-function(x) x^3 + 2*x
# Integrate from 0 to 1
integrate(f, 0, 1)
#------------------------------------
x = vector()
f<-function(x) 1/(1+x^2)
x = integrate(f, 0, 1)
x = x$value
x*4
#------------------------------------
x = vector()
f<-function(x) sin(x)
x = integrate(f, 0, pi)
x$value
#--------------------------------------
x = vector()
f<-function(x) 4 +x*0
x = integrate(f, 0, 1.5)
x$value