Оптимизация точек по оси Х изменяет положение нормализаторов таблицы так, что общая квадратная ошибка между моделью и таблицей уменьшается.
Эта стандартная программа улучшает подгонку между вашей стратегией и вашей моделью. Следующий рисунок показывает, как оптимизация положений точек по оси Х может уменьшить различие между моделью и таблицей. Точки останова перемещаются, чтобы уменьшить пиковую ошибку между точками останова. В CAGE это происходит в двух размерностях по таблице.
Методы для интервалов точек останова нормализаторов в CAGE:
Для одномерных таблиц
ReduceError
ShareAveCurv
Для двумерных таблиц
ShareAveCurv
ShareCurvThenAve
Интервалы между точками останова с помощью ReduceError
использует жадный алгоритм. КЛЕТКА:
Блокирует две точки останова в конечностях области значений.
Интерполирует функцию между этими двумя точками останова.
Вычисляет максимальную ошибку между моделью и интерполированной функцией.
Помещает точку останова, где ошибка является максимальной.
Повторяет шаги 2, 3 и 4.
Определяет местоположение всех точек по оси Х, заканчивая алгоритм.
Рассмотрите калибровку нормализаторов для скорости, N и относительного заряда воздуха, L, в предыдущей модели MBT.
В обоих случаях CAGE аппроксимирует модель MBTAV (N, L), в этом случае используя мелкий mesh.
Точки останова каждого нормализатора калибруются по очереди. В этом примере эти стандартные программы сначала калибруют нормализатор в N.
Интервалы между точками останова с помощью ShareAveCurv
или ShareCurvThenAve
вычисляет кривизну K модели MBTAV (N, L):
как приближение для
Обе стандартные программы вычисляют кривизну для ряда срезов модели при различных значениях L. Например, показанный рисунок имеет количество срезов модели при различных значениях L.
ShareAveCurv
усредняет кривизну в области значений L, затем помещает точки останова, помещая ith точка останова согласно следующему правилу.
ShareCurvThenAve
помещает ith breakpoint согласно правилу, затем находит среднее положение каждой breakpoint.
Если j нужно разместить точки прерывания, ith breakpoint, Ni, помещается там, где средняя кривизна[1]:
Это условие разделяет точки останова так, чтобы равное количество кривизны (в соответствующей метрике) происходило в каждом интервале точек останова. Размещение точек по оси Х оптимально в том смысле, что максимальная ошибка между оценкой интерполяционной таблицы и моделью уменьшается с оптимальной скоростью сходимости O (N-2). Для ссылки примите во внимание, что одинаково разнесенные точки останова имеют порядок O (N-1/2).
Мастер Функции заливки оптимизирует значения таблицы, чтобы минимизировать текущую общую квадратную ошибку между значениями функции и моделью.
Эта стандартная программа оптимизирует подгонку между вашей стратегией и вашей моделью. Использование Fill помещает значения в таблицу. Процесс оптимизации смещает значения камер вверх и вниз, чтобы минимизировать общую ошибку между интерполяцией между моделью и стратегией.
В этом примере зеленые затененные области показывают ошибку между моделью mesh (оценивается при количестве выбранных точек сетки) и значениями таблицы.
CAGE оценивает модель по количеству точек сетки, заданному в мастере заливки функции, а затем вычисляет общую квадратную ошибку между этой моделью mesh и значениями функции. CAGE корректирует значения таблицы до минимизации этой ошибки, используя lsqnonlin
если нет градиентных ограничений. В противном случае CAGE использует fmincon
с линейными ограничениями для задания градиента таблицы в каждой камере.
[1] Бур, Карл де. Практическое руководство по сплайнам. Нью-Йорк: Springer-Verlag, 1978, стр. 46.