Está en la página 1de 1

public bool EliminacionGaussiana(double[,] A, double[] b)

{
double t, s;
int i, l, j, k, m, n;

try
{
n = b.Length - 1;
m = n + 1;
for (l = 0; l <= n - 1; l++)
{
j = l;
for (k = l + 1; k <= n; k++)
{
if (!(Math.Abs(A[j, l]) >= Math.Abs(A[k, l]))) j = k;
}

for (j = l + 1; j <= n; j++)


{
t = (A[j, l] / A[l, l]);
for (i = 0; i <= m; i++) A[j, i] -= t * A[l, i];
}
sb.Clear();

etapa++;
sb.AppendLine("Etapa " + etapa);
richTextBox1.Text = (richTextBox1.Text + sb.ToString());
impMatriz(A);
}
b[n] = A[n, m] / A[n, n];
for (i = 0; i <= n - 1; i++)
{
j = n - i - 1;
s = 0;
for (l = 0; l <= i; l++)
{
k = j + l + 1;
s += A[j, k] * b[k];
}
b[j] = ((A[j, m] - s) / A[j, j]);
}

sb.Clear();
impResultados(b);
return true;
}
catch
{

return false;
}
}