Bagian 8 Integral dan integrasi Anda telah melihat operator kalkulus dasar, diferensiasi, yang diimplementasikan oleh fungsi R/. Operator difusi mengambil sebagai input fungsi dan variabel “sehubungan dengan”. Output adalah fungsi lain yang memiliki variabel “sehubungan dengan” sebagai argumen, dan berpotensi argumen lain juga.mosaicCalcD()

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 variabel menjadi dua argumen ini sering disebut “mengintegrasikan” suatu fungsi. “Integrasi” adalah istilah yang lebih pendek dan lebih bagus daripada “anti-diferensiasi,” dan merupakan istilah yang lebih umum digunakan. Fungsi yang dihasilkan oleh proses umumnya disebut “integral.” Istilah “integral tak tentu” dan “integral pasti” sering digunakan untuk membedakan antara fungsi yang dihasilkan oleh anti-diferensiasi dannilaifungsi itu ketika dievaluasi pada input tertentu. Ini akan membingungkan pada awalnya, tetapi Anda akan segera merasakan apa yang sedang terjadi. Inti masalahnya adalah bahwa 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
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

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: 0x000001eec2927bf8>
df
## function (x, A = 0.5) 
## 2 * A * x
## <bytecode: 0x000001eec77b2c48>
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: 0x000001eed1717b00>
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