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
## The legacy packages maptools, rgdal, and rgeos, underpinning the sp package,
## which was just loaded, will retire in October 2023.
## Please refer to R-spatial evolution reports for details, especially
## https://r-spatial.org/r/2023/05/15/evolution4.html.
## It may be desirable to make the sf package available;
## package maintainers should consider adding sf to Suggests:.
## The sp package is now running under evolution status 2
## (status 2 uses the sf package in place of rgdal)
##
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
##
## D
Ada banyak perhitungan yang dimulai dengan tebakan diikuti dengan proses langkah demi langkah untuk menyempurnakan tebakan tersebut. Contoh kasusnya adalah proses penghitungan akar kuadrat. Tidak ada rumus operasional untuk fungsi yang mengambil suatu bilangan sebagai masukan dan menghasilkan akar kuadrat dari bilangan tersebut sebagai keluaran. Saat kita menulis x−−√, kita tidak menentukan cara menghitung keluarannya, hanya menjelaskan jenis keluaran yang kita cari.
Fungsi yang umum digunakan untuk menghitung x−−√ lebih baik(): betterguess=12(guess=+xguess)
Mungkin tidak jelas sama sekali mengapa rumus ini terkait dengan mencari akar kuadrat. Mari kita kesampingkan masalah itu untuk saat ini dan fokuskan perhatian kita pada cara menggunakannya.
Untuk memulai, mari kita tentukan fungsi komputer:
better <- makeFun((guess + x/guess)/2 ~ guess)
Tebakan kita pada 1 dan keluaran 28 tidak memuaskan x−−√=55. (Setelah menghafal kuadrat bilangan bulat dalam jangka waktu yang lama, kita mengetahui bahwa x−−√=55 berada di antara 7 dan 8. Baik 1 maupun 28 tidak termasuk dalam interval tersebut.)
Orang—lebih dari dua ribu tahun yang lalu—yang menemukan Ide di balik fungsi Better() percaya bahwa Better() menghasilkan tebakan yang lebih baik untuk jawaban yang kita cari. Tidak jelas mengapa 28 merupakan tebakan yang lebih baik daripada 1 untuk x−−√=55, tetapi untuk menghormati, mari kita terima klaim mereka.
Di sinilah iterasi berperan. Meskipun 28 merupakan tebakan yang lebih baik daripada 1, namun tetap saja ini bukanlah tebakan yang bagus. Tapi kita bisa menggunakan fungsi Better() untuk menemukan sesuatu yang lebih baik dari 28:
better(28, x=55)
## [1] 14.98214
Mengulangi suatu tindakan berarti melakukannya berulang kali. (“Iterate” berasal dari kata Latin iterum, yang berarti “lagi.”) Seekor burung mengulangi seruannya, menyanyikannya berulang-ulang. Dalam matematika, “iterasi” memiliki keunikan. Saat kita mengulangi tindakan matematis, kita mengambil hasil dari sudut sebelumnya, bukan hanya mengulangi perhitungan sebelumnya.
Melanjutkan iterasi kami dari betterk()…
better(14.98214, x=55)
## [1] 9.326589
better(9.326589, x=55)
## [1] 7.611854
better(7.611854, x=55)
## [1] 7.418713
better(7.418713, x=55)
## [1] 7.416199
better(7.416199, x=55)
## [1] 7.416198
Pada langkah terakhir, keluaran dari perbaikan() secara praktis sama dengan masukan, jadi tidak ada alasan untuk melanjutkan. Kami dapat memastikan bahwa hasil akhir adalah tebakan yang bagus x−−√=55.
7.416198^2 ## [1] 54.99999.