private double CalculateError(double[] solution) { double[,] originalMatrix = (double[, ])OriginalMatrix.Clone(); double[] originalVector = (double[])OriginalVector.Clone(); double[] vectorToCompare = new double[TotalCases]; double max = 0; double result = 0; for (int i = 0; i < TotalCases; i++) { for (int j = 0; j < TotalCases; j++) { result += originalMatrix[i, j] * solution[j]; } vectorToCompare[i] = result; } for (int i = 0; i < TotalCases; i++) { if (Math.Abs(originalVector[i] - vectorToCompare[i]) > max) { max = Math.Abs(originalVector[i] - vectorToCompare[i]); } } return(max); }
private static void PrintOldMatrix(OriginalMatrix value) { StringBuilder builder = new StringBuilder(); for (int r = 0; r < value.Rows; r++) { builder.Clear(); builder.Append("| "); for (int c = 0; c < value.Columns; c++) { builder.Append(String.Format("{0,3}", value[r, c])).Append(" "); } builder.Append("|"); Console.WriteLine(builder.ToString()); } Console.WriteLine(); }
public static void OldCode() { OriginalMatrix matrix1 = new OriginalMatrix(new int[, ] { { 1, 2, 3 }, { 4, 5, 6 } }); Program.PrintOldMatrix(matrix1); OriginalMatrix matrix2 = new OriginalMatrix(new int[, ] { { 7, 8 }, { 9, 10 }, { 11, 12 } }); Program.PrintOldMatrix(matrix2); OriginalMatrix resultMatrix = OriginalExercise.Multiply(matrix1, matrix2); Program.PrintOldMatrix(resultMatrix); }