Operator diferensiasi mengambil sebuah fungsi sebagai masukan (input) dan berhubungan dengan variabel. Sebuah output (keluaran) merupakan sebuah fungsi yang memiliki variabel dan berhubungan dengan argumen lainnya. Contoh dari sebuah fungsi ;
library(mosaicCalc)
## Loading required package: mosaicCore
## Loading required package: Deriv
## Loading required package: Ryacas
##
## Attaching package: 'Ryacas'
## The following object is masked from 'package:stats':
##
## integrate
## The following objects are masked from 'package:base':
##
## %*%, diag, diag<-, lower.tri, upper.tri
## Registered S3 method overwritten by 'mosaic':
## method from
## fortify.SpatialPolygonsDataFrame ggplot2
##
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
##
## D
f <- makeFun (C * x ^ 2 ~ x, C = 3.5)
f(7)
## [1] 171.5
f(3)
## [1] 31.5
f(5)
## [1] 87.5
Kemudian kita cari integralnya.
library(mosaicCalc)
df <- D(f(x)~x)
df(5)
## [1] 35
df(1)
## [1] 7
df(3.5)
## [1] 24.5
Dapat disimpulkan bahwasannya integral dari f(x) dengan
nilai x-nya 5 adalah 35, nilai x-nya 1 integralnya adalah 7, dan nilai
x-nya 3.5 integralnya adalah 24.5.
Setelah itu, kita coba buat grafiknya.
slice_plot(f(x) ~x, domain(x = -1:1)) %>%
gf_labs(title = "Original function f(x)")
slice_plot(df(x) ~ x, domain(x = -1:1), color = "red") %>%
gf_labs(title = "Fungsi Baru df(x), turunan dari f(x)")
Perlu diingat bahwasannya %>% fungsinya adalah untuk menampilkan dua lapisan pada sebuah grafik. Dapat dilihat grafik dari fungsi yang belum diturunkan berupa gelombang, sedangkan grafik turunan berupa grafik garis lurus.
Operator invers berupa menerapkan kebalikan dari operator
D() ke fungsi df(x) dan menghasilkan
f() diimplementasikan dalam R menggunakan library
mosaicCalc sebagai fungsi antiD(). Contoh
kodenya :
DF <- antiD(df(x) ~ x)
DF(6.3)
## [1] 138.915
DF(9.1)
## [1] 289.835
DF(4.7)
## [1] 77.315
Dapat dilihat bahwasannya antiD() membatalkan proses
yang dilakukan oleh D(). Sekarang kita buat grafiknya.
slice_plot(df(x) ~ x, domain(x= -1:1), color = "green") %>%
gf_labs(title = "Fungsi Original df(x)")
slice_plot(DF(x) ~ x, domain (x = -1:1) ) %>%
gf_labs(title = "Fungsi baru DF(x), Antiturunan df(x)")
Dapat dilihat bahwa gambar pertama merupakan grafik dari fungsi
turunan df(x)berupa grafik linear, dan grafik kedua
merupakan grafik anti turunan.
Ada cara lain dalam melakukan anti-diferensiasi suatu fungsi dan diambil kembali turunannya untuk kembali ke fungsi aslinya.
a <- antiD( f(x)~x)
da <- D(a(x)~x)
da(5.9)
## [1] 121.835
da(3.7)
## [1] 47.915
da(9.6)
## [1] 322.56
Dapat diperhatikan bahwasannya antiD() membatalkan
D(), dan D() membatalkan antiD().
f(x) merupakan anti-turunan dari f(x) untuk semua fungsi.
anti-turunan (integral) memberi tahu programmer mengenai properti global yang terdistribusi dari suatu fungsi. Integral tidak memiliki batasan, selama programer tidak memperdulikan konstanta penjumlahan, maka antiturunan dari suatu fungsi dapat mengembalikan fungsi aslinya.
Anti-derivatif mengumpulkan nilai-nilai yang ada, anti-derivatif mempertimbangkan rentang input dan juga fungsi dari suatu nilai input..
f(x) didefinisikan memiliki argumen bernama
x, fungsi yang dibuat oleh D(f(x)~x)juga
memiliki argumen bernama x. Contoh kodenya adalah ;
f
## function (x, C = 3.5)
## C * x^2
## <bytecode: 0x000001eea66a2320>
df
## function (x, C = 3.5)
## 2 * (C * x)
## <bytecode: 0x000001eeb1bdb250>
Ada beragam macam dari operasi anti-derivatif. contohnya adalah :
library(mosaicCalc)
antiD(f(x)~x)
## function (x, C = 0)
## {
## numerical_integration(.newf, .wrt, as.list(match.call())[-1],
## formals(), from, ciName = intC, .tol)
## }
## <environment: 0x000001eeb973d8b8>
antiD(f(x)~x)
## function (x, C = 0)
## {
## numerical_integration(.newf, .wrt, as.list(match.call())[-1],
## formals(), from, ciName = intC, .tol)
## }
## <environment: 0x000001eeb983cd18>
Beberapa hal yang penting diingat :
Fungsi antiD() digunakan untuk menghitung
antiturunan.
Antiturunan diambil sehubungan dengan variabel.
Integral pasti adalah fungsi dari variabel integrasi.