private void subMatrixExecute() { try { MatrixA.SaveElements(); MatrixB.SaveElements(); Matrix result = MatrixA.matrix - MatrixB.matrix; MatrixC = new MatrixVM("C", result); } catch (Exception e) { MessageBox.Show(e.Message); } }
/*========================================================================== * Function: ToDiscreteTimeSystem * Arguments: double * Returns: One DTModel */ public DTModel ToDiscreteTimeSystem(double ts) { // Define local variable double[,] newMatrixA = new double[MatrixA.GetLength(1), MatrixA.GetLength(0)]; double[,] newMatrixB = new double[MatrixB.GetLength(1), MatrixB.GetLength(0)]; double[,] newMatrixC = new double[MatrixC.GetLength(1), MatrixC.GetLength(0)]; double[,] newMatrixD = new double[MatrixD.GetLength(1), MatrixD.GetLength(0)]; // Calculate matrix exponetial to obtain new matrix // Update newMatrixA, newMatrixB, newMatrixC, newMatrixD // Create a discrete time system DTModel dtSystem = new DTModel(newMatrixA, newMatrixB, newMatrixC, newMatrixD, ts); Console.WriteLine("CT system is transfered to DT system!!"); // Return discrete time system return(dtSystem); }