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
library(mosaic)
library(ggplot2)

Pada artikel kali ini kita akan menggunakan fungsi R/mosaik Zeros(). Argumen pertama adalah ekspresi gelombang laut dan argumen kedua adalah interval domain yang akan dicari.

Zeros()diatur untuk mencari masukan di mana fungsi yang didefinisikan dalam ekspresi gelombang laut menghasilkan nol sebagai keluaran. Tapi misalkan Anda sedang menghadapi masalah sepertif(x) = 10? Anda dapat memodifikasi ekspresi tilde sehingga mengimplementasikan fungsi yang sedikit berbeda:f(x) - 10. Jika kita dapat menemukannya seperti yang f(x_0) - 10 = 0, itu juga akan menjadi x_0 memuaskan f(x_0) = 10.

kita akan mendefinisikan suatu fungsi f(x) menggunakan rfun()dari R/mosaik. Ini membangun suatu fungsi dengan mengambil kombinasi linier dari fungsi-fungsi lain yang dipilih secara acak. Argumennya seed=579menentukan fungsi mana yang akan berada dalam kombinasi linier.

library(mosaicCalc)
library(ggplot2)

set.seed(579)
f <- rfun( ~ x, seed = 579)

Zeros(f(x) - 10 ~ x, bounds(x = c(-4, 4)))
## # A tibble: 2 × 2
##         x      .output.
##     <dbl>         <dbl>
## 1 -2.92   -0.0000000344
## 2  0.0795 -0.00000118
slice_plot(f(x) ~ x, bounds(x=-4:4)) %>%
  gf_hline(yintercept = ~ 10, color="magenta")

berikut adalah contoh kasus di mana kita ingin menemukan akar atau angka nol dari sebuah fungsi menggunakan R. Anggaplah kita memiliki fungsi sederhana, seperti f(x) = x^2 - 4, dan kita ingin menemukan nilai x di mana f(x)=0.

library(rootSolve) # Fungsi f <- function(x) { return(x^2 - 4) }

Temukan akar atau angka nol

root <- uniroot(f, interval = c(-4, 4))

Tampilkan hasil

cat(“Akar atau angka nol:”, root$root, “”)

Dalam contoh ini, kita menggunakan fungsi uniroot untuk mencari akar dari fungsi f dalam interval tertentu. Interval disetel ke c(-5, 5) untuk mencakup solusi yang mungkin.

Anda dapat mengganti fungsi f dan interval sesuai dengan kasus yang sesuai dengan kebutuhan Anda. Pastikan untuk memahami jenis fungsi dan intervalnya agar pencarian akar dapat dilakukan dengan benar.