public void InitializeComponent_DistributionResults(string[] engineResults) { int n = Convert.ToInt32(engineResults[2]); //Number of points int j = 3; this.doubleX = new double[n]; this.doubleY = new double[n]; for (int i = 0; i < n; i++) { doubleX[i] = Math.Round(Double.Parse(engineResults[j++]), 2); doubleY[i] = Double.Parse(engineResults[j++]); } this.MC_histogram.LB_Mean.Text = engineResults[j]; j++; this.MC_histogram.LB_Median.Text = engineResults[j]; j++; this.MC_histogram.LB_Mode.Text = engineResults[j]; j++; this.MC_histogram.LB_Var.Text = engineResults[j]; this.MC_histogram.CH_histogram.Series["Series1"].Points.Clear(); this.MC_histogram.CH_histogram.Series["Series1"].Points.DataBindXY(doubleX, doubleY); for (int i = 0; i < n; i++) { System.Windows.Forms.DataVisualization.Charting.StripLine stripLine = new System.Windows.Forms.DataVisualization.Charting.StripLine(); stripLine.BackColor = System.Drawing.Color.Gray; stripLine.StripWidth = 0.001D; stripLine.IntervalOffset = doubleX[i]; this.MC_histogram.CH_histogram.ChartAreas[0].AxisX.StripLines.Add(stripLine); } this.x = ElicitationHelper.unDoubleXVector(doubleX); }
virtual public void setQuestionAlternatives() { double[] doubleX = ElicitationHelper.doubleXVector(this.x); int n = this.x.Length; List <DBEntity> alternatives = new List <DBEntity> (0); int j = 0; string event_i = ""; Alternative alt_i = null; this.question = this.ifPrincipal.getQuestion(); //if(this.question.alternatives.Count==0){ for (int i = 0; i < n - 2; i++) { event_i = "[ " + Math.Round(doubleX[j], 3).ToString() + "; " + Math.Round(doubleX[j + 1], 3).ToString() + " )"; alt_i = new Alternative(this.question, access.expert, null); alt_i.isNew = true; alt_i.evento = event_i; alternatives.Add(alt_i); j += 2; } event_i = "[ " + Math.Round(doubleX[j], 3).ToString() + "; " + Math.Round(doubleX[j + 1], 3).ToString() + " ]"; alt_i = new Alternative(this.question, access.expert, null); alt_i.evento = event_i; alternatives.Add(alt_i); this.question.alternatives = alternatives; //} }
static ElicitationHelper instance(IFormPrincipal ifPrincipal) { if (_instance == null) { _instance = new ElicitationHelper(ifPrincipal); } return(_instance); }
override protected IMethod updateMethod() { try { double[] creds = getCredibilities(); this.W = new double[this.numberInterval + 1]; creds.CopyTo(this.W, 1); this.Fx = ElicitationHelper.getCumulative(this.W); this.times.Add(timeConsuption / 1000); //Armazenar nas listas os valores do tempo consumido e das respostas this.InitializeComponent_DistributionResults(ElicitationHelper.buildStatistics(this.x, this.Fx, this.numberInterval, this.p.min, this.p.max)); } catch (Exception exc) { ifPrincipal.DisplayMessage(exc.StackTrace, true); } return(null); }
public void initMethod2() { int nPoints = 2 * this.k - 2; this.y = new double[nPoints]; this.Fx = ElicitationHelper.getCumulative(this.W);//cumulatives label_texts = new String[this.numberInterval]; this.setQuestionAlternatives(); for (int i = 0; i < this.numberInterval; i++) { label_texts[i] = ((Alternative)this.question.alternatives[i]).evento; } this.lista = ElicitationHelper.buildStatistics(this.x, Fx, this.numberInterval, this.p.min, this.p.max); configInputControls2(label_texts); this.InitializeComponent_DistributionResults(this.lista); }
override public double[] getCredibilities() { return(ElicitationHelper.updateCredibilitiesDirectMethod(NUDL_options.getProbabilities())); }
override public Double[] getCredibilities() { Double[] probabilities = numericUpDownList1.getProbabilities(); return ElicitationHelper.updateCredibilitiesDirectMethod(probabilities); }
public List <double> getGrid() { int entreCount = 0; Question question = ifPrincipal.getQuestion(); int nAltern = question.alternatives.Count; List <double> grid = new List <double>(); List <List <double> > gridBuild = new List <List <double> >(); string distribuicao = question.distribuicao; if (question.distribuicao.IndexOf("\t") > 0) { distribuicao = question.distribuicao.Replace("\t", " "); } String[] dist = distribuicao.Split(new char[] { ';' }); if (question.ehVariavelNominal == 0) //Eh Numerico { if (doubleX != null) //TODO: Prof Paulo write: pra que esse "&& !dist.Equals(DefaultConfig.ST_DIST_GEOMETRIC)"??? { grid = ElicitationHelper.unDoubleXVector(doubleX).ToList(); } else { for (int i = 0; i < nAltern; i++) { gridBuild.Add(getPatternsAndValue(((Alternative)question.alternatives[i]).evento)); } grid.Add(gridBuild[0][1]); grid.Add(gridBuild[0][2]); for (int i = 1; i < nAltern - 1; i++) { if ((int)SimbolosMatematicos.entre == gridBuild[i][0] && entreCount == 0) { entreCount += 1; //grid.Add(gridBuild[i][1]); grid.Add(gridBuild[i][2]); } else if (entreCount >= 1 && (dist.Equals(DefaultConfig.ST_DIST_BINOMIAL) || dist.Equals(DefaultConfig.ST_DIST_GEOMETRIC))) { grid.Add(gridBuild[i][1] + 1); //grid.Add(gridBuild[i][2]); } else { grid.Add(gridBuild[i][1]); //grid.Add(gridBuild[i][2]); } } grid.Add(gridBuild[nAltern - 1][2]); } } else { if (dist[0].Trim() == DefaultConfig.ST_DIST_DIRAC) { nAltern += 1; //Adicionando mais um elemento para que funcione com o mesmo código que o Geométrico. } for (int i = 0; i < nAltern; i++) { grid.Add(i); } //grid = this.getX().ToList(); } return(grid); }
virtual public double[] getCredibilities() //TODO: O retorno desta credibilidades estão errados.. { double[] p = ElicitationHelper.getCredibilities(this.doubleX, this.doubleY); return(p); }