Bab 8: Integral dan integrasi
Anda telah melihat operator kalkulus dasar, diferensiasi, yang diimplementasikan oleh mosaicCalcfungsi R/ D(). 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
## [1] 0.5
f(2)
## [1] 2
## [1] 2
f(3)
## [1] 4.5
## [1] 4.5
df <- D(f(x) ~ x)
df(1)
## [1] 1
## [1] 1
df(2)
## [1] 2
## [1] 2
df(3)
## [1] 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)")
Antiturunan
Perhatikan bahwa fungsi D F diciptakan oleh anti-diferensiasi tidak f tetapi d f dengan hormat x . Hasilnya adalah fungsi yang “seperti” f . (Mengapa tanda kutip pada “sama seperti”? Anda akan lihat.) Anda dapat melihat bahwa nilai dari D F sama dengan nilai aslinya f .
Anda juga bisa menggunakan cara lain: anti-diferensiasi suatu fungsi dan kemudian mengambil turunannya untuk kembali ke fungsi aslinya.
Satu variabel menjadi dua argumen
Jarang sekali Anda ingin anti-diferensiasi fungsi yang baru saja Anda bedakan. Yang satu membatalkan yang lain, jadi tidak ada gunanya kecuali mengilustrasikan dalam buku teks bagaimana diferensiasi dan anti-diferensiasi terkait satu sama lain. Tetapi sering kali Anda bekerja dengan fungsi yang mendeskripsikan turunan dari beberapa fungsi yang tidak diketahui, dan Anda ingin menemukan fungsi yang tidak diketahui tersebut.
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 tak tentu” sering digunakan untuk membedakan antara fungsi yang dihasilkan oleh anti-diferensiasi dan nilai fungsi tersebut ketika dievaluasi pada masukan tertentu. Ini akan membingungkan pada awalnya, tetapi Anda akan segera merasakan apa yang terjadi.
Seperti yang Anda ketahui, 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.
library(mosaicCalc)
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
## [1] 0.841471
f2(1)
## [1] 3.841471
## [1] 3.841471
f3(1)
## [1] -99.15853
## [1] -99.15853
df1 = D(f1(x) ~ x)
df2 = D(f2(x) ~ x)
df3 = D(f3(x) ~ x)
df1(1)
## [1] 1.080605
## [1] 1.080605
df2(1)
## [1] 1.080605
## [1] 1.080605
df3(1)
## [1] 1.080605
## [1] 1.080605
Integral
Derivatif memberi tahu Anda bagaimana suatu fungsi berubah secara lokal. Anti-derivatif mengumpulkan nilai-nilai lokal tersebut untuk memberi Anda nilai global; itu mempertimbangkan tidak hanya properti lokal dari fungsi pada satu nilai input tertentu tetapi juga nilai pada rentang input.
Ingatlah bahwa turunan dari f itu sendiri adalah fungsi, dan fungsi itu memiliki argumen yang sama dengan f . Jadi, karena f(x)didefinisikan memiliki argumen bernama x, fungsi yang dibuat oleh D(f(x) ~ x)juga memiliki argumen bernama x(dan apa pun parameter lain yang terlibat):
library(mosaicCalc)
f
## function (x, A = 0.5)
## A * x^2
## <bytecode: 0x0000021019d43fb8>
## function (x, A = 0.5)
## A * x^2
## <bytecode: 0x7fe6038205e0>
df
## function (x, A = 0.5)
## 2 * A * x
## <bytecode: 0x000002101b32d878>
## function (x, A = 0.5)
## A * (2 * (x))
## <bytecode: 0x7fe603934720>
Operasi anti-derivatif sedikit berbeda dalam hal ini. Saat Anda menggunakan antiD(), nama variabel fungsi diganti dengan dua argumen: nama sebenarnya (dalam contoh ini, x ) dan konstanta C :
library(mosaicCalc)
antiD(f(x) ~ x)
## function (x, A, C = 0)
## (x^3 * A)/3 + C
antiD(df(x) ~ x)
## function (x, A, C = 0)
## A * x^2 + C