Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static class MetodaGaussa
- {
- public static int ObliczanieMetodaGaussa(double[,] A, double[] B, double[] X)
- {
- //Wybór Elementu Głównego
- double T, ZS, MA;
- int k, i, j, N;
- N = A.GetLength(0) - 1;
- for (i = 1; i <= N; i++)
- {
- T = Math.Abs(A[i, i]); k = i;
- for (j = i + 1; j <= N; j++)
- {
- MA = Math.Abs(A[j, i]);
- if (MA > T)
- {
- T = MA;
- k = j;
- }
- }
- ZS = B[k];
- B[k] = B[i];
- B[i] = ZS;
- for (j = N; j >= 1; j--)
- {
- ZS = A[k, j];
- A[k, j] = A[i, j];
- A[i, j] = ZS;
- }
- }
- //Przekształcenie Macierzy
- double m;
- for (i = 1; i <= N; i++)
- {
- for (j = i + 1; j <= N; j++)
- {
- m = A[j, i] / A[i, i];
- B[j] -= B[i] * m;
- for (k = 1; k <= N; k++)
- A[j, k] -= A[i, k] * m;
- }
- }
- //Metoda Eliminacji Wstecznej
- double Z;
- for (i = N; i >= 1; i--)
- {
- Z = B[i];
- for (j = i + 1; j <= N; j++)
- Z -= A[i, j] * X[j];
- X[i] = Z / A[i, i];
- }
- for (j = 1; j <= B.GetLength(0) - 1; j++)
- {
- }
- return 0;
- }
- public static void ObliczanieMetodaGaussa(Complex[,] AZ, Complex[] BZ, Complex[] XZ)
- {
- //Wybór Elementu Głównego
- Complex T, ZS, MA;
- int k, i, j, N;
- N = AZ.GetLength(0) - 1;
- for (i = 1; i <= N; i++)
- {
- T = Complex.Abs(AZ[i, i]); k = i;
- for (j = i + 1; j <= N; j++)
- {
- MA = AZ[j, i];
- if (Complex.Abs(MA) > Complex.Abs(T))
- {
- T = MA;
- k = j;
- }
- }
- ZS = BZ[k];
- BZ[k] = BZ[i];
- BZ[i] = ZS;
- for (j = N; j >= 1; j--)
- {
- ZS = AZ[k, j];
- AZ[k, j] = AZ[i, j];
- AZ[i, j] = ZS;
- }
- }
- //Przekształcenie Macierzy
- Complex m;
- for (i = 1; i <= N; i++)
- {
- for (j = i + 1; j <= N; j++)
- {
- m = AZ[j, i] / AZ[i, i];
- BZ[j] -= BZ[i] * m;
- for (k = 1; k <= N; k++)
- AZ[j, k] -= AZ[i, k] * m;
- }
- }
- //Metoda Eliminacji Wstecznej
- Complex ZZ;
- for (i = N; i >= 1; i--)
- {
- ZZ = BZ[i];
- for (j = i + 1; j <= N; j++)
- ZZ -= AZ[i, j] * XZ[j];
- XZ[i] = ZZ / AZ[i, i];
- }
- for (j = 1; j <= BZ.GetLength(0) - 1; j++)
- {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement