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.