PML PRAK Pert2
PROFIL
Ghonniyu Hiban Saputra G1401221012
CONTOH SOAL
Soal 1
#Definisi Matriks
A <- matrix(c(2, -3, 1, 1, 2, 0, -1, 6, 1), nrow=3, ncol=3, byrow=TRUE)
mu <- c(1,3,2)
sigma_kuadrat <- 4
V <- diag(3) * sigma_kuadrat
# Menghitung E{y'Ay}
trace_AV <- sum(diag(A%*%V))
mu_A_mu <- t(mu)%*% A %*% mu
E_y_A_y <- trace_AV+mu_A_mu
E_y_A_y
## [,1]
## [1,] 74
Soal 2
#Definisikan vektor-vektor
x1 <- c(1, 1, - 1, - 1)
x2 <- c(1, - 1, 1, - 1)
x3 <- c(1, 1, 1, 1)
# Mengecek apakah x1 dan 2 ortogonal
ortogonal_x1_x2 <- sum(x1*x2) == 0
ortogonal_x1_x3 <- sum(x1*x3) == 0
ortogonal_x2_x3 <- sum(x2*x3) == 0
# Mengecek apakah panjang vektor adalah 1 (ortonormal)
norm_x1 <- sqrt(sum(x1^2))
norm_x2 <- sqrt(sum(x2^2))
norm_x3 <- sqrt(sum(x3^2))
#Mengecek apakah himpunan x1, x2, x3) ortonormal
is_ortonormal <- ortogonal_x1_x2 && ortogonal_x1_x3 && ortogonal_x2_x3 && norm_x1 == 1 && norm_x2 ==1 && norm_x3 == 1
is_ortonormal
## [1] FALSE
## [1] 0.5
Soal 3
# Definisikan beberapa matriks A, B, C, D
A <- matrix(c(2, -1, -1, 2), nrow = 2, byrow = TRUE)
B <- matrix(c(1, 1, 1, 2), nrow = 2, byrow = TRUE)
C <- matrix(c(2, 2, 2, 2), nrow = 2, byrow = TRUE)
D <- matrix(c(0, -1, -1, 0), nrow = 2, byrow = TRUE)
# Fungsi untuk mengecek sifat definit dari suatu matriks
check_definit <- function(mat) {
eigen_values <- eigen (mat)$values
if (all(eigen_values > 0)) {
return("Definit Positif")
} else if (all (eigen_values >= 0)) {
return("Semi-Definit Positif")
} else {
return("Indefinit")
}
}
# Mengecek sifat definit dari masing-masing matriks
result_A <- check_definit(A)
result_B <- check_definit(B)
result_C <- check_definit(C)
result_D <- check_definit(D)
result_A
## [1] "Definit Positif"
## [1] "Definit Positif"
## [1] "Semi-Definit Positif"
## [1] "Indefinit"
LATIHAN SOAL
TIPE 1
1
#Definisi Matriks
A <- matrix(c(3, 1, 2, 1, 4, -2, 2, -2, 5), nrow=3, ncol=3, byrow=TRUE)
mu <- c(2,1,4)
sigma_kuadrat <- 9
V <- diag(3) * sigma_kuadrat
# Menghitung E{y'Ay}
trace_AV <- sum(diag(A%*%V))
mu_A_mu <- t(mu)%*% A %*% mu
E_y_A_y <- trace_AV+mu_A_mu
E_y_A_y
## [,1]
## [1,] 224
2
#Definisi Matriks
A <- matrix(c(4, 2, -1, 2, 3, 0, -1, 0, 1), nrow=3, ncol=3, byrow=TRUE)
mu <- c(0,-1,3)
sigma_kuadrat <- 16
V <- diag(3) * sigma_kuadrat
# Menghitung E{y'Ay}
trace_AV <- sum(diag(A%*%V))
mu_A_mu <- t(mu)%*% A %*% mu
E_y_A_y <- trace_AV+mu_A_mu
E_y_A_y
## [,1]
## [1,] 140
TIPE 2
5
#Definisikan vektor-vektor
x1 <- c(2,2,-2,-2)
x2 <- c(1,-1,1,-1)
x3 <- c(1, 1, 1, 1)
# Mengecek apakah x1 dan 2 ortogonal
ortogonal_x1_x2 <- sum(x1*x2) == 0
ortogonal_x1_x3 <- sum(x1*x3) == 0
ortogonal_x2_x3 <- sum(x2*x3) == 0
# Mengecek apakah panjang vektor adalah 1 (ortonormal)
norm_x1 <- sqrt(sum(x1^2))
norm_x2 <- sqrt(sum(x2^2))
norm_x3 <- sqrt(sum(x3^2))
#Mengecek apakah himpunan x1, x2, x3) ortonormal
is_ortonormal <- ortogonal_x1_x2 && ortogonal_x1_x3 && ortogonal_x2_x3 && norm_x1 == 1 && norm_x2 ==1 && norm_x3 == 1
is_ortonormal
## [1] FALSE
#Jika tidak ortonormal, hitung nilai c agar {cx1,cx2,cx3} ortonormal
c_value_x1 <- 1/norm_x1
c_value_x1
## [1] 0.25
## [1] 0.5
## [1] 0.5
6
#Definisikan vektor-vektor
x1 <- c(1,0,-1,0)
x2 <- c(0,1,0,-1)
x3 <- c(1, 1, 1, 1)
# Mengecek apakah x1 dan 2 ortogonal
ortogonal_x1_x2 <- sum(x1*x2) == 0
ortogonal_x1_x3 <- sum(x1*x3) == 0
ortogonal_x2_x3 <- sum(x2*x3) == 0
# Mengecek apakah panjang vektor adalah 1 (ortonormal)
norm_x1 <- sqrt(sum(x1^2))
norm_x2 <- sqrt(sum(x2^2))
norm_x3 <- sqrt(sum(x3^2))
#Mengecek apakah himpunan x1, x2, x3) ortonormal
is_ortonormal <- ortogonal_x1_x2 && ortogonal_x1_x3 && ortogonal_x2_x3 && norm_x1 == 1 && norm_x2 ==1 && norm_x3 == 1
is_ortonormal
## [1] FALSE
#Jika tidak ortonormal, hitung nilai c agar {cx1,cx2,cx3} ortonormal
c_value_x1 <- 1/norm_x1
c_value_x1
## [1] 0.7071068
## [1] 0.7071068
## [1] 0.5
7
#Definisikan vektor-vektor
x1 <- c(3,1,-1,-3)
x2 <- c(2,-2,2,-2)
x3 <- c(1, 1, 1, 1)
# Mengecek apakah x1 dan 2 ortogonal
ortogonal_x1_x2 <- sum(x1*x2) == 0
ortogonal_x1_x3 <- sum(x1*x3) == 0
ortogonal_x2_x3 <- sum(x2*x3) == 0
# Mengecek apakah panjang vektor adalah 1 (ortonormal)
norm_x1 <- sqrt(sum(x1^2))
norm_x2 <- sqrt(sum(x2^2))
norm_x3 <- sqrt(sum(x3^2))
#Mengecek apakah himpunan x1, x2, x3) ortonormal
is_ortonormal <- ortogonal_x1_x2 && ortogonal_x1_x3 && ortogonal_x2_x3 && norm_x1 == 1 && norm_x2 ==1 && norm_x3 == 1
is_ortonormal
## [1] FALSE
#Jika tidak ortonormal, hitung nilai c agar {cx1,cx2,cx3} ortonormal
c_value_x1 <- 1/norm_x1
c_value_x1
## [1] 0.2236068
## [1] 0.25
## [1] 0.5
TIPE 3
8
# Definisikan beberapa matriks A, B, C, D
A <- matrix(c(6,2,-1,2,5,3,-1,3,7), nrow = 3, byrow = TRUE)
B <- matrix(c(2,-1,0,-1,3,1,0,1,4), nrow = 3, byrow = TRUE)
C <- matrix(c(1,1,1,1,2,2,1,2,3), nrow = 3, byrow = TRUE)
# Fungsi untuk mengecek sifat definit dari suatu matriks
check_definit <- function(mat) {
eigen_values <- eigen (mat)$values
if (all(eigen_values > 0)) {
return("Definit Positif")
} else if (all (eigen_values >= 0)) {
return("Semi-Definit Positif")
} else {
return("Indefinit")
}
}
# Mengecek sifat definit dari masing-masing matriks
result_A <- check_definit(A)
result_B <- check_definit(B)
result_C <- check_definit(C)
result_A
## [1] "Definit Positif"
## [1] "Definit Positif"
## [1] "Definit Positif"
9
# Definisikan beberapa matriks A, B, C, D
A <- matrix(c(4,-2,1,-2,3,0,1,0,2), nrow = 3, byrow = TRUE)
B <- matrix(c(3,0,0,0,2,-2,0,-2,1), nrow = 3, byrow = TRUE)
C <- matrix(c(2,2,1,2,5,4,1,4,6), nrow = 3, byrow = TRUE)
# Fungsi untuk mengecek sifat definit dari suatu matriks
check_definit <- function(mat) {
eigen_values <- eigen (mat)$values
if (all(eigen_values > 0)) {
return("Definit Positif")
} else if (all (eigen_values >= 0)) {
return("Semi-Definit Positif")
} else {
return("Indefinit")
}
}
# Mengecek sifat definit dari masing-masing matriks
result_A <- check_definit(A)
result_B <- check_definit(B)
result_C <- check_definit(C)
result_A
## [1] "Definit Positif"
## [1] "Indefinit"
## [1] "Definit Positif"
10
# Definisikan beberapa matriks A, B, C, D
A <- matrix(c(7,-4,2,-4,8,-3,2,-3,6), nrow = 3, byrow = TRUE)
B <- matrix(c(5,1,0,1,4,2,0,2,3), nrow = 3, byrow = TRUE)
C <- matrix(c(1,2,1,2,1,2,1,2,3), nrow = 3, byrow = TRUE)
# Fungsi untuk mengecek sifat definit dari suatu matriks
check_definit <- function(mat) {
eigen_values <- eigen (mat)$values
if (all(eigen_values > 0)) {
return("Definit Positif")
} else if (all (eigen_values >= 0)) {
return("Semi-Definit Positif")
} else {
return("Indefinit")
}
}
# Mengecek sifat definit dari masing-masing matriks
result_A <- check_definit(A)
result_B <- check_definit(B)
result_C <- check_definit(C)
result_A
## [1] "Definit Positif"
## [1] "Definit Positif"
## [1] "Indefinit"