Bab 8 Integral dan Integrasi Operator diferensiasi mengambil sebagai input fungsi dan variabel “sehubungan dengan”. Outputnya adalah fungsi lain yang memiliki variabel “sehubungan dengan” sebagai argumen, dan kemungkinan argumen lain juga.
library(mosaicCalc)
## Loading required package: mosaic
## Registered S3 method overwritten by 'mosaic':
## method from
## fortify.SpatialPolygonsDataFrame ggplot2
##
## The 'mosaic' package masks several functions from core packages in order to add
## additional features. The original behavior of these functions should not be affected by this.
##
## Attaching package: 'mosaic'
## The following objects are masked from 'package:dplyr':
##
## count, do, tally
## The following object is masked from 'package:Matrix':
##
## mean
## The following object is masked from 'package:ggplot2':
##
## stat
## The following objects are masked from 'package:stats':
##
## binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
## quantile, sd, t.test, var
## The following objects are masked from 'package:base':
##
## max, mean, min, prod, range, sample, sum
## Loading required package: mosaicCore
##
## Attaching package: 'mosaicCore'
## The following objects are masked from 'package:dplyr':
##
## count, tally
##
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
##
## D
f <- makeFun( A * x ^ 2 ~ x, A = 0.5)
f(1)
## [1] 0.5
f(2)
## [1] 2
f(3)
## [1] 4.5
df <- D(f(x) ~ x)
df(1)
## [1] 1
df(2)
## [1] 2
df(3)
## [1] 3
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 = "New function df(x), the derivative of f(x)")
8.1 Antiturunan Operator invers ini diimplementasikan dalam R/ mosaicCalcsebagai antiD()fungsi. antiSeperti yang disarankan akhiran , antiD()“membatalkan” apa yang dilakukan . Seperti ini: D()
DF <- antiD(df(x) ~ x)
DF(1,2)
## [1] 2
DF(2,2)
## [1] 8
DF(3,2)
## [1] 18
slice_plot(df(x,2) ~ x, domain (x=-1:1), color = "red" ) %>%
gf_labs(title = "Original function df(x)")
slice_plot(DF(x,2) ~ x, domain (x=-1:1)) %>%
gf_labs(title = "New function DF(x), the anti-derivative of df(x)")
atau bisa menggunakan cara laiannya:
h <- antiD( f(x) ~ x )
dh <- D(h(x) ~ x )
df(1,2)
## [1] 4
df(2,2)
## [1] 8
df(3,2)
## [1] 12
8.2 satu variabael menjadi dua argumen turunan memberi tahu Anda properti lokal dari suatu fungsi: bagaimana fungsi berubah ketika salah satu input diubah dengan jumlah kecil. Turunannya adalah semacam kemiringan. Jika Anda pernah berdiri di atas bukit, Anda tahu bahwa Anda dapat mengetahui lereng setempat tanpa dapat melihat keseluruhan bukit; rasakan saja apa yang ada di bawah kakimu.
Anti-derivatif membatalkan turunan, tetapi apa artinya “membatalkan” properti lokal? Jawabannya adalah anti-turunan (atau, dengan kata lain, integral) memberi tahu Anda tentang beberapa properti global atau terdistribusi dari suatu fungsi: bukan hanya nilai pada suatu titik, tetapi nilai yang terakumulasi pada seluruh rentang titik. Sifat antiturunan global atau terdistribusi inilah yang membuat antiturunan sedikit lebih rumit daripada turunan, tetapi tidak lebih dari itu.
Inti masalahnya adalah ada lebih dari satu cara untuk “membatalkan” turunan. Pertimbangkan fungsi-fungsi berikut, yang masing-masing berbeda:
f1 <- makeFun(sin(x ^ 2) ~ x)
f2 <- makeFun(sin(x ^ 2) + 3 ~ x)
f3 <- makeFun(sin(x ^ 2) - 100 ~ x)
f1(1)
## [1] 0.841471
f2(1)
## [1] 3.841471
f3(1)
## [1] -99.15853
df1 = D(f1(x) ~ x)
df2 = D(f2(x) ~ x)
df3 = D(f3(x) ~ x)
df1(1)
## [1] 1.080605
df2(1)
## [1] 1.080605
df3(1)
## [1] 1.080605
selama Anda tidak memedulikan konstanta penjumlahan, antiturunan dari turunan suatu fungsi mengembalikan fungsi aslinya. ∫df/dx*dx=f(x)+
8.3 Integral
f
## function (x, A = 0.5)
## A * x^2
## <bytecode: 0x00000202e6a88b20>
df
## function (x, A = 0.5)
## 2 * A * x
## <bytecode: 0x00000202e7545cb8>
antiD(f(x) ~ x)
## function (x, A, C = 0)
## (x^3 * A)/3 + C
antiD(DF(x) ~ x)
## function (x, A, C, D = 0)
## (x^3 * A + 3 * x * C)/3 + D
fun = antiD( x^2 ~ x )
fun
## function (x, C = 0)
## x^3/3 + C
# This doesn't exist yet. FIX FIX FIX
fun(x = 2) - fun(x = -1)
## [1] 3
hal-hal yang perlu diingat: 1. Fungsi antiD( )akan menghitung antiturunan. 2. Seperti halnya turunan, antiturunan selalu diambil sehubungan dengan variabel, misalnya antiD( x^2 ~ x ). Variabel itu, di sini x, disebut (cukup masuk akal) “variabel integrasi”. Anda juga bisa mengatakan, “integral terhadap .” x 3. Integral pasti adalah fungsi dari variabel integrasi … semacam. Untuk lebih tepatnya, variabel integrasi muncul sebagai argumen dalam dua samaran karena integral pasti melibatkan dua evaluasi: satu di dan satu di . Batasan yang ditentukan oleh dan sering disebut “wilayah integrasi”. x= to x = from from to
8.3.1 Latihan 1.
gaussian <-
makeFun((1/sqrt(2*pi*sigma^2)) *
exp( -(x-mean)^2/(2*sigma^2)) ~ x,
mean=2, sigma=2.5)
slice_plot(gaussian(x) ~ x, domain(x = -5:10)) %>%
slice_plot(gaussian(x, mean=0, sigma=1) ~ x, color="red")
erf <- antiD(gaussian(x, mean=m, sigma=s) ~ x)
erf
## function (x, C = 0, m, s)
## {
## F <- makeF(gaussian(x, mean = m, sigma = s))
## evalFun(F, x = x, m = m, s = s, .const = C)
## }
## <environment: 0x00000202e2a28840>
erf(x = 1, m=0, s=1) - erf(x = 0, m=0, s=1)
## [1] 0.3413447
erf(x = 2, m=0, s=1) - erf(x = 0, m=0, s=1)
## [1] 0.4772499
erf(x = -Inf, m=3, s=10) - erf(x = 3, m=3, s=10)
## [1] -0.5
erf(x = Inf, m=3, s=10) - erf(x = -Inf, m=3, s=10)
## [1] 1