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

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)
f
## function (x) 
## 1.7 - 0.85 * x + 0.063 * x^2
Zeros(f(x) - 0 ~ x, bounds(x=-50:50))
## # A tibble: 2 x 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="magenta")