Gauss Jordon Yönetimi ile İnvers Matris ve Problem Cözümü


Main classimiz programi run edecegimiz kisim
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
   Scanner klavye=new Scanner(System.in);
     System.out.println("lutfen matrisin satir sayisini giriniz");
        int str=klavye.nextInt();
        System.out.println("lutfen matrisin sutun sayisini giriniz");
        int stn=klavye.nextInt()+str;
       double Array[][]=new double [str][stn];
        GausJordonYontemi yontem=new  GausJordonYontemi(str,stn);
       //matris olustur
      for(int i=0;i<str;i++){
      for(int j=0;j<stn;j++){
        if(j<stn-1){
         System.out.println("matris degeri gir ");
      Array[i][j]= klavye.nextInt();
        }else{
            System.out.println("sonuc degerleri gir");
            Array[i][j]= klavye.nextInt();
        }

      }
      }
      yontem.yazdir(Array);
      yontem.esolanformdonusumu(Array);
     System.out.println("---------------");
      yontem.altucgensel(Array);
      System.out.println("---------------");
          yontem.yazdir(Array);
        System.out.println("inverst matrisimiz");
          yontem.sonuc2(Array);
}
  }
Bu kisim gauss jordon yondemi ile tersine ve n bilinmiyenli problemin gauss jordon invers yöntemiyle cözüldügü kisim
public class GausJordonYontemi {
  int str;
    int stn;
public GausJordonYontemi(int str,int stn){

    this.stn=stn;
    this.str=str;



}
 public void esolanformdonusumu(double Array[][]){
   double temp;

     for(int i=0;i<str;i++){
        temp=Array[i][i];
     for(int j=i;j<stn;j++){
            Array[i][j]=(Array[i][j]/temp);
            System.out.println("-------------");
            yazdir(Array);}
            for(int k=i+1;k<str;k++){
                temp=-1*Array[k][i];
           for(int t=i;t<stn;t++){
                Array[k][t]=Array[k][t]+(Array[i][t]*temp);
            }   System.out.println("-------------");
            yazdir(Array); }
 System.out.println("-------------");
            yazdir(Array);
    }}

     public  void altucgensel(double dizi [][]){
     double temp;

              for(int i= dizi.length-2;i>=0;i--){
                  for(int j=i+1;j<dizi.length;j++){
            temp=-1*dizi[i][j];
dizi[i][j]= dizi[i][j]+ temp;
                 for(int k=dizi.length;k<dizi[0].length;k++){
                dizi[i][k]=dizi[i][k]+(dizi[j][k]*temp);

                      }
            }
            }
          }

 public void sonuc(double Array[][]){

double ArraySonuc[][]=new double [str][stn-str];
   
     for(int i=0;i<str;i++){
       for(int j=0;j<stn-str;j++){
      ArraySonuc[i][j]=Array[i][j+stn-str];
           }
}
for(int i=0;i<str;i++){
     for(int j=0;j<stn-str;j++){
          System.out.print( ArraySonuc[i][j]);
          System.out.print(" ");
      }System.out.println(" ");
      }
 


 }
  public void sonuc2(double Array[][]){

double ArraySonuc[]=new double [str];
      ArraySonuc[str-1]=Array[str-1][stn-1];
     for(int i=str-2;i>=0;i--){
      ArraySonuc[i]=Array[i][stn-1];
      }
    System.out.println("sirasiyla X bilinmeyen degerleri=");
   for(int i=0;i<str;i++)
         System.out.println(ArraySonuc[i]);

 }
 public  void yazdir(double Array[][]){
     for(int i=0;i<str;i++){
     for(int j=0;j<stn;j++){
          System.out.print(Array[i][j]);
          System.out.print(" ");
      }System.out.println(" ");
      }
}
}

Yorumlar

Bu blogdaki popüler yayınlar

DevExpress TreeList Kullanımı

Devexpress GridControl SimpleButon Ekleme

DevExpress LookupEdit Veri Gösterimi