Sayısal Yöntemler Gauss Siedel Cözüm Yöntemi

 Gauss Siedel problem cözme yönteminin java programlama dilinde kodlanması.



package gausssiedelcozumyontemi;
import java.util.Scanner;
public class GaussSiedel {
    int str;
    int stn;
    int sayac = 0;
    double ArrayTemp[];
 
    double C[][];
    public GaussSiedel(int str, int stn) {
        this.str = str;
        this.stn = stn;
        ArrayTemp= new double[str];
 C = new double[str][stn];
    }
    public void GaussSiedell(double ArraySonuc[], double Array[][]) {
        double toplam = 0;double toplam2=0;
        ArrayTemp = ArraySonuc;
         for (int i = 0; i < str; i++) {
            for (int j = 0; j <= str-1; j++) {
                toplam += (Array[i][j] * ArraySonuc[j]);
            }
            for (int j = i+1; j <str-1 ; j++) {
                toplam2 += (Array[i][j] * ArrayTemp[j]) ;
            }
  ArraySonuc[i] = ((Array[i][stn - 1]) - (toplam+toplam2)) / Array[i][i];
         toplam2=0;
        toplam=0;
           
           
      
        }
        iterasyon(ArraySonuc, ArrayTemp,Array);
    }
    public void iterasyon(double ArraySonuc[], double ArrayTemp[],double Array[][]) {
 double temp;
   for (int i = 0; i < str; i++) {
           temp= Math.abs((ArraySonuc[i] - ArrayTemp[i])/ArraySonuc[i] );
            temp = temp % 100;
          
            if (temp <= 0.00001) {
                sayac++;
            }
           }
if (sayac != str) {
            sayac = 0;
         GaussSiedell(ArraySonuc,Array);
       
           
        } else {System.out.println("işlem bitti.Sonuc degerlerimiz");
            for (int i = 0; i < str; i++) {
                System.out.println(ArraySonuc[i]);
               
            } }
    }
    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() + 1;
        double Array[][] = new double[str][stn];
       GaussSiedel yontem = new GaussSiedel(str, stn);
        //matris olustur
      for(int i=0;i<str;i++){
      for(int j=0;j<stn;j++){
       
         System.out.println("matris degeri gir ");
      Array[i][j]= klavye.nextDouble();
      
        }
    
    }
        double dizi[] = new double[str];
        System.out.println("X lerin ilk degerlerini giriniz...");
        for (int i = 0; i < str; i++) {
            dizi[i] = klavye.nextDouble();
        }
        yontem.GaussSiedell(dizi, Array);
    }
}

Yorumlar

Bu blogdaki popüler yayınlar

DevExpress TreeList Kullanımı

Devexpress GridControl SimpleButon Ekleme

DevExpress LookupEdit Veri Gösterimi