public MatrixMethod MatrixMultiplication(MatrixMethod matrixB) { if (size != matrixB.size) { MessageBox.Show("Неверное кол-во сток в матрицах!"); return(null); } Normal matrixC = new Normal(size, false); matrixC.StopWatchReset(); matrixC.sw.Start(); for (var i = 0; i < size; i++) { for (var j = 0; j < size; j++) { matrixC.Fulldata[i, j] = 0; for (var k = 0; k < size; k++) { matrixC.Fulldata[i, j] += this.ReadFromMatrix(i, k) * matrixB.ReadFromMatrix(k, j); } } } matrixC.sw.Stop(); return(matrixC); }
public virtual MatrixMethod Subtract(MatrixMethod matrixB) { if (size != matrixB.size) { MessageBox.Show("Неверное кол-во сток в матрицах!"); return(null); } sw.Start(); Normal matrixC = new Normal(size, false); matrixC.StopWatchReset(); for (var i = 0; i < size; i++) { for (var j = 0; j < size; j++) { matrixC.Fulldata[i, j] = this.ReadFromMatrix(i, j) - matrixB.ReadFromMatrix(i, j); } } sw.Stop(); return(matrixC); }