Documentos de Académico
Documentos de Profesional
Documentos de Cultura
using System;
//Autora :: Daniela Rodriguez
namespace Metodos
{
class MetodosNumericos
{
public static System.Collections.ArrayList arr = new
System.Collections.ArrayList();
static void Main(string[] args)
{
double[,] a = new double[,] { { 2, 2, 3, 2 }, { 0, 2, 0, 1 }, { 4, -3,
0, 1 }, { 6, 1, -6, -5 } };
double[] b = { -2, 0, -7, 6 };
double[,] ab = MetodosNumericos.eliminacionGauss(b,a);
MetodosNumericos.print(ab);
}
public static double[,] eliminacionGauss(double[] b, double[,] a)
{
int n = a.Length;
double[,] ab = MetodosNumericos.matrizAumentada(a, b);
for (int k = 0; k < n - 1; k++)
{
for (int i = k + 1; i < n; i++)
{
double multiplicador = ab[i, k] / ab[k, k];
MetodosNumericos.arr.Add(multiplicador);
for (int j = k; j < n + 1; j++)
{
ab[i, j] = ab[i, j] - multiplicador * ab[k, j];
}
}
}
return ab;
}
public static void print(double[,] ab)
{
foreach (double num in ab)
{
Console.WriteLine(num + "\t");
}
Console.WriteLine("\n");
Console.WriteLine("Multiplicadores" + arr);
}
public static double[,] matrizAumentada(double[,] a, double[] b)
{
int n = a.Length;
double[,] ab = new double[n,n + 1];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n + 1; j++)
{
if (j == n)
{
ab[i,j] = b[i];
}
else
{
ab[i,j] = a[i,j];
}
}
}
return ab;
}
}
}