/// <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); }
/// <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); }