J'ai soumis un devoir scolaire, j'ai donc enregistré le code sous forme d'article.
La méthode essentielle d'élimination de Pivot Gauss et le code de la méthode d'élimination de Gauss sont des articles séparés.
conditions:
・ Résolvez ʻax = b. ・ ʻA
est une matrice aléatoire de 500 * 500 (composantes 1 à 9)
・ Les 2 normes de (b-ax)
sont jetées dans ʻerr1 (Gauss) , ʻerr2 (Pivot Gauss)
comme une erreur.
・ La langue est Java.
Toute la source
public static void main(String[] args) {
//TODO talon de méthode généré automatiquement
long t0;
long time;
int n =500;
int m=100;
double [][]a =new double[n][n];
double []b =new double[n];
double []x1 =new double[n];
double []x2 =new double[n];
double err1=0.0;
// double []err2 =new double[n];
// double []err1 = new double[n];
double err2 =0.0;
//Problème err1
t0 = System.currentTimeMillis();
for(int s=0;s<m;s++){
for(int j=0;j<n;j++){
for(int i=0;i<n;i++){
a[i][j]=Math.abs((Math.random()));
b[i] =Math.abs((Math.random()));
}
}
x1 =Calc.Gauss(a, b);
err1 = Calc.vecNorm2(Calc.subVec(b,Calc.matVec(a, x1)));
x2 =Calc.pivotGauss(a, b);
err2 =Calc.vecNorm2(Calc.subVec(b,Calc.matVec(a, x2)));
System.out.println(err1);
System.out.println(err2);
//System.out.println("\n"+err2);
}
//System.out.println(Math.abs((Math.random())));
time = System.currentTimeMillis()-t0;
System.out.println("\n Temps de traitement:"+time);
//Calc.printVec2(err1);
}
Recommended Posts