algorytm.org

Implementacja w Java

Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Metoda eliminacji Gaussa - Implementacja w Java
Ocena użytkownikóww: *****  / 1
SłabyŚwietny
Nadesłany przez Adrian Cimochowski, 04 kwietnia 2017 01:12
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

ElimGausa.java:
//Metoda Eliminacji Gaussa
//www.algorytm.org

import java.io.IOException;

public class ElimGausa {

    public static void main(String[] args) throws IOException {
    	
    	//rozmiar tablicy
        int n=3;
        
        //macierz do rozwiazania
        double macierz [][] = {{3, 1, 0}, 
                               {1, 2, -1}, 
                               {0, -1, 3}};
        
        //macierz wynikowa
        double macWyn [][] = new double [macierz.length][macierz.length];
        
        //kopiuj macierz do rozwiazania do macierzy wynikowej
        for (int i = 0; i<macierz.length; i++)
             for (int j = 0; j<macierz.length; j++)
                 macWyn[i][j]=macierz[i][j];
         
        //wektor w wynikami
        double wynik [] = {-3, 0, 0};
        
        //kopiuj wektor
        double wCopy [] = new double [wynik.length];
        for (int i=0; i<wynik.length; i++){
            wCopy[i]=wynik[i];
        }
        
        //wyswietl  macierz do rozwiazania
        for (int j = 0; j<n; j++){     
            for (int k=0; k<n; k++){ 
                System.out.print(macierz[j][k]+"\t");
            }
            System.out.println("");
        }
        System.out.println("");
        
        //Metoda Eliminacji Gaussa
        for (int i = 0; i<n-1; i++){
            for (int j = i+1; j<=n-1; j++){
                for (int k = 0; k<n; k++){
                    macWyn[j][k]=macierz[j][k]-(macierz[i][k]*(macierz[j][i]/macierz[i][i]));
                }
                
                wCopy[j]=wynik[j]-(wynik[i]*(macierz[j][i]/macierz[i][i]));                
                
                for (int ii = 0; ii<macWyn.length; ii++){
                    for (int jj = 0; jj<macWyn.length; jj++){
                        macierz[ii][jj]=macWyn[ii][jj];                        
                    }
                    wynik[ii]=wCopy[ii];
                }                
            }            
        }
        
        //Wypisanie wyniku     
        System.out.println("");        
        System.out.println("");
        for (int j = 0; j<n; j++){     
            for (int k=0; k<n; k++){ 
                System.out.print(macierz[j][k]+"\t");
            }
            System.out.println("\t"+wynik[j]);
        }
    }
}
Dodaj komentarz