Advertisement
Guest User

Zadanie 3 MN

a guest
Dec 9th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.32 KB | None | 0 0
  1. package MNumeryczne;
  2.  
  3. import Jama.*;
  4.  
  5. public class Main {
  6.  
  7.     public static Matrix to_L(Matrix A, int n) {
  8.         for (int i = 0; i < n; i++) {
  9.             for (int j = 0; j < i; j++) {
  10.                 A.set(j,i,0);
  11.             }
  12.         }
  13.         return A;
  14.     }
  15.  
  16.     public static Matrix to_I(int n){
  17.         Matrix A = new Matrix(n,n);
  18.         for (int i = 0; i < n; i++) {
  19.             for (int j = 0; j < n; j++) {
  20.                 if(i == j){
  21.                     A.set(i,j,1);
  22.                 }else{
  23.                     A.set(i,j,0);
  24.                 }
  25.             }
  26.         }
  27.         return A;
  28.     }
  29.  
  30.     public static void sprawdzenie(Matrix A, Matrix B, Matrix X){
  31.         double wynik = 0;
  32.         Matrix zmienna = A.times(X);
  33.         B = zmienna.minus(zmienna);
  34.         wynik = B.norm2();
  35.         System.out.println(wynik);
  36.     }
  37.  
  38.     public static Matrix count(Matrix A, Matrix B, Matrix X, int n, int kolumna){
  39.         double x = 0;
  40.         double suma = 0;
  41.         for(int i = 0; i<n; i++){
  42.             suma = 0;
  43.             for(int j = 0; j <= (i-1);j++){
  44.                 suma = suma + (X.get(j, kolumna) * A.get(i,j));
  45.             }
  46.             x = (B.get(i, kolumna) - suma)/A.get(i,i);
  47.             X.set(i,kolumna,x);
  48.         }
  49.         return X;
  50.     }
  51.  
  52.     public static void main(String[] args) {
  53.         int n = 10;
  54.         Matrix A = Matrix.random(n, n);
  55.         A = to_L(A, n);
  56.         System.out.println("A: ");
  57.         A.print(5, 3);
  58.         Matrix B = Matrix.random(n,n);
  59.         System.out.println("B: ");
  60.         B.print(5,3);
  61.         Matrix X = new Matrix(n,n);
  62.         System.out.println("X: ");
  63.         X.print(5,3);
  64.         int kolumna = 0;
  65.         for(int i = 0; i<n;i++){
  66.             kolumna = i;
  67.             X = count(A,B,X,n,kolumna);
  68.         }
  69.         System.out.println("X: ");
  70.         X.print(5,3);
  71.         sprawdzenie(A,B,X);
  72.         Matrix I = to_I(n);
  73.         System.out.println("I: ");
  74.         I.print(5,2);
  75.         Matrix A_1 = new Matrix(n,n);
  76.         for(int i = 0;i<n;i++){
  77.             A_1 = count(A,I,A_1,n,i);
  78.         }
  79.         System.out.println("A_1: ");
  80.         A_1.print(5,3);
  81.         Matrix sprawdzenie = A.times(A_1);
  82.         System.out.println("sprawdzenie: ");
  83.         sprawdzenie.print(5,3);
  84.         sprawdzenie(A,A_1,I);
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement