Beispiel #1
0
 private void SetChartArea(Optimize.BasicData.VarBounds bounds)
 {
     chart.Series.Clear();
     chart.Series.Add("Null");
     //chart.Series["Null"].Points.AddXY(0, 0);
     chart.ChartAreas[0].AxisX.Maximum  = bounds.X1Upper;
     chart.ChartAreas[0].AxisX.Minimum  = bounds.X1Lower;
     chart.ChartAreas[0].AxisY.Maximum  = bounds.X2Upper;
     chart.ChartAreas[0].AxisY.Minimum  = bounds.X2Lower;
     chart.ChartAreas[0].AxisX.Interval = MathExpr.Round(bounds.X1Interval / 20);
     chart.ChartAreas[0].AxisY.Interval = MathExpr.Round(bounds.X2Interval / 20);
 }
Beispiel #2
0
        Optimize.BasicData PrepareValues()
        {
            Optimize.BasicData data = null;
            try
            {
                var func = new MathExpr(funcTextBox.Text);
                logstr += $"y={funcTextBox.Text}\u2192{criteriaComboBox.Text}";
                var restr = new MathExpr[limitsGridView.Rows.Count];
                for (int i = 0; i < limitsGridView.Rows.Count; i++)
                {
                    string expr = limitsGridView[0, i].Value.ToString() + limitsGridView[1, i].Value.ToString() + limitsGridView[2, i].Value.ToString();
                    logstr  += ", " + expr;
                    restr[i] = new MathExpr(expr);
                }
                double x1min, x1max, x2min, x2max;
                x1min = Double.Parse(x1ltextBox.Text);
                x1max = Double.Parse(x1utextBox.Text);
                x2min = Double.Parse(x2ltextBox.Text);
                x2max = Double.Parse(x2utextBox.Text);
                Double.Parse(par1TextBox.Text);
                Double.Parse(textBox4.Text);
                Double.Parse(textBox3.Text);
                Double.Parse(textBox2.Text);
                uint.Parse(par2TextBox.Text);
                double par_eps = Double.Parse(textBox1.Text);

                var bounds = new Optimize.BasicData.VarBounds(x1min, x1max, x2min, x2max);
                logstr += " " + bounds;

                data = new Optimize.BasicData(func, crit, restr, bounds);
            }
            catch
            {
                MessageBox.Show("Не удалось обработать введённые данные. Процесс отменён.");
                logstr += "  -  Неудача!";
            }
            return(data);
        }