suppressWarnings(suppressMessages(suppressPackageStartupMessages))
## function (expr)
## withCallingHandlers(expr, packageStartupMessage = function(c) tryInvokeRestart("muffleMessage"))
## <bytecode: 0x000001bfc397e8e8>
## <environment: namespace:base>
library(mosaicCalc)
Pada artikel ini kita akan membahas tentang Zero-finding atau menemukan input yang menghasilkan output yang kita inginkan, operasi ini adalah salah satu yang dipersyaratkan dalam penilian dalam kalkulus.
Fungsi adalah suatu mekanisme dalam rumusan matematika yang digunakan untuk mengubah variabel input yang diberikan ke fungsi menjadi nilai output dari suatu fungsi. Zero-finding atau bisa kita sebut sebagai Temuan Nol adalah memberikan hasil dengan arah yang lain yaitu dengan cara diberi nilai output kemudian akan ditemukan nilai input yang sesuai.
Sebagai contoh, perhatikan fungsi eksponensial yaitu f(x)= e^x. Dengan masukan nilai spesifik x=2.135, Maka anda dapat dengan mudah menghitung output yang sesuai dengan menggunakan prompt dari R:
exp(2.135)
## [1] 8.457047
Pada penyelesain rumus fungsi \(f(x)=e^x\) dimana jika \(x=2.135\) maka kita akan mendapatkan nilai fungsi adalah 8.457047
Tetapi kemudian kita balik yaitu dalam bentuk output dari fungsi kemudian didapat nilai inpt dari fungsi, katakanlah \(e^x0\) adalah 1.595339. Kita akan tahu bahwa jika kita mengisi nilai \(x0\) tertentu maka kita akan mendapatkan nilai outout dari fungsi yaitu 4.93.
Bagaimana kita mendapatkan nilai \(x0\) dengan hasil dari \(f(x0)=e^x0\) adalah 4.93, untuk itu kita akan mengerjalakan dengan fungsi ln() seperti pada kode dibawah ini:
log(4.93)
## [1] 1.595339
Dari hasil didapat bahwa jika kita memasukkkan nilai \(x0\) sama dengan 4.93 maka akan didapatkan nilai fungsi adalah 1.595
Contoh lain adalah jika kita mendapatkan fungsi \(f(x)=1.7-0.85x+0.063x^2\)
ini adalah suatu fungsi polinomial jika kita memberi nilai \(x0\) tertentu pada fungsi tersebut maka kita bisa contohkan hasil dari \(f(x)\) adalah 3 maka kita bisa mencarai nilai dari \(x0\) dengan cara seperti berikut:
f <- makeFun(1.7-0.85*x+0.063*x^2 ~ x)
Zeros(f(x) - 0 ~ x, bounds(x=-50:50))
## # A tibble: 2 × 2
## x .output.
## <dbl> <dbl>
## 1 2.44 3.27e-9
## 2 11.1 -2.82e-6
slice_plot(f(x) ~ x, bounds(x=-50:50)) %>%
gf_hline(yintercept = ~ 3, color="red")