Adjoint
- Script :
import java.util.Scanner;
public class Adjoin {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("Masukkan jumlah baris matriks: ");
int baris = input.nextInt();
System.out.print("Masukkan jumlah kolom matriks: ");
int kolom = input.nextInt();
int [][]matrix=new int[baris][kolom];
System.out.println("Matrix A");
for(int a=0;a<baris;a++){
for(int b=0;b<kolom;b++){
System.out.print("Masukkan element baris "+ (a+1) + " kolom " + (b+1) + " = ");
matrix[a][b]=input.nextInt();
}
}
float [][]min = new float [baris][kolom];
// int m11, m12, m13, m21, m22, m23, m31, m32, m33;
min[0][0] = (matrix[1][1]*matrix[2][2]-matrix[1][2]*matrix[2][1]);
min[0][1] = -1*(matrix[1][0]*matrix[2][2]-matrix[1][2]*matrix[2][0]);
min[0][2] = (matrix[1][0]*matrix[2][1]-matrix[1][1]*matrix[2][0]);
min[1][0] = -1*(matrix[0][1]*matrix[2][2]-matrix[0][2]*matrix[2][1]);
min[1][1] = (matrix[0][0]*matrix[2][2]-matrix[0][2]*matrix[2][0]);
min[1][2] = -1*(matrix[0][0]*matrix[2][1]-matrix[0][1]*matrix[2][0]);
min[2][0] = (matrix[0][1]*matrix[1][2]-matrix[0][2]*matrix[1][1]);
min[2][1] = -1*(matrix[0][0]*matrix[1][2]-matrix[0][2]*matrix[1][0]);
min[2][2] = (matrix[0][0]*matrix[1][1]-matrix[0][1]*matrix[1][0]);
float [][]kof = new float [baris][kolom];
// proses menghitung determinan
for (int i=0; i<baris; i++) {
for (int j=0; j<kolom; j++) {
kof[i][j] = (int) Math.pow((-1), (i+1)+(j+1))*(min[i][j]);
}
}
// hitung determinan
float determinan = 0;
int bardet = 1;
determinan = (matrix[bardet-1][0])*(kof[bardet-1][0])-(matrix[bardet-1][1])*(kof[bardet-1][1])+(matrix[bardet-1][2])*(kof[bardet-1][2]);
System.out.println();
System.out.println("Hasil determinannya adalah : "+determinan);
//Proses Adjoin (Transpose dari Kofaktor)
float [][]adjoin = new float[baris][kolom];
adjoin[0][0] = min[0][0];
adjoin[0][1] = min[1][0];
adjoin[0][2] = min[2][0];
adjoin[1][0] = min[0][1];
adjoin[1][1] = min[1][1];
adjoin[1][2] = min[2][1];
adjoin[2][0] = min[0][2];
adjoin[2][1] = min[1][2];
adjoin[2][2] = min[2][2];
System.out.println();
System.out.println("Hasil adjoinnya adalah: ");
// proses menghitung invers
for (int i = 0; i < baris; i++) {
for (int j = 0; j < kolom; j++) {
System.out.print(adjoin[i][j]/determinan+"\t");
}
System.out.println();
}
}
}
- Hasil
Transformasi Elementer
- Script :
import java.util.Arrays;
import java.util.Scanner;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Agin
*/
public class Main {
/**
* @param C
* @param args the command line arguments
*/
public void calculate(int[][] C) {
double[][] M = new double[C.length][2*C.length];
for (int i = 0; i<C.length; i++) {
for (int j = 0; j<C.length; j++) {
M[i][j] = C[i][j];
}
M[i][3+i]=1;
}
for (int i = 0; i<M.length; i++) {
double p = M[i][i];
for (int j = 0; j<M[i].length; j++) {
M[i][j]/=p;
}
for (int k = i + 1; k<M.length; k++) {
p = M[k][i];
for (int j = 0; j<M[i].length; j++) {
M[k][j]-=p*M[i][j];
}
}
}
for (int i=M.length-1; i>=0; i--) {
for (int k=i-1; k>=0; k--) {
double p=M[k][i];
for (int j=0; j<M[i].length; j++) {
M[k][j] -= p*M[i][j];
}
}
}
// hasil
for (int i = 0; i < M.length; i++) {
System.out.println(Arrays.toString(M[i]));
}
}
public static void main(String[] args) {
// TODO code application logic here
Scanner input=new Scanner(System.in);
Main invers = new Main();
int [][]matrix=new int[3][3];
System.out.println("Input elemen matrix");
for(int a=0;a<3;a++){
for(int b=0;b<3;b++){
System.out.print("Masukkan element baris "+ (a+1) + " kolom " + (b+1) + " = ");
matrix[a][b]=input.nextInt();
}
}
System.out.println();
invers.calculate(matrix);
}
}
- Hasil
ConversionConversion EmoticonEmoticon