Этот пример показывает, как использовать несколько экспериментов, чтобы оценить соединение значений параметра модели; некоторые, которые оцениваются с помощью всех экспериментов и других, которые оцениваются с помощью отдельных экспериментов. Пример также показывает, как сконфигурировать эксперименты оценки с зависимыми значениями параметров эксперимента.
Вы оцениваете параметры аккумулятора на основе данных, собранных в экспериментах, которые разряжают и заряжают батарею.
Этот пример оценивает параметры простой модели аккумулятора, sdoBattery
. Образцовый вход является текущей батареей, и образцовый вывод, напряжение клеммы батареи, вычисляется из состояния заряда батареи.
open_system('sdoBattery');
Модель основана на уравнении
Где:
напряжение клеммы батареи в Вольтах.
батарея постоянное напряжение в Вольтах.
сопротивление поляризации батареи в Омах.
максимальная мощность батареи в Ампер-часе.
состояние заряда батареи, с 1 полностью заряжаемый и 0 разряженных. Состояние заряда батареи вычисляется из интеграла батареи, текущей с +ve текущим выбросом указания и-ve текущей зарядкой указания. Состояние заряда начальной буквы батареи задано в Ампер-часе.
падение напряжения при зарядке, выраженный как часть батареи постоянное напряжение. Когда батарея разряжается, это значение является нулем.
V
, K
, Qmax
, Q0
и Loss
являются переменными, заданными в рабочем пространстве модели.
1.2 В (6500mAh) батарея были подвергнуты выбросу и заряжающемуся эксперименту. Эти данные об эксперименте загрузились в предварительно сконфигурированный сеанс инструмента оценки.
От sdoBattery
модель нажимает Analysis и выбирает Parameter Estimation... пункт меню, чтобы запустить инструмент Parameter Estimation. От Parameter Estimation инструмент нажимает Open Session и выбирает Open из рабочего пространства модели и открывает сеанс sdoBattery_sdosession
. Измеренный заряд и данные об эксперименте выброса загружаются и построены.
Кликните по вкладке View к размещению графики так, чтобы Experiment plot:Charge_Exp
и Experiment plot:DCharge_Exp
были оба видимы. Нажмите Plot Model Response, чтобы видеть, как хорошо симуляция модели совпадает с измеренными данными об эксперименте.
Графики показывают, что первоначальный сбор батареи, Q0
не установлен правильно для эксперимента Charge_Exp
и что модель V
, K
и параметры Loss
должны быть оценены.
Предыдущий график показывает, что первоначальный сбор батареи Charge_Exp
, Q0
, не установлен правильно. Добавьте первоначальный сбор в оба эксперимента.
Щелкните правой кнопкой мыши по Charge_Exp
и выберите Edit.... Диалоговое окно, чтобы отредактировать эксперимент открывается.
Нажмите Select Parameters, чтобы открыть диалоговое окно, чтобы добавить параметры модели в эксперимент. Выберите Loss
и Q0
, чтобы добавить к эксперименту. Выберите Loss
, когда мы должны оценить этот параметр с помощью только эксперимент Charge_Exp
. Нажмите ОК, чтобы добавить Q0
и параметры Loss
к эксперименту.
Установите первоначальный сбор батареи Q0
в Charge_Exp
к 0, т.е. нет никакого первоначального сбора.
Так же добавьте первоначальный сбор батареи Q0
в эксперимент DCharge_Exp
и установите первоначальный сбор на 6,5., т.е. для этого эксперимента существует первоначальный сбор.
Теперь, когда эксперименты обновляются с правильным начальным зарядом батареи, нажимают Plot Model Response, чтобы моделировать модель и сравнить измеренные и моделируемые данные.
Графики эксперимента показывают, что начальные условия эксперимента соответствуют, но ответ батареи не делает. Следующий шаг должен оценить параметры модели V
и K
.
Предыдущий график показал, что образцовый ответ не совпадает с результатами измерений, и мы должны оценить параметры модели V
и K
.
Нажмите Select Parameters, чтобы открыть диалоговое окно, чтобы выбрать параметры модели.
Верхний фрагмент избранного диалогового окна параметров имеет раздел для параметров, которые настраиваются с помощью всех экспериментов. Нажмите Select Parameters и добавьте V
и параметры модели K
к предполагаемым параметрам. Установите минимум V
к 0 и максимум к 2, так же установите минимум K
к 1e-6 и максимум к 0,1.
Более низкий раздел диалогового окна имеет раздел для начальных состояний и параметров, которые настраиваются с помощью отдельных экспериментов.
Для Charge_Exp
мы настраиваем параметр Loss
и устанавливаем его минимум к 0 максимумам к 0,5. Первоначальный сбор батареи Q0
фиксируется к 0 и не должен быть оценен; снимите флажок с Оценкой.
Выберите DCharge_Exp
из поля комбинированного списка Experiment, чтобы просмотреть установки параметров для эксперимента DCharge_Exp
. Первоначальный сбор батареи Q0
фиксируется к 6,5 и не должен быть оценен; снимите флажок с Оценкой
Эксперименты и оцененные параметры сконфигурированы и мы готовое, чтобы запустить оценку. Сначала создайте график контролировать прогресс оценки. Нажмите Add Plot и выберите Parameter Trajectory. Это создает график, который показывает, как предполагаемые значения параметров изменяются во время оценки. Кликните по вкладке View к размещению графики так, чтобы эксперимент и графики траектории параметра были все видимы.
Нажмите кнопку Estimate, чтобы запустить оценку. Можно изменить опции оценки путем установки поля комбинированного списка Cost Function и нажатия на More Options....
В то время как оценка запускает обновление графиков и диалоговое окно, показывающее, что прогресс оценки появляется. Диалоговое окно прогресса показывает итерации оценки, число раз, модель была оценена (F-количество) и стоимость оценки в каждой итерации.
После многих итераций оценка сходится и останавливается. Графики эксперимента показывают измеренное соответствие и соответствие данных моделирования хорошо. График EstimatedParams
показывает V
, K
и параметры Loss
, изменяющиеся во время оценки; шкала V
и K
, Loss
отличается, щелкает правой кнопкой мыши по графику и выбирает масштабируемые значения Show, чтобы видеть, как все параметры, измененные от их исходных значений.
Чтобы изучить, как оценить параметры на эксперимент с помощью команды sdo.optimize
, см. "Оценочные Параметры модели На Эксперимент (графический интерфейс пользователя)".
Закройте модель
bdclose('sdoBattery')