Можно использовать CAGE, чтобы создать интерполяционную таблицу, которая является обратной другой интерполяционной таблицей. Инвертирование включает замену входа интерполяционной таблицы с выход интерполяционной таблицы, и можно инвертировать 1-D или двумерные интерполяционные таблицы.
Инвертирование интерполяционной таблицы позволяет вам связать прямую стратегию с обратной стратегией; то есть обмен входами и выходами. Этот процесс желателен, когда у вас есть стратегия «вперед», для примера прогнозирования крутящего момента как функции скорости и нагрузки, и вы хотите изменить эту зависимость в «стратегии назад», чтобы выяснить, какое значение нагрузки даст конкретный крутящий момент с определенной скоростью.
Обычно вы заполняете интерполяционные таблицы в CAGE путем сравнения с данными или моделями. В идеале вы хотите заполнить, используя правильную стратегию, но это может оказаться невозможным найти или измерить. Если у вас есть только передовая стратегия, но вы хотите ее назад, можно заполнить с помощью прямой стратегии (таблицы или модель), а затем инвертировать интерполяционную таблицу.
Для примера, чтобы заполнить интерполяционную таблицу обычно из модели, вам нужен ответ модели, чтобы быть выходом интерполяционной таблицы, и входные параметры модели, чтобы быть функцией входных параметров интерполяционной таблицы (или должна быть возможность вывести входную, для примера, воздушную массу из давления коллектора). Если доступная модель «инвертирована» (реакция модели является входом интерполяционной таблицы, а выход интерполяционной таблицы - входом модели), и вы не можете изменить модель, можно инвертировать интерполяционную таблицу в CAGE.
В схеме интерполяционной таблицы, показанной, оси X и Y представляют нормализаторы (которые вы хотите быть искрой и нагрузкой), а ось Z является выходом в каждой точке останова (крутящий момент). Правильное заполнение интерполяционной таблицы из модели является двухэтапным процессом. Сначала заполните интерполяционную таблицу, которая имеет те же вход и выход, что и модель, а затем заполните вторую интерполяционную таблицу инверсией.
Чтобы инверсия была детерминированной и точной, интерполяционная таблица, которая должна быть инвертирована, должна быть монотонной; то есть всегда увеличивается или уменьшается. Это требование подобно одномерному примеру. Каждая точка на оси Y должна соответствовать уникальной точке на оси X. Та же задача относится и к двумерным интерполяционным таблицам: для любого заданного выхода в первой интерполяционной таблице должно быть уникальное входное условие; то есть каждая точка на оси Z должна соответствовать уникальной точке в плоскости x-y. Некоторые инверсии интерполяционной таблицы имеют несколько значений, и поэтому не отвечают этому требованию, так же как функция квадратного корня может принимать либо положительные, либо отрицательные значения. Для решения этой проблемы можно использовать мастер инверсии в CAGE; можно управлять процессом инверсии и определять, что делать в этих случаях.
Следующий пример иллюстрирует интерполяционную таблицу с несколькими значениями. Существует два решения для одного значения крутящего момента. CAGE имеет инструмент инверсии интерполяционной таблицы, который может помочь преодолеть эту проблему. Можно указать, нужно ли использовать верхние или более низкие значения для заполнения определенных частей интерполяционной таблицы; это позволяет вам успешно инвертировать многозначную функцию. Инструкции по инверсии для 1-D и двумерных интерполяционных таблиц см. в следующих разделах.
Процесс инвертирования одномерной интерполяционной таблицы отличается от процесса инвертирования двумерной интерполяционной таблицы.
Чтобы инвертировать одномерную интерполяционную таблицу,
Убедитесь, что ваш сеанс содержит две интерполяционные таблицы:
Первая 1D интерполяционная таблица, которую вы хотите инвертировать, заполнена.
Другая 1D интерполяционная таблица с другим входом, который вы хотите заполнить инвертированной интерполяционной таблицей.
Выделите интерполяционную таблицу, которую вы хотите инвертировать.
Щелкните или выберите Table > Invert.
Откроется диалоговое окно Инверсия таблицы (Table Inversion).
CAGE выбирает подходящую таблицу в списке Table to fill. Проверьте, что это интерполяционная таблица, которую вы хотите заполнить, или выберите другую.
Следующий элемент управления, Resolve non unique inverses with, задает, что должен делать CAGE, если он встречается с несколькими значениями. Чтобы минимизировать ошибку, оставьте значение по умолчанию Least squares
. Опции:
Least squares
выбирает область значений, который вызывает наименьшую ошибку (см. ниже; на последней странице мастера отображается метрика ошибки).
Minimum
выбирает нижний из двух, если заданное число имеет два возможных обратных значения (например, выбор отрицательного квадратного корня числа).
Maximum
выбирает самый верхнюю область значений, если заданное число имеет два возможных обратных значения (например, выбор положительного квадратного корня числа).
Intermediate
выбирает среднюю область значений, если заданное число имеет более двух возможных противоположных значений.
Например, функция y = x2 невозможно инвертировать в области значений от -1 до 1. Можно задать, чтобы инвертировать область значений от 0 до 1, жертвуя инверсией в нижней области значений или реверсом. Чтобы выбрать область значений от 0 до 1, подсветите Maximum
.
На отображении показано сравнение между интерполяционной таблицей (зеленый) и функцией x = f-1(f (x)).
На нижней панели диалогового окна отображается график, показывающий ошибку инверсии. При необходимости можно изменить тип графика, чтобы просмотреть «Вход» и «Выход». Если ваша прямая функция является y = f (x), а обратная функция - x = g (y), то, объединяя их, в идеальном мире, вы должны иметь x = g (f (x)). График затем отображает линию, показывающую x против x и линию, показывающую x против g (f (x)). Близость этих двух строк указывает, насколько хороша была инверсия: совершенная обратная линия будет показывать линии точно поверх друг друга.
График может показать, какая часть интерполяционной таблицы не была успешно инвертирована, и где следует попробовать другую стандартную программу.
Примечание
Инверсия методом наименьших квадратов стандартной программы пытается минимизировать общее расстояние между этими линиями. Иногда это может привести к неожиданным результатам. Например, учитывая функцию f (x) = x ^ 2 от -1 до 1, если вы выбираете положительный или отрицательный квадратный корень в качестве обратной, это вызывает большую ошибку в объединенной обратной системе. Если вы выбираете g (y) = sqrt (y), то g (f (-1)) = 1, ошибка 2. Чтобы минимизировать это, стандартная программа наименьших квадратов может принять решение отправить все в нуль и принять среднюю ошибку во всей области значений, а не большую ошибку в половине области значений. Используйте знание формы интерполяционной таблицы, которую вы инвертируете, чтобы помочь вам выбрать стандартную программу.
Щелкните OK, чтобы принять инверсию или Cancel, чтобы проигнорировать результат и вернуться к исходной интерполяционной таблице.
Чтобы инвертировать двумерную интерполяционную таблицу,
Убедитесь, что ваш сеанс содержит две интерполяционные таблицы:
Первая интерполяционная таблица, которую вы хотите инвертировать.
Вторая интерполяционная таблица с точно одним из тех же входов, которые вы хотите заполнить инвертированной интерполяционной таблицей.
Выделите интерполяционную таблицу, которую вы хотите инвертировать.
Щелкните или выберите Table > Invert.
Откроется диалоговое окно Инверсия таблицы (Table Inversion).
CAGE выбирает подходящую таблицу в списке Table to fill. Проверьте, что это таблица, которую вы хотите заполнить, или выберите другую.
Следующий элемент управления, Resolve non unique inverses with, задает, что должен делать CAGE, если он встречается с несколькими значениями. Чтобы минимизировать ошибку, оставьте значение по умолчанию Least squares
. Другие опции см. в разделе «Инвертирование таблицы 1D».
На нижней панели диалогового окна отображается график, показывающий ошибку инверсии. При необходимости можно изменить тип графика, чтобы просмотреть входные и выходные параметры. Если прямая функция - z = f (x, y), а обратная - x = g (y, z), то, объединяя их, в идеальном мире у вас должно быть x = g (y, f (x, y)). График затем отображает плоскость, показывающую x, нанесенную на график относительно x и y, и цветную поверхность, показывающую g (y, f (x, y)), построенную на графике против x и y. Близость этих двух плоскостей указывает, насколько хороша инверсия. Если вы хотите улучшить инверсию в некоторых областях, попробуйте другие настройки в Resolve non unique inverses with.
Щелкните OK, чтобы принять результат или Cancel, чтобы проигнорировать результат и вернуться к исходной таблице.