Universitas : UIN Maulana Malik Ibrahim Malang
Prodi : Teknik Informatika
Fakultas : Sains dan Teknologi
Dosen : Prof. Dr. SUHARTONO, M.Kom
Integrasi numerik adalah teknik untuk menghitung nilai integral suatu fungsi menggunakan metode numerik ketika solusi analitis tidak dapat ditemukan.
Metode Riemann adalah salah satu metode sederhana untuk menghitung integral suatu fungsi dengan membagi interval integrasi menjadi subinterval dan menghitung luas daerah di bawah kurva pada masing-masing subinterval.
# Function to be integrated
f <- function(x) x^2 + 2*x + 1
# Riemann sum for numerical integration
riemann_integration <- function(f, a, b, n = 100) {
delta_x <- (b - a) / n
x_values <- seq(a, b, length.out = n + 1)
sum(f(x_values) * delta_x)
}
# Interval for integration
a <- 0
b <- 3
# Compute the numerical integral using Riemann method
numerical_integral_riemann <- riemann_integration(f, a, b)
numerical_integral_riemann
## [1] 21.25545
Metode Simpson adalah metode yang lebih canggih yang menggunakan polinom orde dua (parabolik) untuk menghitung nilai integral.
# Install and load the pracma package
if (!requireNamespace("pracma", quietly = TRUE)) {
install.packages("pracma")
}
library(pracma)
## Warning: package 'pracma' was built under R version 4.3.2
# Gauss quadrature for numerical integration
gauss_integration <- function(f, a, b, n = 5) {
nodes <- gaussLegendre(n, a = a, b = b)$x
weights <- gaussLegendre(n, a = a, b = b)$w
scaled_nodes <- (b - a) / 2 * nodes + (b + a) / 2
sum(weights * f(scaled_nodes))
}
# Compute the numerical integral using Gauss quadrature
numerical_integral_gauss <- gauss_integration(f, a, b)
numerical_integral_gauss
## [1] 72.75