BAB 4 PEMECAHAN

4.1 Fungsi vs Persamaan Fungsi dan persamaan adalah dasar-dasar dari aljabar. Persamaan digunakan untuk menunjukkan kesetaraan antara dua ekspresi , melibatkan penataan simbol-simbol persamaan dengan cara yang sudah dikenal. Sedangkan fungsi digunakan untuk menunjukkan hubungan set input dan set output yang sesuai. 4..1.1 Dari Persamaan ke Nol Fungsi Bentuk umum dari maslah yang biasanya digunakan dalam perhitungan numerik di komputer adalah bahwa persamaan akan diselesaikan benar-benar merupakan fungsi yang akan dibalik. Artinya, untuk perhitungan numerik masalahnya harus dinyatakan seperti ini: Anda memiliki fungsi . Anda kebetulan mengetahui bentuk fungsi dan nilai keluaran untuk beberapa nilai masukan yang tidak diketahui . Masalah Anda adalah menemukan input yang diberikan fungsi dan nilai output .f(x)fkamuxxfkamu Anda memiliki fungsi . Anda kebetulan mengetahui bentuk fungsi dan nilai keluaran untuk beberapa nilai masukan yang tidak diketahui . Masalah Anda adalah menemukan input yang diberikan fungsi dan nilai output . f(x)fkamuxxfkamu. Jika Anda dapat memplot fungsi untuk rentang , Anda dapat dengan mudah menemukan nolnya. Temukan saja di mana di mana fungsi melintasi -sumbu. Ini berfungsi untuk fungsi apa pun, bahkan yang sangat rumit sehingga tidak ada prosedur aljabar untuk menemukan solusi. Sebagai ilustrasi, perhatikan fungsi f(x)xxkamu. g()

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 <- makeFun(sin(x^2)*cos(sqrt(x^4 + 3 )-x^2) - x + 1 ~ x)
slice_plot(g(x) ~ x, domain(x = -3:3)) %>%
  gf_hline(yintercept  = 0, color = "red")

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

Argumen xlim digunakan untuk menyatakan di mana mencari solusi. (Karena bug perangkat lunak, itu selalu dipanggil xlimbahkan jika Anda menggunakan variabel selain xdalam ekspresi Anda. Rentang variabel dependen untuk mencari nol. Infadalah nilai yang sah, tetapi ditafsirkan dalam arti numerik sebagai angka floating point terbesar non-Inf. contoh:

library(mosaic)
## 
## 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
findZeros(g(x) ~ x, xlim = range(-1000,  1000))
##        x
## 1 1.5576

4.1.2 Beberapa Solusi Fungsi findZeros() akan mencoba menemukan bebeapa solusi jika ada. Misalkan persamaan , example:

library(mosaic)
findZeros( sin(x) - 0.35 ~ x, xlim=range(-20,20) )
##           x
## 1  -12.2088
## 2   -9.7823
## 3   -5.9256
## 4   -3.4991
## 5    0.3576
## 6    2.7840
## 7    6.6407
## 8    9.0672
## 9   12.9239
## 10  15.3504

4.1.3 Menyiapkan Masalah seperti namanya, findZeros()menemukan fungsi nol. Anda dapat menyelesaikan permasalahan menggunakan furmulir ini,Misalnya, Anda ingin menyelesaikan 4+ekt=2bt untuk b, biarkan parameter k menjadi k=0,00035. Anda mungkin, tentu saja, ingat bagaimana mengerjakan soal ini dengan menggunakan logaritma. Tapi inilah pengaturan untuk findZeros( ):

g <- makeFun(4 + exp(k*t) - 2^(b*t) ~ b, k=0.00035, t=1)
findZeros( g(b) ~ b , xlim=range(-1000, 1000) )
##       b
## 1 2.322

ika 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. Tentu saja, Anda dapat mencoba nilai-nilai lain dari t untuk memastikan bahwa t tidak masalah.

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