public static double[] SolEcLin(double[,] matriz)
int n = matriz.GetLength(0);
int m = matriz.GetLength(1);
for (int paso = 0; paso < n; paso++)
double noCero = matriz[paso, paso];
for (int fila = paso; fila < n; fila++)
if (matriz[fila, paso] != 0)
noCero = matriz[fila, paso];
for (int col = paso; col < m; col++)
tmp = matriz[noCeroFila, col];
matriz[noCeroFila, col] = matriz[paso, col];
for (int col = paso; col < m; col++)
matriz[paso,col] /= noCero;
for (int fila = 0; fila < n; fila++)
double c = -matriz[fila, paso];
for (int col = paso; col < m; col++)
matriz[fila, col] += c * matriz[paso, col];
double[] solucion = new double[n];
for (int i = 0; i < n; i++)
solucion[i] = matriz[i, m-1];
static double f1(double x, double y)
return Math.Pow(x,3)+Math.Pow(y,3)-4;
static double f2(double x, double y)
return Math.Exp(x)+3*x*y-1;
static double f1_x(double x, double y)
static double f1_y(double x, double y)
static double f2_x(double x, double y)
static double f2_y(double x, double y)
static void Main(string[] args)
double[,] m = new double[2,3];
while(!((f1(x0,y0)*f1(x0+error,y0+error)<0 & f2(x0,y0)*f2(x0+error,y0+error)<0) |
(f1(x0,y0+error)*f1(x0+error,y0)<0 & f2(x0,y0+error)*f2(x0+error,y0)<0) |
(f1(x0,y0)*f1(x0+error,y0+error)<0 & f2(x0,y0+error)*f2(x0+error,y0)<0) |
(f1(x0,y0+error)*f1(x0+error,y0)<0 & f2(x0,y0)*f2(x0+error,y0+error)<0)) )
m = new double[,] {{f1_x(x0,y0), f1_y(x0,y0), -f1(x0,y0)},
{f2_x(x0,y0), f2_y(x0,y0), -f2(x0,y0)}};
Console.WriteLine($"La solución es:\n x = {x0} -+ {error}\n y = {y0} +- {error}");
Console.WriteLine("-----------------------------------");
Console.WriteLine($" f1(x,y) = {f1(x0,y0)} \n f2(x,y) = {f2(x0,y0)}");