library(mosaicCalc)
## Loading required package: mosaic
## Warning: package 'mosaic' was built under R version 4.3.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
##
## 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
Diferensiasi Numerik merupakan suatu pendekatan yang digunakan untuk menghitung turunan dari suatu fungsi numerik dengan cara mengaproksimasi nilai-nilai fungsi di sekitar titik-titik tertentu. Metode ini terutama bermanfaat ketika fungsi tersebut tidak memiliki turunan eksplisit atau sulit serta mahal untuk diturunkan secara analitis.
Beberapa pendekatan utama dalam Metode Diferensiasi Numerik mencakup Forward Difference, Backward Difference, dan Central Difference. Forward Difference menggunakan perbedaan nilai fungsi di dua titik berdekatan untuk mendekati turunan, sedangkan Backward Difference serupa namun menggunakan perbedaan nilai fungsi di titik x dan x−h. Central Difference, sementara itu, menggunakan perbedaan nilai fungsi di titik x+h dan x−h, memberikan akurasi yang lebih baik karena memanfaatkan informasi dari kedua sisi titik yang dianalisis.
Dalam konteks Kalkulus Mosaik, diferensiasi numerik menjadi relevan ketika data yang dimiliki bersifat diskrit atau saat perubahan data perlu diukur, khususnya pada data eksperimental atau dari sumber lain yang tidak memiliki ekspresi matematika eksplisit. Metode ini membuka peluang untuk melakukan analisis dalam situasi di mana turunan analitis tidak dapat diperoleh dengan mudah.
Penting untuk dicatat bahwa terdapat kesalahan yang terkait dengan penggunaan langkah diferensiasi (h) dalam diferensiasi numerik. Kesalahan ini dapat diminimalkan dengan pemilihan langkah diferensiasi yang tepat dan penerapan metode yang lebih akurat, karena nilai h yang terlalu kecil dapat meningkatkan kesalahan pembulatan dan presisi numerik. Oleh karena itu, pemilihan langkah diferensiasi yang bijak merupakan kunci untuk mendapatkan hasil yang akurat dalam diferensiasi numerik.
library(ggplot2)
# Fungsi yang ingin kita hitung turunannya
f <- function(x) {
return(x^2 - 9)
}
# Menghitung turunan dari fungsi tersebut
df <- D(expression(x^2 - 9), "x")
# Membuat rentang nilai x
x_vals <- seq(-5, 5, by = 0.1)
# Menghitung nilai y dari fungsi dan turunannya
y_vals <- sapply(x_vals, f)
dy_vals <- sapply(x_vals, function(x) eval(df))
# Membuat dataframe dari vektor
df <- data.frame(x = x_vals, y = y_vals, dy = dy_vals)
# Membuat plot fungsi dan turunannya
ggplot(df, aes(x = x)) +
geom_line(aes(y = y), color = "green") +
geom_line(aes(y = dy), color = "red") +
ggtitle("Function and Its Derivative") +
xlab("x") +
ylab("y") +
scale_color_manual(values = c("green", "red"), labels = c("Function", "Derivative")) +
theme(legend.position = c(0.8, 0.9))
Daftar Pustaka https://www.mosaic-web.org/MOSAIC-Calculus/Modeling/06-operations.html