Bab 4 Pemecahan 4.1 Fungsi vs persamaan fungsi adalah pemetaan setiap anggota himpunan kepada anggota himpunan lain dapat dinyatakan dengan (x,y) persamaan adalah pernyatan yang menyatakan kesamaan dengan(=), contohnya 2+x=7.

4.1.1 Dari Persamaan ke Nol Fungsi Bentuk umum dari masalah yang biasanya digunakan dalam perhitungan numerik di komputer adalah bahwa persamaan yang akan diselesaikan benar-benar merupakan fungsi yang akan dibalik. Salah satu cara untuk menyelesaikan masalah tersebut adalah dengan mencari invers dari f . Ini sering ditulis f−1 (yang oleh banyak siswa dapat dimengerti tetapi secara keliru diartikan 1/f(x) ). Tetapi menemukan kebalikan dari f bisa sangat sulit dan berlebihan. Sebaliknya, masalahnya dapat ditangani dengan menemukan nol dari f. Jika Anda dapat merencanakan fungsinya f(x) untuk berbagai x , Anda dapat dengan mudah menemukan nol. Temukan saja di mana x di mana fungsi melintas y-sumbu. Ini berfungsi untuk fungsi apa pun, bahkan yang sangat rumit sehingga tidak ada prosedur aljabar untuk menemukan solusi. Sebagai ilustrasi, perhatikan fungsi g():

library(mosaicCalc)
## Loading required package: mosaic
## 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
## 
## 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
g <- makeFun(sin(x^6)*cos(sqrt(x^4 + 5 )-x^3) - x + 2 ~ x)
slice_plot(g(x) ~ x, domain(x = -3:5)) %>%
  gf_hline(yintercept  = 0, color = "yellow")

dapat dilihat dengan mudah bahwa fungsi melintasi y sumbu di antar x=1 dan x=3.

slice_plot(g(x) ~ x, domain(x=1:2)) %>%
  gf_hline(yintercept = 0, color = "yellow")

persimpangannya antar x=1.25 dan x=2.00.

lalu gunakan format ini:

findZeros(g(x) ~ x, xlim = range(1, 2))
##         x
## 1  1.2773
## 2  1.3242
## 3  1.4675
## 4  1.5139
## 5  1.5915
## 6  1.6228
## 7  1.6857
## 8  1.6973
## 9  1.7869
## 10 1.7990

dari findZeros(g(x) ~ x, xlim = range(1, 2)) kita bisa menemukan persimpangan dengan tepat.

findZeros(g(x) ~ x, xlim = range(-1000,  1000))
##         x
## 1  1.5915
## 2  1.6228
## 3  1.6857
## 4  1.6973
## 5  1.7869
## 6  1.7985
## 7  1.8337
## 8  1.8540
## 9  1.8799
## 10 1.8997

dengan menggunak findZeros(), kita akan menemukan hasil yang lebih akurat.

4.1.2 Beberapa Solusi fungsi findZeros() akan menemukan beberapa solusi jika ada. misalnya persamaan dosa x= 0.50.

findZeros( sin(x) - 0.50 ~ x, xlim=range(-20,10) )
##           x
## 1  -18.3260
## 2  -16.2315
## 3  -12.0428
## 4   -9.9484
## 5   -5.7596
## 6   -3.6652
## 7    0.5236
## 8    2.6180
## 9    6.8068
## 10   8.9012

4.1.3 Menyiapkan Masalah findZeros() juga bisa menemukan fungsi nol.menyelesaikan 5+ekt=2bt untuk b,biarkan parameterkmenjadik=0,00050.

g <- makeFun(5 + exp(k*t) - 2^(b*t) ~ b, k=0.00050, t=1)
findZeros( g(b) ~ b , xlim=range(-1000, 1000) )
##        b
## 1 2.5851

Perhatikan bahwa nilai numerik untuk keduanya b dan t diberikan. Tapi dalam masalah aslinya, tidak ada pernyataan tentang nilai t .Ini menunjukkan salah satu keuntungan dari teknik aljabar. Jika Anda memecahkan masalah secara aljabar, Anda akan segera melihat bahwa t membatalkan di kedua sisi persamaan. Fungsi numerik findZeros( )tidak mengetahui aturan aljabar, sehingga tidak dapat mengetahuinya.

findZeros( g(b, t=2) ~ b, xlim=range(-1000,1000) )
##        b
## 1 1.2926