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(); }
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++; } }