| # CONTOH CONTOH GRAFIK PADA ZERO FINDING # |
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
| # Graphical Zero-Finding dengan Mosaic Calculus: Pemahaman Melalui Visualisasi Grafik # |
Mosaic Calculus adalah pendekatan dalam kalkulus variabel tak tentu yang memungkinkan kita untuk memahami dan memvisualisasikan fenomena kompleks melalui representasi grafis yang intuitif. Dalam konteks zero-finding, Mosaic Calculus memungkinkan kita untuk menemukan nilai nol dari suatu fungsi dengan menggunakan visualisasi grafik berbasis mosaics. Berikut adalah beberapa contoh grafik yang mengilustrasikan konsep Zero-Finding dengan pendekatan Mosaic Calculus:
Penjelasan: Grafik mosaics menunjukkan bagaimana pola dan bentuk fungsi polinomial tercermin dalam objek mosaics. Area yang diwarnai menunjukkan nilai positif dan negatif dari fungsi, membantu kita mengidentifikasi interval-interval di mana nilai nol mungkin berada.
VISUALISASI :
# Menginstal dan memuat paket yang diperlukan
install.packages("ggplot2")
## Warning: package 'ggplot2' is in use and will not be installed
library(ggplot2)
# Fungsi polinomial
fungsi <- function(x) {
return(x^3 - 4*x^2 - x + 6)
}
# Tentukan rentang nilai x
x <- seq(-2, 5, length.out = 1000)
# Hitung nilai fungsi pada setiap titik dalam rentang x
y <- fungsi(x)
# Buat data frame untuk ggplot
data <- data.frame(x = x, y = y)
# Grafik Mosaics
ggplot(data, aes(x = x, y = y)) +
geom_area(fill = "skyblue", color = "black") +
ggtitle("Grafik Mosaics untuk Fungsi Polinomial") +
xlab("Nilai x") +
ylab("Nilai f(x)")
2. Iterasi Fraktal untuk Zero-Finding: Mosaic Calculus memungkinkan
iterasi fraktal, di mana mosaics mengalami transformasi berulang yang
mendekati nilai nol fungsi. Misalkan kita menggunakan metode iterasi
fraktal untuk mencari nilai nol dari fungsi \(f(x) = sin(x) -x/2\). Penjelasan: Grafik
iterasi fraktal menunjukkan bagaimana mosaics mengalami transformasi
berulang yang mendekati titik nol fungsi. Setiap iterasi menghasilkan
mosaics baru yang mendekati titik nol dengan presisi yang lebih
tinggi.
VISUALISASI :
# Fungsi untuk iterasi fraktal
iterasi_fraktal <- function(x, n) {
for (i in 1:n) {
x <- x - sin(x) + x/2
}
return(x)
}
# Nilai awal dan jumlah iterasi
x0 <- 1
n <- 10
# Iterasi fraktal
hasil <- iterasi_fraktal(x0, n)
# Data untuk plot iterasi fraktal
data_fraktal <- data.frame(iterasi = 1:n, nilai = c(x0, hasil))
# Grafik Iterasi Fraktal
ggplot(data_fraktal, aes(x = iterasi, y = nilai)) +
geom_line(color = "blue") +
ggtitle("Iterasi Fraktal untuk Zero-Finding") +
xlab("Iterasi") +
ylab("Nilai Aproksimasi Nol")
Mosaic Calculus juga dapat digunakan untuk visualisasi konvergensi
metode numerik seperti Newton-Raphson. Misalkan kita mencari nilai nol
dari fungsi\(f(x) = e^2 - x^2\)
menggunakan metode Newton-Raphson. Penjelasan: Grafik konvergensi
Newton-Raphson menunjukkan bagaimana pendekatan linier dari metode ini
mendekati titik nol fungsi. Mosaics menggambarkan langkah-langkah
iterasi dan konvergensi menuju nilai nol.
VISUALISASI :
# Fungsi dan turunannya
fungsi <- function(x) {
return(exp(x) - x^2)
}
turunan <- function(x) {
return(exp(x) - 2*x)
}
# Nilai awal dan jumlah iterasi
x0 <- 1
n <- 5
# Iterasi Newton-Raphson
hasil <- numeric(n)
hasil[1] <- x0
for (i in 2:n) {
hasil[i] <- hasil[i - 1] - fungsi(hasil[i - 1]) / turunan(hasil[i - 1])
}
# Data untuk plot konvergensi Newton-Raphson
data_nr <- data.frame(iterasi = 1:n, nilai = hasil)
# Grafik Konvergensi Newton-Raphson
ggplot(data_nr, aes(x = iterasi, y = nilai)) +
geom_point(color = "red", size = 3) +
geom_line(color = "blue") +
ggtitle("Konvergensi Newton-Raphson untuk Zero-Finding") +
xlab("Iterasi") +
ylab("Nilai Aproksimasi Nol")