library(mosaicCalc)
## Warning: package 'mosaicCalc' was built under R version 4.2.2
## Loading required package: mosaic
## Warning: package 'mosaic' was built under R version 4.2.2
## 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
## Warning: package 'mosaicCore' was built under R version 4.2.2
## 
## 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

Bab 7 Turunan dan Diferensiasi

Seperti semua perhitungan, operator untuk mengambil turunan, D()mengambil masukan dan menghasilkan keluaran. Bahkan, dibandingkan dengan banyak operator, D()cukup sederhana: hanya membutuhkan satu masukan

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. Fungsi akan mencantumkan sebagai argumen semua variabel yang terdapat dalam ekspresi masukan. Anda kemudian dapat mengevaluasi fungsi keluaran untuk nilai numerik tertentu dari argumen untuk menemukan nilai fungsi turunan.

contoh:

g <- D(x^2 ~ x)
g(1)
## [1] 2
g(3.5)
## [1] 7

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
## <bytecode: 0x000002408de708e8>

Untuk ekspresi input lainnya, D()akan mengembalikan fungsi yang didasarkan pada perkiraan numerik ke turunan — Anda tidak bisalihat” 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

Anda dapat menyertakan parameter simbolik dalam ekspresi yang dimasukkan ke D(), misalnya:

s2 <- D(A  * sin(2 * pi * t / P) + C ~ t)

Parameter, dalam hal ini A, P, dan C, akan diubah menjadi argumen untuk s2()fungsi tersebut. Catatan yang pidipahami sebagai nomorππ, bukan parameter.

s2
## function (t, A, C, P) 
## (2 * A * pi * cos((2 * pi * t)/P))/P

Fungsi s2()yang dibuat akan berfungsi seperti fungsi matematika lainnya, tetapi Anda perlu menentukan nilai numerik untuk parameter simbolik saat mengevaluasi fungsi

s2(t=3,A=2,P=10,C=4)
## [1] -0.3883222
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 ini.

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 dan lebih tinggi ini juga menghasilkan perhitungan yang lebih akurat.