예제 #1
0
        public static string DistributionState(DoptimizeExperimentTable det)
        {
            LangleyAlgorithm lr = SelectState(det);

            return(lr.Discription());
        }
예제 #2
0
 private static string LangleyIgnition(List <LangleyDataTable> ldts, LangleyAlgorithm lr, double probability)
 {
     return(ldts[ldts.Count - 1].ldt_StandardDeviation == 0 ? "0" : "" + lr.ResponsePointCalculate(probability, ldts[ldts.Count - 1].ldt_Mean, ldts[ldts.Count - 1].ldt_StandardDeviation) + "");
 }
예제 #3
0
 private static string DoptimizeIgnition(List <DoptimizeDataTable> ddts, LangleyAlgorithm lr, double probability)
 {
     return(ddts[ddts.Count - 1].ddt_StandardDeviation == 0 ? "0" : "" + lr.ResponsePointCalculate(probability, ddts[ddts.Count - 1].ddt_Mean, ddts[ddts.Count - 1].ddt_StandardDeviation) + "");
 }
예제 #4
0
        //修改数据值
        public static LangleyDataTable UpdateLangleyDataTable(LangleyExperimentTable langlryExpTable, LangleyAlgorithm langleyAlgorithm, double[] xArray, int[] vArray, LangleyDataTable ldt)
        {
            ldt.ldt_Response         = vArray[vArray.Length - 1];
            ldt.ldt_StimulusQuantity = xArray[xArray.Length - 1];
            vArray = IsFlipTheResponse(langlryExpTable, vArray);
            var pointCalculateValue = langleyAlgorithm.GetResult(xArray, vArray);

            ldt.ldt_Mean = double.Parse(pointCalculateValue.μ0_final.ToString("f13"));
            if (langlryExpTable.let_Correction == 0)
            {
                pointCalculateValue.σ0_final = langleyAlgorithm.CorrectionAlgorithm(pointCalculateValue.σ0_final, xArray.Length);
            }
            ldt.ldt_StandardDeviation = pointCalculateValue.σ0_final;
            if (double.IsNaN(pointCalculateValue.varmu))
            {
                ldt.ldt_MeanVariance = 0;
            }
            else
            {
                ldt.ldt_MeanVariance = pointCalculateValue.varmu;
            }
            if (double.IsNaN(pointCalculateValue.varsigma))
            {
                ldt.ldt_StandardDeviationVariance = 0;
            }
            else
            {
                ldt.ldt_StandardDeviationVariance = pointCalculateValue.varsigma;
            }
            if (double.IsNaN(pointCalculateValue.covmusigma))
            {
                ldt.ldt_Covmusigma = 0;
            }
            else
            {
                ldt.ldt_Covmusigma = pointCalculateValue.covmusigma;
            }
            return(ldt);
        }