Turunan/ derivatif dari fungsi mengukur tingkat di mana nilai fungsi berubah saat inputnya berubah. Perubahan nilai fungsi tergantung pada arah perubahan nilai variabel independen.
Diferensiasi adalah proses menemukan turunan dari fungsi yang dapat dibedakan. Perbedaan keduanya adalah derivatif mengacu pada tingkat perubahan fungsi sedangkan diferensiasi adalah proses menemukan turunan dari suatu fungsi.
Dalam pemrograman R, turunan dari suatu fungsi dapat digunakan menghitung dan fungsi. Ini digunakan untuk menghitung turunan dari ekspresi sederhana. deriv() D()
Syntax 1. deriv(expr,name) 2. D(expr,name)
Output yang dihasilkan adalah fungsi. Fungsi akan mencantumkan sebagai argumen semua variabel yang terkandung dalam ekpresi input. Lalu, mengevaluasi fungsi output untuk nilai numerik tertentu untuk menemukan nilai fungsi turunan.
Kita bisa menggunakan fungsi D() untuk menghitung diferensiasi sebuah fungsi.
Misalnya,
g <- D(x^4 ~ x)
g(2)
## [1] 32
g(5.5)
## [1] 665.5
Di bawah ini merupakan cara membuat fungsi, yaitu :
library(mosaicCalc)
my_function <- function(x) {
return (5 * x^3)
}
my_function(2)
## [1] 40
Mengaplikasikan fungsi (my_function) dalam diferensiasi pemrograman R
g<-D(my_function(x)~x)
g(20)
## [1] 6000
Pengaplikasian diferensial dalam pemrograman R dengan fungsi berisi variabel dan trigonometri serta definisi variabel.
s2 <- D(A * sin(2 * pi * t / P) + C ~ t)
s2( t=3, A=2, P=10, C=4 )
## [1] -0.3883222
Contoh derivative/ turunan lainnya adalah :
# Ekspresi
f = expression(x^2 + 5*x + 1)
# Turunan
cat("Menggunakan fungsi deriv() :\n")
## Menggunakan fungsi deriv() :
print(deriv(f, "x"))
## expression({
## .value <- x^2 + 5 * x + 1
## .grad <- array(0, c(length(.value), 1L), list(NULL, c("x")))
## .grad[, "x"] <- 2 * x + 5
## attr(.value, "gradient") <- .grad
## .value
## })
cat("\nMenggunakan fungsi D() :\n")
##
## Menggunakan fungsi D() :
print(D(f, 'x'))
## 2 * x + 5
Pertama, menerapkan fungsi deriv() ke rumus seperti ini :
test_deriv <- deriv(~ x^3 + 2 * x, "x")
Selanjutnya, menentukan nilai x yang ingin dievaluasi (yaitu 5) :
x <- 5
Menerapkan fungsi eval untuk mengevaluasi ekspresi :
eval(test_deriv)
## [1] 135
## attr(,"gradient")
## x
## [1,] 77
Fungsi eval telah mengembalikan hasil 135 yaitu (3^3 + 2*3 + 5 = 135)