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
Numerical Differentiation adalah sebuah metode untuk menghitung turunan dari suatu fungsi numerik menggunakan pendekatan kalkulasi nilai-nilai fungsi di sekitar titik-titik tertentu. Metode ini berguna ketika kita tidak memiliki fungsi turunan yang eksplisit atau ketika fungsi tersebut sulit atau mahal untuk diturunkan secara analitis.
Metode Numerical Differentiation memiliki beberapa pendekatan utama, di antaranya:
f′(x)≈f(x)−f(x−h)/h
di mana ℎ adalah suatu nilai kecil yang mendekati nol. Pendekatan ini cocok untuk mengestimasi turunan jika nilai ℎ sangat kecil, tetapi perlu hati-hati karena kesalahan pembulatan dan presisi numerik.
f′(x)≈f(x)−f(x−h)/h
f ′(x)≈ f(x+h)−f(x−h)/2h
Pendekatan ini memberikan akurasi yang lebih baik daripada forward atau backward difference karena menggunakan informasi dari kedua sisi titik yang dianalisis.
Penggunaan Diferensiasi Numerik Dalam konteks Kalkulus Mosaik, diferensiasi numerik digunakan ketika kita memiliki data diskrit atau ketika kita ingin mengukur perubahan data yang diperoleh secara eksperimental atau dari sumber lain yang tidak memiliki ekspresi matematika eksplisit.
Kesalahan Perkiraan Dalam diferensiasi numerik, terdapat kesalahan yang terkait dengan penggunaan langkah diferensiasi (h). Kesalahan ini dapat diminimalkan dengan memilih langkah diferensiasi yang tepat dan menggunakan metode yang lebih akurat.
# Memuat library yang diperlukan
library(ggplot2)
# Fungsi yang ingin kita hitung turunannya
f <- function(x) {
return(x^2 - 8)
}
# Menghitung turunan dari fungsi tersebut
df <- D(expression(x^2 - 8), "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 = "blue") +
geom_line(aes(y = dy), color = "red") +
ggtitle("Function and Its Derivative") +
xlab("x") +
ylab("y") +
scale_color_manual(values = c("blue", "red"), labels = c("Function", "Derivative")) +
theme(legend.position = c(0.8, 0.9))
Numerical Differentiation adalah alat penting dalam analisis data, optimasi numerik, pemodelan matematika, dan memahami perubahan dalam berbagai konteks matematika. Ini membantu dalam menghitung turunan data diskrit dan memungkinkan kita mengukur gradien atau perubahan fungsi pada titik tertentu yang tidak memiliki ekspresi matematika eksplisit.