Этот пример показывает, как оценить значения интерполяционной таблицы из данных ввода-вывода (ввода-вывода) во временной области в Parameter Estimator.
В этом примере используйте данные ввода-вывода в lookup_regular.mat
для оценки значений интерполяционной таблицы. MAT-файл включает следующие переменные:
xdata1
- Состоит из 63 равномерно выбранных входных точек данных в области значений [0,6,5]
ydata1
- Состоит из выходных данных, соответствующих выборкам входных данных
time1
- Временной вектор
Используйте данные ввода-вывода, чтобы оценить значения интерполяционной таблицы в lookup_regular
Simulink® модель. Интерполяционная таблица в модели содержит десять значений, которые хранятся в MATLAB® переменная table
. Начальные значения таблицы содержат вектор 0 с. Дополнительные сведения о том, как смоделировать систему с помощью интерполяционных таблиц, см. в Руководствах по выбору интерполяционной таблицы.
Чтобы оценить значения интерполяционной таблицы, откройте сеанс оценки параметра.
Откройте модель интерполяционной таблицы, набрав следующую команду в подсказке MATLAB:
lookup_regular
Эта команда открывает модель Simulink и загружает данные оценки в рабочее пространство MATLAB.
В модели Simulink выберите Parameter Estimator на вкладке Apps, в галерее, под Control Systems, чтобы открыть новый сеанс с lookup_regular имен в Parameter Estimator.
Используйте следующие шаги, чтобы оценить значения интерполяционной таблицы.
Создайте новый эксперимент, нажав New Experiment на вкладке Parameter Estimation. Назовите EstimationData
. Затем импортируйте данные ввода-вывода, xdata1
и ydata1
, и временной вектор, time1
, в эксперимент. Для этого откройте редактор экспериментов щелчком правой кнопкой мыши EstimationData
и выбор Edit.... Тип [time1,ydata1]
в диалоговом окне выхода и [time1,xdata1]
в диалоговом окне входа в редакторе экспериментов. Для получения дополнительной информации см. «Импорт данных для оценки параметра». После импорта данных эксперимент выглядит следующим образом:
Запустите начальную симуляцию, чтобы просмотреть данные ввода-вывода, моделируемый выход и начальные значения таблицы. Для этого в подсказке MATLAB введите следующие команды:
sim('lookup_regular') figure(1); plot(xdata1,ydata1, 'm*', xout, yout,'b^') hold on; plot(linspace(0,6.5,10), table, 'k', 'LineWidth', 2); legend('Measured data','Initial simulation data','Initial table values');
Ось X и ось Y рисунка представляют входные и выходные данные, соответственно. Рисунок показывает следующие графики:
Измеренные данные - Представлены пурпурными звёздами (*).
Начальные значения таблицы - Представлено черной линией.
Исходные данные моделирования - Представлено синей дельтой (И).
Можно увидеть, что начальные значения таблицы и моделируемые данные не совпадают с измеренными данными.
Чтобы выбрать значения таблицы для оценки, на вкладке Parameter Estimation, нажмите кнопку Select Parameters, чтобы открыть диалоговое окно Edit:Estimated Parameters. На панели Parameters Tuned for all Experiments нажмите Select parameters, чтобы запустить диалоговое окно «Выбор переменных модели». Установите флажок рядом с таблицей и нажмите OK.
Теперь окно Edit:Estimated Parameters выглядит следующим образом. Значения таблицы выбраны для оценки по умолчанию.
На вкладке Parameter Estimation нажмите Select Experiment. EstimationData
выбран для оценки по умолчанию. Если нет, установите флажок под Estimation столбцом и нажмите OK.
Чтобы оценить значения таблицы с помощью настроек по умолчанию, на вкладке Parameter Estimation, нажмите Estimate, чтобы открыть Parameter Trajectory окно plot и Estimation Progress Report. График Parameter Trajectory показывает изменение значений параметров при каждой итерации.
После сходимости оценки Parameter Trajectory график выглядит следующим образом:
На Estimation Progress Report показано количество итераций, количество раз, когда вычисляется целевая функция, и значение функции затрат в конце каждой итерации. После сходимости оценки Estimation Progress Report выглядит следующим образом:
Предполагаемые параметры сохраняются в EstimatedParams
в Results разделе панели Data Browser слева. Чтобы просмотреть результаты, щелкните правой кнопкой мыши EstimatedParams
а затем выберите Open. Отчет напоминает следующее.
Этот отчет включает оцененные значения параметров, окончательное значение функции затрат и другие результаты оптимизации. Можно увидеть, что оптимизация остановилась, когда размер градиента 1.18e-14 был меньше значения критерия 1e-3.
После оценки значений таблицы, как описано в разделе Оценка значений таблицы с использованием настроек по умолчанию, необходимо использовать другой набор данных, чтобы подтвердить, что вы не слишком подобрали модель. Можно построить и изучить следующие графики, чтобы подтвердить результаты оценки:
График невязок
Измеренные и моделируемые графики данных
Чтобы подтвердить результаты оценки:
Создайте новый эксперимент, который будет использоваться для валидации. Назовите ValidationData
. Импортируйте данные ввода-вывода валидации, xdata2
и ydata2
, и временной вектор, time2
в ValidationData
эксперимент. Для этого откройте редактор экспериментов щелчком правой кнопкой мыши ValidationData
и выбор Edit.... Затем введите [time2,ydata2]
в диалоговом окне выхода и [time2,xdata2]
в диалоговом окне входа в редакторе экспериментов. Для получения дополнительной информации см. «Импорт данных для оценки параметра».
Чтобы выбрать эксперимент для валидации, на вкладке Parameter Estimation, нажмите Select Experiments. The ValidationData
эксперимент выбран для оценки по умолчанию. Снимите флажок для оценки и проверьте его на валидацию.
Чтобы выбрать результаты для использования, на вкладке Validation нажмите Select Results to Validate. Отменить выбор Use current parameter values
и выберите EstimatedParams
, и нажмите OK.
По умолчанию Parameter Estimator отображает график эксперимента после валидации. Добавить график невязок можно установив соответствующий флажок на вкладке Validation.
Чтобы начать валидацию, на вкладке Validation нажмите Validate.
Исследуйте графики
График эксперимента
Можно увидеть, что данные, моделируемые с использованием предполагаемых параметров, согласуются с измеренными данными валидации.
Щелкните Остаточный график: ValidationData, чтобы открыть график невязок.
Невязки, которые показывают различие между моделируемыми и измеренными данными, лежат в области значений [-0.15,0,15] - в пределах 15% от максимального выходного изменения. Это указывает на хорошее соответствие между измеренными и моделируемыми значениями данных таблицы.
Постройте и исследуйте предполагаемые значения таблицы с учетом набора данных валидации и смоделированных значений таблицы путем ввода следующих команд в подсказке MATLAB.
sim('lookup_regular') figure(2); plot(xdata2,ydata2, 'm*', xout, yout,'b^') hold on; plot(linspace(0,6.5,10), table, 'k', 'LineWidth', 2)
График показывает, что значения таблицы, отображаемые в виде черной линии, совпадают как с данными валидации, так и со значениями моделируемой таблицы. Значения данных таблицы охватывают всюсь область значений входа значений, что указывает на то, что все значения интерполяционной таблицы были оценены.