Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package MNumeryczne;
- import Jama.*;
- public class Main {
- public static Matrix to_L(Matrix A, int n) {
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < i; j++) {
- A.set(j,i,0);
- }
- }
- return A;
- }
- public static Matrix to_I(int n){
- Matrix A = new Matrix(n,n);
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- if(i == j){
- A.set(i,j,1);
- }else{
- A.set(i,j,0);
- }
- }
- }
- return A;
- }
- public static void sprawdzenie(Matrix A, Matrix B, Matrix X){
- double wynik = 0;
- Matrix zmienna = A.times(X);
- B = zmienna.minus(zmienna);
- wynik = B.norm2();
- System.out.println(wynik);
- }
- public static Matrix count(Matrix A, Matrix B, Matrix X, int n, int kolumna){
- double x = 0;
- double suma = 0;
- for(int i = 0; i<n; i++){
- suma = 0;
- for(int j = 0; j <= (i-1);j++){
- suma = suma + (X.get(j, kolumna) * A.get(i,j));
- }
- x = (B.get(i, kolumna) - suma)/A.get(i,i);
- X.set(i,kolumna,x);
- }
- return X;
- }
- public static void main(String[] args) {
- int n = 10;
- Matrix A = Matrix.random(n, n);
- A = to_L(A, n);
- System.out.println("A: ");
- A.print(5, 3);
- Matrix B = Matrix.random(n,n);
- System.out.println("B: ");
- B.print(5,3);
- Matrix X = new Matrix(n,n);
- System.out.println("X: ");
- X.print(5,3);
- int kolumna = 0;
- for(int i = 0; i<n;i++){
- kolumna = i;
- X = count(A,B,X,n,kolumna);
- }
- System.out.println("X: ");
- X.print(5,3);
- sprawdzenie(A,B,X);
- Matrix I = to_I(n);
- System.out.println("I: ");
- I.print(5,2);
- Matrix A_1 = new Matrix(n,n);
- for(int i = 0;i<n;i++){
- A_1 = count(A,I,A_1,n,i);
- }
- System.out.println("A_1: ");
- A_1.print(5,3);
- Matrix sprawdzenie = A.times(A_1);
- System.out.println("sprawdzenie: ");
- sprawdzenie.print(5,3);
- sprawdzenie(A,A_1,I);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement