Gauss.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /**
  2. * @author (Jakob Kienegger)
  3. * @version (29.04.19)
  4. */
  5. public class Gauss
  6. {
  7. private int zeilenZahl;
  8. private int spaltenZahl;
  9. private double multi;
  10. private double zahl;
  11. public Element[][] matrix;
  12. /**
  13. * Constructor for objects of class Gauss
  14. */
  15. public Gauss(int zeilenZahl, int spaltenZahl)
  16. {
  17. this.zeilenZahl = zeilenZahl;
  18. this.spaltenZahl = spaltenZahl;
  19. }
  20. public void zeileMulti(int zeile)
  21. {
  22. for(int i=0; i<spaltenZahl; i++)
  23. {
  24. matrix[zeile][i].multiZahl(this.multi);
  25. }
  26. }
  27. public void zeilenAddition(int zeileStatic, int zeileChange)
  28. {
  29. for(int i=0; i<spaltenZahl; i++)
  30. {
  31. this.zahl = matrix[zeileChange][i].gibZahl() - matrix[zeileStatic][i].gibZahl();
  32. matrix[zeileChange][i].changeZahl(this.zahl);
  33. }
  34. }
  35. public void gaussAlgorithmus(int zeilenZahl, int spaltenZahl)
  36. {
  37. for(int i=0; i<zeilenZahl; i++)
  38. {
  39. this.multi = 1/(matrix[i][i].gibZahl());
  40. for(int k=0; k<zeilenZahl; k++)
  41. {
  42. zeileMulti(k);
  43. }
  44. for(int j=0; j<i | j>i; j++)
  45. {
  46. zeilenAddition(i, j);
  47. }
  48. }
  49. }
  50. }