示例#1
0
        private void btnNext_Click(object sender, EventArgs e)
        {
            // Очистим коллекцию экспериментов
            this._model.Experiments.Clear();

            // Добавим экспериментов сколько надо
            int expCount = Convert.ToInt32(this.nudExperimentsCount.Value);

            for (int i = 0; i < expCount; i++)
            {
                this._model.Experiments.Add(new Experiment(i, i + 1));
            }

            if (this.rbnAutomatic.Checked)
            {
                // Автоматическая генерация
                // Переберем все параметры
                int paramNum = 1;
                foreach (KeyValuePair <TId, Parameter> kvp in this._model.Parameters)
                {
                    // Переберем все эксперименты
                    for (int expNum = 1; expNum <= expCount; expNum++)
                    {
                        // В данном эксперименте создадим в списке значений
                        // оптимизируемых параметров новую запись для данного
                        // оптимизируемого параметра
                        this._model.Experiments[expNum - 1].ParameterValues.Add(
                            kvp.Value.Id,
                            kvp.Value.MinValue +
                            LpTauGenerator.GetParameterValue(expNum, paramNum) *
                            (kvp.Value.MaxValue - kvp.Value.MinValue));
                    }
                    paramNum++;
                }
            }

            // Покажем окно отображения/ввода значений
            // оптимизируемых параметров
            this._nextForm = new Form30(this, this._model);
            this._nextForm.Show();
            this.Hide();
        }
示例#2
0
        private void GenerateParameterValues()
        {
            int parameterNumber = 1;

            foreach (Parameter identificationParameter in ModelStorage.Instance.Model.IdentificationParameters.Values)
            {
                double parameterRange   = identificationParameter.MaxValue - identificationParameter.MinValue;
                int    experimentNumber = 1;
                foreach (IdentificationExperiment experiment in ModelStorage.Instance.Model.IdentificationExperiments.Values)
                {
                    double parameterValue = LpTauGenerator.GetParameterValue(experimentNumber,
                                                                             parameterNumber) * parameterRange + identificationParameter.MinValue;
                    ModelStorage.Instance.Model.IdentificationExperiments[experiment.Id].
                    IdentificationParameterValues.Add(identificationParameter.Id, parameterValue);

                    experimentNumber++;
                }

                parameterNumber++;
            }
        }