Bab 7 Turunan dan Diferensiasi
Operator untuk mengambil turunan, D()mengambil masukan dan menghasilkan keluaran. Bahkan, dibandingkan dengan banyak operator, D()cukup sederhana: hanya membutuhkan satu masukan.
-Input: ekspresi menggunakan ~notasi. Contoh: x^2~xatau sin(x^2)~xatauy*cos(x)~y
Di sebelah kiri ~adalah ekspresi matematika, ditulis dalam notasi R yang benar, yang akan dievaluasi menjadi angka ketika nilai numerik tersedia untuk semua besaran yang dirujuk. Di sebelah kanan ~adalah variabel yang akan diambil turunannya. Ini tidak perlu disebut xatau y; setiap nama variabel yang valid diperbolehkan. Output yang dihasilkan oleh D()adalah fungsi. Sebagai contoh:
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
g <- D(x^2 ~ x)
g(1)
## [1] 2
7.1 Rumus dan Selisih Numerik
Ketika ekspresi relatif sederhana dan terdiri dari fungsi matematika dasar, D()seringkali akan mengembalikan fungsi yang berisi rumus matematika. Misalnya pada contoh di atas :
g
## function (x)
## 2 * x
Untuk ekspresi input lainnya, D()akan mengembalikan fungsi yang didasarkan pada perkiraan numerik ke turunan — Anda tidak bisa lihat” turunannya, tetapi itu ada di dalam metode pendekatan numerik:
h <- D(sin(abs(x - 3) ) ~ x)
h
## function (x)
## {
## .e1 <- x - 3
## cos(abs(.e1)) * sign(.e1)
## }
7.2 Parameter Simbolik
Menyertakan parameter simbolik dalam ekspresi yang dimasukkan ke D(), misalnya:
s2 <- D(A * sin(2 * pi * t / P) + C ~ t)
## Warning in makeFun.formula(A * sin(2 * pi * t/P) + C ~ t, suppress.warnings =
## FALSE): Implicit variables without default values (dangerous!): A, P, C
s2
## function (t, A, P, C)
## 2 * (A * pi * cos(2 * (pi * t/P))/P)
s2( t=3, A=2, P=10, C=4 )
## [1] -0.3883222
library(mosaicCalc)
slice_plot(s2(t, A=2, P=10, C=4) ~ t,
domain(t=range(0,20)))
7.3 Derivatif Parsial
Turunan yang dihitung dengan D( )adalah turunan parsial . Artinya, mereka adalah turunan di mana variabel di sisi kanan ~diubah dan semua variabel lainnya tetap konstan.
7.3.1 Turunan kedua Turunan kedua hanyalah turunan dari turunan. Anda dapat menggunakan D( )operator dua kali untuk mencari turunan kedua. seperti contoh :
df <- D(sin(x) ~ x)
ddf <- D(df(x) ~ x)
Untuk menghemat pengetikan, terutama bila ada lebih dari satu variabel yang terlibat dalam ekspresi, Anda dapat meletakkan banyak variabel di sebelah kanan ~tanda, seperti pada turunan kedua ini sehubungan dengan x :
another.ddf <- D(sin(x) ~ x & x)
Bentuk untuk turunan orde kedua ini dan lebih tinggi ini juga menghasilkan perhitungan yang lebih akurat.