RE:Codigo en java para resolver matrices metodo LU
ok gracias ya tengo el algoritmo para resolver matrices por el matematicas por el metodo gauss y gauss jordan, mira el codigo casi es el mismo pero varia un poco esa es la diferencia entre el metodo gauss y el de descomposicion LU te amdo el codigo haber si me puedes ayudar.. gracias espero espuestas.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package gauss;
/**
*
* @author Ro0o0bertgr
*/
public class Main {
public static void imprimirArregloBinario(double x[][])
{ for(int i=0;i<x.length; i++)
{ String imp = "{";
for(int j=0; j<x[0].length; j++)
{ imp += " "+(x[i][j] + ",");
}
if(i==x.length-1)
imp += "}";
else
imp += "},";
System.out.println(imp);
}
}
public static void metodoGaussA(double[][]a, double[]b, int n) //Utilizando un subindice 1
{ for(int i=1; i<=n-1; i++)
{ for(int k=i+1; k<=n; k++)
{ b[k] = b[k] - ((a[k][i] / a[i][i]) * b[i]);
for(int j=i+1; j<=n+1; j++)
a[k][j] = a[k][j] - ((a[k][i] / a[i][i]) * a[i][j]);
a[k][i]=0;
}
}
}
public static void metodoGaussB(double[][]a, double[]b, int n) //Utilizando un subindice 0
{ for(int i=0; i<n-1; i++)
{ for(int k=i+1; k<n; k++)
{ b[k] = b[k] - ((a[k][i] / a[i][i]) * b[i]);
for(int j=i+1; j<n+1; j++)
a[k][j] = a[k][j] - ((a[k][i] / a[i][i]) * a[i][j]);
a[k][i]=0;
}
}
}
public static void metodoGaussJordanA(double[][]a, double[]b, int n) //Utilizando un subindice 1
{ for(int i=1; i<=n; i++)
{ for(int k=1; k<=n; k++)
{ if(k != i)
{ b[k]=b[k]-(a[k][i]/a[i][i])*b[i];
for(int j=i+1; j<=n+1; j++)
a[k][j]=a[k][j]-(a[k][i]/a[i][i])*a[i][j];
a[k][i]=0;
}
}
}
}
public static void metodoGaussJordanB(double[][]a, double[]b, int n) //Utilizando un subindice 0
{ for(int i=0; i<n; i++)
{ for(int k=0; k<n; k++)
{ if(k != i)
{ b[k]=b[k]-(a[k][i]/a[i][i])*b[i];
for(int j=i+1; j<n+1; j++)
a[k][j]=a[k][j]-(a[k][i]/a[i][i])*a[i][j];
a[k][i]=0;
}
}
}
}
public static void sustitucionRegresiva(int n)
{ double[] x={};
double suma=0;
x[n] = B[n] / A[n][n];
for(int i=n-1; i<=1; i++)
{ suma++;
}
}
public static double A[][] =
{
{2, 3,-7,-1},
{3, 4,-6, 5},
{5,-2, 4,-7},
};
public static double B[] = {0,-1,5,-7};
public static double C[][] =
{
{2, 3,-7,-1},
{3, 4,-6, 5},
{5,-2, 4,-7},
};
public static double D[] = {0,-1,5,-7};
public static void main(String[] args)
{ int n=3;
metodoGaussB(A, B, n);
metodoGaussJordanB(C, D, n);
System.out.println("Gauss con Indice 1: ");
imprimirArregloBinario(A);
System.out.println("
Gauss-Jordan con Indice 1: ");
imprimirArregloBinario(C);
}
}