MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

Основы работы в Curve Fitting Toolbox \ Curve Fitting Toolbox

В оглавление книги \ К предыдущему разделу \ К следующему разделу

Основы работы в Curve Fitting Toolbox

1.3.6. Создание собственной параметрической модели

Кроме предопределенных моделей, описанных в предыдущем пункте Стандартные параметрические и непараметрические модели, пользователь приложения cftool имеет возможность создавать собственные модели, в которые искомые параметры входят как линейно, так и нелинейно. Для создания собственной модели следует в диалоговом окне Fitting в раскрывающемся списке Type of fit выбрать пункт Custom Equations и нажать на кнопку New equation.


Создание собственной параметрической модели

После этого появляется диалоговое окно Create Custom Equation, содержащее две вкладки:

Linear Equation - для задания параметрической модели, линейно зависящей от искомых параметров

General Equation - для задания произвольной параметрической модели, в которую параметры могут входить нелинейно.


Диалоговое окно Create Custom Equation для
создания собственных линейных и нелинейных параметрических моделей

Для задания линейной параметрической модели следует выбрать независимую переменную в строке ввода Independent variable (можно оставить переменную x, предлагаемую по умолчанию) и последовательно добавлять функции при искомых коэффициентах. Для добавления каждой следующей функции требуется нажать кнопку Add a term.

Пусть, например, требуется создать параметрическую модель

Для этого изменяем a на a1 в первой строке ввода столбца Unknown Coefficients и набираем в расположенной рядом строке ввода (столбца Terms) вместо sin(x-pi) выражение x*exp(-x). Далее нажимаем кнопку Add a term, изменяем b на a2 и набираем в расположенной рядом строке ввода exp(-x). Последний коэффициент, аддитивно входящий в нашу модель, добавляется автоматически, так как установлен флаг Unknown constant coefficient. Осталось исправить c на a3. В результате области ввода диалогового окна Create Custom Equation должны выглядеть так, как показано ниже на рисунке


Создание линейной параметрической модели

Формулы набираются в соответствии с правилами MATLAB с использованием знаков +, -, *, /, ^ (возведение в степень) для арифметических операций, круглых скобок для изменения их приоритета и встроенных математических функций, список которых можно получить, задав в командном окне MATLAB команду

>> help elfun

В следующей таблице приведены наиболее часто используемые функции

Тригонометрические функции (аргумент задаётся в радианах)
sin, cos, tan, cot Синус, косинус, тангенс и котангенс
sec, csc Секанс, косеканс
Обратные тригонометрические функции (результат вычисляется в радианах)
asin, acos, atan, acot Арксинус, арккосинус, арктангенс и арккотангенс
asec, acsc Арксеканс, арккосеканс
Гиперболические функции
sinh, cosh, tanh, coth Гиперболические синус, косинус, тангенс и котангенс
sech, csch Гиперболические секанс и косеканс
asinh, acosh, atanh, acoth Гиперболические арксинус, арккосинус, арктангенс и арккотангенс
Экспоненциальная функция, логарифмы, степенные функции
Exp Экспоненциальная функция
log, log2, log10 Натуральный логарифм, логарифмы по основанию 2 и 10
Sqrt Квадратный корень
Модуль, знак
abs, sign Модуль и знак числа

В строке ввода Equation name внизу диалогового окна Create Custom Equation отображается формула, задающая параметрическую модель. Вместо этой формулы можно ввести произвольное имя для параметрической модели, которое будет ее идентифицировать в дальнейшем при подборе параметров.

Для создания модели осталось нажать кнопку OK, после чего данная модель (формула или имя модели) появляется в списке Custom Equation диалогового окна Fitting. Модели в этом списке можно удалять (кнопка Delete рядом со списком), а также модифицировать и добавлять измененную модель в список (кнопка Copy).

После создания собственной модели можно выбирать встроенные модели для приближения данных, но при выборе в диалоговом окне Fitting в раскрывающемся списке Type of fit пункта Custom Equations появляются все созданные ранее пользовательские параметрические модели.

Схожим образом создается и нелинейная параметрическая модель. Предположим, что требуется определить следующую модель

Для этого необходимо в диалоговом окне Fitting в раскрывающемся списке Type of fit выбрать пункт Custom Equations, нажать на кнопку New equation и в появившемся диалоговом окне Create Custom Equation перейти на вкладку General Equation.


Создание нелинейной параметрической модели

В строке ввода Independent variable вводится независимая переменная (можно оставить переменную x, предлагаемую по умолчанию), а в строке ввода ниже формула, задающая параметрическую модель. В нашем случае это будет

(a*x^2+b*x+c)*exp(-(a*x^2+b*x+c))

Кроме выражения для параметрической модели следует задать в таблице под строкой ввода также границы интервалов, в которых могут находиться искомые параметры (для задания бесконечного интервала достаточно оставить Inf или -Inf для правой, или левой границы, соответственно), и начальные приближения для них. В линейной параметрической модели это не требуется, поскольку приближение по методу наименьших квадратов линейной моделью приводит к решению системы линейных алгебраических уравнений относительно искомых коэффициентов. При приближении данных нелинейными параметрическими моделями решается задача минимизации нелинейной функции и соответствующий алгоритм должен получить начальные значения параметров и границы их возможных значений. Начальные значения могут сильно повлиять на получающееся приближение. Начальные значения параметров и границы допустимых интервалов для них потом можно изменить, воспользовавшись кнопкой Fit options в диалоговом окне Fitting.

В строке ввода Equation name внизу диалогового окна Create Custom Equation отображается формула, задающая параметрическую нелинейную модель. Вместо формулы можно ввести произвольное имя для определяемой параметрической модели, которое будет ее идентифицировать при дальнейшей работе.

Для создания модели осталось нажать кнопку OK внизу диалогового окна Create Custom Equation. Только что созданная модель (формула или имя модели) появляется в списке Custom Equation диалогового окна Fitting. Модели в этом списке можно удалять (кнопка Delete рядом со списком), а также модифицировать и добавлять измененную модель в список (кнопка Copy).

Так же как и в случае линейной параметрической модели, после создания собственной непараметрической модели можно выбирать встроенные или другие пользовательские модели для приближения данных, но при выборе в диалоговом окне Fitting в раскрывающемся списке Type of fit пункта Custom Equations появляются все созданные ранее пользовательские параметрические модели.

Приведем пример того, что начальное приближение к искомым параметрам играет большую роль при подборе параметров в нелинейной модели. В командном окне введем следующие данные в глобальные переменные x и y рабочей среды:

>> x=0:0.1:3;
>> y=exp(-2*x.^2).*sin(4*x.^2)+exp(-x.^2).*sin(x)+0.01*rand(size(x));

Далее импортируем их в приложение cftool так, как описано в разделе Окно приложения cftool. Импорт данных в приложение cftool и дадим имя DATA нашему набору данных. В окне Fitting создадим новое приближение с именем FIT1 (см. раздел Приближение стандартными параметрическими и моделями. Работа с несколькими приближениями и несколькими наборами данных.) и определим следующую нелинейную параметрическую модель

так, как мы делали это выше в данном разделе, введя выражение

exp(-a*x^2)*sin(b*x^2)+ exp(-с*x^2)*sin(в*x) 

в окне Create Custom Equation (на вкладке General Equation). Установим в качестве начальных приближений для параметров следующие значения

	a=5
	b=5
	c=5
	d=5

Получается хорошее приближение (см. рис. ниже). Теперь создадим еще одно приближение с именем FIT2 с той же самой параметрической моделью и установим другие начальные приближения для параметров

	a=-1
	b=1
	c=1
	d=1

Для этого следует нажать на кнопку Fit options в диалоговом окне Fitting и в появившемся диалоговом окне в таблице ввести эти значения. После чего сделаем подбор параметров с новыми начальными приближениями, нажав кнопку Apply. Результаты для одной и той же параметрической модели с различными начальными значениями параметров совершенно отличаются друг от друга, второе приближение просто неверно.


Приближение нелинейной параметрической моделью
с различными начальными приближениями для параметров.

В следующем разделе мы рассмотрим другие опции, которые служат для управления процессом подбора параметров.

В оглавление книги \ К предыдущему разделу \ К следующему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика