Beispiel #1
0
        // [TestMethod()]
        public void MSCTest()
        {
            // int winSize = 5; // TODO: 初始化为适当的值
            var target    = new MSC(); // TODO: 初始化为适当的值
            var matReader = new MatlabMatrixReader <double>(@"F:\3506\15chemometrics\RIPP_DEMO\src\RIPP\testdata\X.mat");
            var input     = matReader.ReadMatrix();


            var actual = target.Process((Matrix)input, RIPP.Lib.MathLib.VectorType.Row);
            var writer = new MatlabMatrixWriter(@"F:\3506\15chemometrics\RIPP_DEMO\src\RIPP\testdata\filter\out_msc_my.mat");

            writer.WriteMatrix <double>(actual, "dd");
            writer.Close();


            writer = new MatlabMatrixWriter(@"F:\3506\15chemometrics\RIPP_DEMO\src\RIPP\testdata\filter\out_msc_my_m.mat");
            writer.WriteMatrix <double>(target.Mean.ToRowMatrix(), "m");
            writer.Close();



            //测试按列来
            var input2  = input.Transpose();
            var target2 = new MSC();

            actual = target2.Process((Matrix)input2, RIPP.Lib.MathLib.VectorType.Column);
            writer = new MatlabMatrixWriter(@"F:\3506\15chemometrics\RIPP_DEMO\src\RIPP\testdata\filter\out_msc_myColumn.mat");
            writer.WriteMatrix <double>(actual, "dColumn");
            writer.Close();

            writer = new MatlabMatrixWriter(@"F:\3506\15chemometrics\RIPP_DEMO\src\RIPP\testdata\filter\out_msc_my_mColumn.mat");
            writer.WriteMatrix <double>(target.Mean.ToRowMatrix(), "mColumn");
            writer.Close();



            //
            var target3 = new MSC();

            actual = target3.ProcessForPrediction((Matrix)input, RIPP.Lib.MathLib.VectorType.Row, target.Mean);
            writer = new MatlabMatrixWriter(@"F:\3506\15chemometrics\RIPP_DEMO\src\RIPP\testdata\filter\out_msc_my_ForPrediction.mat");
            writer.WriteMatrix <double>(actual, "dd");
            writer.Close();
            // Assert.Inconclusive("验证此测试方法的正确性。");
        }