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




Кроме предопределенных моделей, описанных в предыдущем пункте Стандартные параметрические и непараметрические модели, пользователь приложения cftool имеет возможность создавать собственные модели, в которые искомые параметры входят как линейно, так и нелинейно. Для создания собственной модели следует в окне выбора модели выбрать пункт Custom Equations (Рис. 16)

Рис. 16 Вид области окна управления моделями при выборе Custom Equations

 

В области окна управления моделями можно выделить две области

1. Область задания имен зависимых (y) и независимых (x) переменных (другими словами определение вида функции).

2. Область задания параметрической модели путем последовательного добавления функции при искомых коэффициентах. Для добавления каждой следующей функции требуется нажать клавишу <Enter>.

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

Рис. 17 Создание параметрической модели a1.*x*exp(-x)+a2.*exp(-x)+a3

Формулы набираются в соответствии с правилами 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 Модуль и знак числа

 

После набора формулы модели и нажатия кнопки Fit (команды на исполнение), окно Curve Fitting Toolbox будет иметь вид (Рис. 18).

 

Рис. 18 Вид рабочей области окна Curve Fitting Toolbox после выполнения приближения с использованием созданной модели a1.*x*exp(-x)+a2.*exp(-x)+a3

Приведем пример того, что начальное приближение к искомым параметрам играет большую роль при подборе параметров в нелинейной модели. В командном окне введем следующие данные в глобальные переменные 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 так, как описано выше (рис. 6). В окне Fitting создадим новое приближение с именем Mainfit1 и определим следующую нелинейную параметрическую модель

введя выражение

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

в окне задания модели пользователя (Рис. 19)

 

Рис. 19 Задание модели exp(-a*x^2)*sin(b*x^2)+ exp(-с*x^2)*sin(в*x)

Установим в качестве начальных приближений для параметров следующие значения

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

Для корректировки начальных приближений нужно открыть закладку < Fit Options > (Рис. 20).

Рис. 20 Корректировка коэффициентов модели начальных приближений

Далее закрываем окно корректировки начальных приближений для параметров и запускаем процесс приближения данных заданной нами моделью, нажав кнопку < Fit >.

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

а = -0,1

b = 0,1

c = 0,1

d = 0,1

Результаты приближения с такими параметрами представлены на Рис.22.

Рис. 21 Вид рабочей области окна Curve Fitting Toolbox после выполнения приближения с использованием созданной модели exp(-a*x^2)*sin(b*x^2)+ exp(-с*x^2)*sin(в*x) и коэффициентов начальных приближений a=b=c=d=5

Рис. 22 Вид рабочей области окна Curve Fitting Toolbox после выполнения приближения с использованием созданной модели exp(-a*x^2)*sin(b*x^2)+ exp(-с*x^2)*sin(в*x) и коэффициентов начальных приближений a=-0,1 b=0,1 c=0,1 d=0,1

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

 



Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-09-06 Нарушение авторских прав и Нарушение персональных данных


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