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
Saat pembelajaran aljabar di sma, kita diberikan persamaan 3x+2=y untuk mendapatkan nilai x di persamaan diatas kita dapat memindahkan angka 2 ke sisi sebelah kanan dan membagikannya dengan 3 metodde ini disebut dengan “penyeimbangan” dan pengurangan
Anda memiliki fungsi f(x). Anda kebetulan tahu bentuk fungsinya f dan nilai outputnya y untuk beberapa nilai masukan yang tidak diketahui x. Masalah anda adalah menemuka input x diberi fungsi f dan nilai keluaran y
JIka anda dapat memplot fungsinya f(x) untuk berbagi x, anda dapat dengan mudah menemukan angka nol.Temukan saja di mana x di mana fungsi melintasi sumbu-y.ini berfungsi untuk fungsi apapun, bahkan yang sangat rumit sehingga tidak ada prosedur aljabar untuk menemukan solusi sebagai ilustrasi, perhatikan fungsi g()
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")
fungsi melintasi sumbu y disuatu tempat antara x=1 dan x=2.Anda bisa
dapat memperbesar perkiraan solusi untuk mendapatkan lebih banyak
detail
slice_plot(g(x) ~ x, domain(x=1:2)) %>%
gf_hline(yintercept = 0, color = "red")
Persimpangannya kira kira x≈1.6. Tentu saja kita dapat memperbesar lebih jauh untuk mendapatkan perkiraan yang lebih baik.Atau,kita dapat membiarkan software melakukan ini
findZeros(g(x) ~ x, xlim = range(1, 2))
## x
## 1 1.5576
Argumen xlim digunakan untuk menyatakan dimana harus mencari solusi.(Karena bug dari software, itu selalu dipanggil xlim bahkan juka anda menggunakan selain dari x)
Anda hanya perlu memiliki gambaran kasar tentang dimana solusinya. Contoh:
findZeros(g(x) ~ x, xlim = range(-1000, 1000))
## x
## 1 1.5576
findZeros() hanya akan melihat ke dalam interval yang anda berikan. Ini akan melakukan pekerjaan yang lebih tepat jika Anda dapat menyatakan interval dengan cara yang sempit.
Fungsi findZeros() akan mencoba menemukan banyak solusi jika ada. Misalnya persamaan dosa dosax-0,35 memiliki jumlah solusi yang tak terhingga. Berikut beberapa di antaranya:
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
Perhatikan bahwa persamaan dosa x=0,35 diubah menjadi fungsi sin(3)-0.35
Seperti namanya, findZeros() temukan nol fungsi. Anda dapat menyiapkan masalah solusi apapun dalam formulir ini. Misalnya,Anda ingin memecahkan 4+ekt=2bt untuk b, membiarkan parameter k menjadi k=0,00035. Anda mungkin ingat bagaimana mengerjakan soal ini 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
Perhatikan bahwa nilai numerik untuk keduanya b dan t diberikan. Namun dalam soal aslinya, tidak ada pernyataan tentang nilai dari t . Hal ini menunjukkan salah satu keuntungan dari teknik aljabar. Jika Anda memecahkan masalah secara aljabar, Anda akan segera melihat bahwa membatalkan di kedua sisi persamaan. Fungsi numerik findZeros( )tidak mengetahui aturan aljabar, sehingga tidak dapat mengetahuinya. Tentu saja, Anda dapat mencoba nilai lain dari t untuk memastikan itu tidak masalah.
findZeros( g(b, t=2) ~ b, xlim=range(-1000,1000) )
## b
## 1 1.1611