public void GaussPartialPivotTimeTest(int numberOfAgents, int count) { MatrixGenerator mg = new MatrixGenerator(numberOfAgents); MyMatrix <double> macierz = new MyMatrix <double>(mg.size, mg.size); MyMatrix <double> macierzKopia = new MyMatrix <double>(mg.size, mg.size); double[] wektor = new double[mg.size]; double[] wektorKopia = new double[mg.size]; //przygotowanie macierzy i wektorów macierz = mg.GenerateMatrix(); macierzKopia = mg.GenerateMatrix(); wektor = GenerateVector(mg.size); wektorKopia = GenerateVector(mg.size); //liczenie czasu double[] czasy = new double[count]; double suma = 0.0; double srednia = 0.0; for (int i = 0; i < count; i++) { var watchDouble = Stopwatch.StartNew(); macierz.GaussPartialPivot(wektor); watchDouble.Stop(); var elapsedMsDouble = watchDouble.ElapsedMilliseconds; czasy[i] = elapsedMsDouble; for (var j = 0; j < macierz.Rows(); j++) { for (var k = 0; k < macierz.Columns(); k++) { macierz[j, k] = macierzKopia[j, k]; wektor[j] = wektorKopia[j]; } } suma += czasy[i]; } srednia = suma / count; StreamWriter writer = new StreamWriter("CzasGaussPartialPivot.csv", append: true); if (writer != null) { writer.WriteLine(srednia); } writer.Close(); Console.WriteLine("Średni czas GaussPartialPivot" + ": " + srednia + "ms"); }
public MyMatrix <double> GenerateMatrix() { MyMatrix <double> macierz = new MyMatrix <double>(size, size); for (int i = 0; i < macierz.Rows(); i++) { for (int j = 0; j < macierz.Columns(); j++) { macierz[i, j] = GenerateValue(i, j); //generate value } } return(macierz); }