4.1 FUNGSI DAN PERSAMAAN
Sebagian besar isi aljabar sekolah menengah melibatkan “penyelesaian.” Dalam situasi tipikal, Anda memiliki persamaan, katakanlah
3 x + 2 = y
dan Anda diminta untuk “menyelesaikan” persamaan untuk x . Ini melibatkan penataan ulang simbol persamaan dengan cara yang sudah dikenal, misalnya, memindahkan 2 ke sisi kanan dan dibagi dengan 3 . Langkah-langkah ini, awalnya disebut “penyeimbangan” dan “reduksi” diringkas dalam arti asli kata Arab “al-jabr” (yaitu, digunakan oleh Muhammad ibn Musa al-Khowarizmi (c. 780-850) dalam “Buku Kompeni tentang Perhitungan dengan Penyelesaian dan Penyeimbangan”. Di sinilah kata “aljabar” kita berasal.
Siswa sekolah menengah juga diajarkan berbagai teknikad hocuntuk menyelesaikan dalam situasi tertentu. Misalnya, persamaan kuadrat sebuah
x 2 + b x + c = 0
dapat diselesaikan dengan penerapan prosedur “anjak piutang,” atau “menyelesaikan kuadrat,”
Bagian-bagian dari rumus ini dapat ditelusuri kembali ke setidaknya tahun 628 dalam tulisan-tulisan Brahmagupta, seorang ahli matematika India, tetapi rumus lengkapnya tampaknya berasal dari Simon Stevin di Eropa pada tahun 1594, dan diterbitkan oleh René Descartes pada tahun 1637.
Untuk beberapa masalah, siswa diajarkan bernama operasi yang melibatkan kebalikan dari fungsi. Misalnya, untuk menyelesaikan dosa
( x ) = y
, seseorang hanya menuliskan
x = Arcsin ( y )
tanpa detail tentang cara menemukan Arcsin di luar “gunakan kalkulator” atau, di masa lalu, “gunakan meja dari buku.”
4.1.1 DARI PERSAMAAN NOL KEFUNGSI
Dengan semua penekanan pada prosedur seperti anjak piutang dan memindahkan simbol bolak-balik di sekitar tanda, siswa secara alami bertanya, “Bagaimana cara menyelesaikan persamaan dalam R?”
Jawabannya sangat sederhana, tetapi untuk memahaminya, Anda harus memiliki perspektif yang berbeda tentang apa artinya “memecahkan” dan di mana konsep “persamaan” masuk.
Bentuk umum dari masalah yang biasanya digunakan dalam perhitungan numerik di komputer adalah bahwa persamaan yang harus dipecahkan benar-benar merupakan fungsi yang harus dibalik. Artinya, untuk perhitungan numerik, masalahnya harus dinyatakan seperti ini:
” Anda memiliki fungsi f ( x ) . Anda kebetulan tahu bentuk fungsinya f dan nilai output y untuk beberapa nilai input yang tidak diketahui x . Masalah Anda adalah menemukan input x mengingat fungsinya f dan nilai output y .”
Salah satu cara untuk memecahkan masalah tersebut adalah dengan menemukankebalikan dari f . Ini sering ditulis f
− 1 (yang banyak siswa dapat dimengerti tetapi keliru berarti 1 / f ( x ) ). Tetapi menemukan kebalikan dari f bisa sangat sulit dan berlebihan. Sebaliknya, masalah dapat ditangani dengan menemukanangka noldari f .
Jika Anda dapat merencanakan fungsinya f ( x ) untuk berbagai x , Anda dapat dengan mudah menemukan angka nol. Temukan saja di mana x di mana fungsi melintasi y -sumbu. Ini berfungsi untuk fungsi apa pun, bahkan yang sangat rumit sehingga tidak ada prosedur aljabar untuk menemukan solusi. Untuk mengilustrasikan, pertimbangkan fungsinya 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^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 = "blue")
Anda dapat melihat dengan cukup mudah bahwa fungsinya melintasi y sumbu di suatu tempat antara x = 1 dan x = 2 . Anda bisa mendapatkan detail lebih lanjut dengan memperbesar solusi perkiraan:
slice_plot(g(x) ~ x, domain(x=1:2)) %>%
gf_hline(yintercept = 0, color = "green")
Penyeberangan berada di kira-kira x ≈ 1.6 . Anda tentu saja dapat memperbesar lebih jauh untuk mendapatkan perkiraan yang lebih baik. Atau, Anda dapat membiarkan perangkat lunak melakukan ini untuk Anda:
findZeros(g(x) ~ x, xlim = range(1, 2))
## x
## 1 1.5576
Argumentis digunakan untuk menyatakan di mana mencari solusi. (Karena bug perangkat lunak, selalu disebut jika Anda menggunakan variabel selain dalam ekspresi Anda.)xlimxlimx
Anda hanya perlu memiliki gambaran kasar tentang di mana solusinya. Misalnya:
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.
4.1.2 Berbagi solusi
Fungsi ini akan mencoba menemukan beberapa solusi jika ada. Misalnya, persamaannya findZeros( ) dosa x = 0.35 memiliki jumlah solusi yang tak terbatas. Inilah 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 bahwapersamaannya
dosa x = 0.35 diubah menjadi fungsi.sin(3) - 0.35