Nama : Muhammad Hafidlul Qolbi
NIM : 220605110063
Kelas : A
Mata Kuliah : Linear Algebra
Dosen Pengampuh : Prof. Dr. Suhartono, M.Kom
Jurusan : Teknik Informatika
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
===========================================================================================
Pada percobaan kali ini yaitu tentang pembuatan suatu grafik dari operasi matriks. Berikut ini adalah library yang digunakan
library(mvtnorm)
library(ggplot2)
library(matlib)
sigma <- matrix(c(4,2,2,3), ncol = 2, nrow = 2)
mu <- c(1, 2)
n <- 1000
Fungsi set.seed() menetapkan seed, yang merupakan nilai untuk mulai menghasilkanbilangan acak. Fungsi set.seed() mengatur ulang nilai dari bilangan acakangka acak dan fungsi acak dari nilai yang telah diperoleh sebelumnya. Kita menetapkanseed untuk mereproduksi hasil yang sama. Jika kita menetapkan seed yang sama, makakita dapat mereproduksi angka acak yang sama:
set.seed(123)
x <- rmvnorm(n = n, mean = mu, sigma = sigma)
d <- data.frame(x)
p2 <- ggplot(d, aes(x = X1, y = X2)) +
geom_point(alpha = .5) +
geom_density_2d()
p2
y <- x - mu
E <- eigen(sigma)
E$vectors
## [,1] [,2]
## [1,] -0.7882054 0.6154122
## [2,] -0.6154122 -0.7882054
Vektor eigen dari matriks sigma disimpan dalam vektor E$ dalam bentukdari sebuah matriks. Setiap vektor kolom adalah vektor eigen.Kemudian kita ambil perkalian matriks, kumpulan data yang disimpan sebagai matriks 10000 × 2dikalikan dengan matriks 2 × 2, transpose dari kebalikan darimatriks E. Kebalikan dari sebuah matriks akan dibahas di bagian selanjutnya.
y <- y %*% t(inv(E$vectors))
Seperti yang telah kita lakukan untuk kumpulan data x, kita menetapkan data ini sebagai “bingkai data” menggunakan fungsi fungsi data.frame():
dd <- data.frame(y)
p3 <- ggplot(dd, aes(x = X1, y = X2)) +
geom_point(alpha = .5) +
geom_density_2d()
p3
Sumber Referensi: Ruriko Yoshida - Linear Algebra and its Application with R