MathCAD

       

Нелинейное сглаживание


1. В среде Mathcad есть функция genfit (GENeral FITting – общее сглаживание), допускающая множество параметрических коэффициентов у сомножителей произвольного вида. Она, в отличие от функции linfit, решает нелинейную[7]

задачу аппроксимации. Пример использования функции genfit дан в пункте 7.1 на рис. 4.6. В функцию-вектор f необходимо занести не только само сглаживающее выражение (у нас это экспоненциальная функция), но и его частные производные[8] по искомым параметрам a0 и a1,.объединенным в вектор. Из-за того, что нелинейная задача может иметь более одного решения, функция genfit требует начального приближения (третий аргумент-вектор), вблизи которого и ищется одно из решений.

2. Без функции genfit задачу нелинейной аппроксимации, как правило, решают линеаризацией

исходных данных, подключая к работе уже известные нам функции intercept и slope. В нашем случае (пункт 7.2 на рис. 4.6) при исходном уравнении Y=a × x b  встроенные функции intercept и slope прикладывают к новому уравнению Ln(Y)=Ln(a)+b×Ln(X). Но это приводит к некоторому искажению математической модели: сумма X и сумма логарифмов X – это далеко не одно и то же.

3. В ряде случаев при решении задачи нелинейной аппроксимации можно обойтись и без функции genfit (пункт 7.1 рис. 4.6), и без искажающей линеаризации (пункт 7.2), применив открытый алгоритм поиска значений коэффициентов a0 и a1, минимизирующих целевую функцию – сумму квадратов отклонений точек от кривой. Расчет, показанный в пункте 7.3 на рис. 4.6, кроме того, не требует знания частных производных сглаживающего уравнения.

В конце рис. 4.6 приведено графическое сравнение трех методов нелинейного сглаживания. Из графика видно, что линеаризация исходных данных (пункт 7.2) привела к существенным искажениям результата. Поиски же параметрических коэффициентов через функцию genfit (пункт 7.1) и через минимизацию (пункт 7.3) близки по результатам.

Практический совет по выбору наиболее подходящей формулы для сглаживания. В Mathcad-документе можно хранить набор формул, подключая одну из них по мере надобности к статистической обработке экспериментальных точек. В диалоговом окне Properties (свойства – оно вызывается командой Properties в меню Format) есть переключатель Disable Evaluation (Запретить вычисления), позволяющий превращать математические выражения[9]

в комментарий:

Данный переключатель превращает выражение в комментарий (что отмечено черным квадратиком правее выражения) и переопределяет тем самым функцию пользователя. О втором переключателе (Enable Optimization – Разрешить оптимизацию) будет рассказано в этюде 7 (раздел 7.3).

В Mathcad-документе можно записать множество функций пользователя, подключая одну из них к аппроксимации: линейной (рис. 4.2), экспоненциальной (рис. 4.6), логарифмической и т.д., и подбирая тем самым наилучшую модель обработки экспериментальных данных. Выбор формулы можно вести и без переключателя Disable Evaluation, опираясь на свойство среды Mathcad включать в расчеты только последнюю запись функции. Нужную функцию можно просто перетаскивать (технология drag-and-drop) в конец списка.



Содержание раздела