Ejemplo n.º 1
0
        /// <summary>
        /// 合并,产生新的。
        /// </summary>
        /// <param name="linesA"></param>
        /// <param name="linesB"></param>
        /// <returns></returns>
        public static List <MatrixLine> Merge(List <MatrixLine> linesA, List <MatrixLine> linesB)
        {
            double[][]        matrixA = SinexMatrixConvertor.GetMatrixArrayJagged(linesA);
            double[][]        matrixB = SinexMatrixConvertor.GetMatrixArrayJagged(linesB);
            double[][]        matrixC = MatrixUtil.BuildMatrix(matrixA, matrixB);
            List <MatrixLine> lines   = SinexMatrixConvertor.GetMatrixLines(matrixC);

            return(lines);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 合并,产生新的。
        /// 乘以协方差系数。 varFactor = NowFactor / OldFactor
        /// </summary>
        /// <param name="list1"></param>
        /// <param name="varFactorA"></param>
        /// <param name="list2"></param>
        /// <param name="varFactorB"></param>
        /// <returns></returns>
        public static List <MatrixLine> Merge(List <MatrixLine> linesA, double varFactorA, List <MatrixLine> linesB, double varFactorB)
        {
            double[][] matrixA = SinexMatrixConvertor.GetMatrixArrayJagged(linesA);
            double[][] matrixB = SinexMatrixConvertor.GetMatrixArrayJagged(linesB);
            //乘以协方差系数。
            MatrixUtil.Multiply(matrixA, varFactorA);
            MatrixUtil.Multiply(matrixB, varFactorB);

            double[][]        matrixC = MatrixUtil.BuildMatrix(matrixA, matrixB);
            List <MatrixLine> lines   = SinexMatrixConvertor.GetMatrixLines(matrixC);

            return(lines);
        }