В этом разделе описывается использование функций Toolbox™ фитинга кривой из командной строки или запись программ для приложений фитинга кривой и поверхности.
Приложение «Фитинг кривой» обеспечивает удобное интерактивное использование функций панели инструментов «Фитинг кривой» без программирования. Однако можно обращаться непосредственно к функциям панели инструментов фитинга кривой и писать программы, которые объединяют функции фитинга кривой с функциями MATLAB ® и функциями других панелей инструментов. Это позволяет создать среду фитинга кривой, которая точно соответствует вашим потребностям.
Модели и посадки в приложении «Фитинг кривой» управляются внутри как объекты фитинга кривой. Управление объектами осуществляется с помощью различных функций, называемых методами. Можно создавать объекты фитинга кривой и применять методы фитинга кривой вне приложения «Фитинг кривой».
В программировании MATLAB все переменные рабочей области являются объектами определенного класса. Знакомые примеры классов MATLAB: double, char, и function_handle. Можно также создавать пользовательские классы MATLAB с помощью объектно-ориентированного программирования.
Методы - это функции, которые работают исключительно с объектами определенного класса. Типы данных объединяют объекты и методы таким образом, чтобы методы работали исключительно с объектами собственного типа, а не с объектами других типов. Четко определенная инкапсуляция объектов и методов является целью объектно-ориентированного программирования.
Программное обеспечение панели инструментов фитинга кривой предоставляет новые типы данных MATLAB для выполнения фитинга кривой:
fittype - объекты позволяют инкапсулировать информацию, описывающую параметрическую модель для данных. Методы позволяют получать доступ к этой информации и изменять ее.
cfit и sfit - Два подтипа fittype, для кривых и поверхностей. Объекты захватывают информацию из определенной аппроксимации, присваивая значения коэффициентам, доверительным интервалам, статистике аппроксимации и т.д. Методы позволяют выполнять постобработку посадки посредством печати, экстраполяции, интеграции и т.д.

Поскольку cfit является подтипом fittype, cfit наследует все fittype методы. Другими словами, вы можете применить fittype методы для обоих fittype и cfit объекты, но cfit методы используются исключительно с cfit объекты. Аналогично для sfit объекты.
В качестве примера, fittype метод islinear, которая определяет, является ли модель линейной или нелинейной, будет применяться одинаково задолго до или после посадки; то есть, для обоих fittype и cfit объекты. С другой стороны, cfit методы coeffvalues и confint, которые, соответственно, возвращают коэффициенты соответствия и их доверительные интервалы, не имели бы смысла, если бы применялись к общему fittype объект, описывающий параметрическую модель с неопределенными коэффициентами.
Объекты фитинга кривой имеют свойства, зависящие от их типа, а также от особенностей модели или посадки, которую они заключают в себе. Например, следующий код использует методы конструктора для двух типов фитинга кривой для создания fittype объект f и cfit объект c:
f = fittype('a*x^2+b*exp(n*x)')
f =
General model:
f(a,b,n,x) = a*x^2+b*exp(n*x)
c = cfit(f,1,10.3,-1e2)
c =
General model:
c(x) = a*x^2+b*exp(n*x)
Coefficients:
a = 1
b = 10.3
n = -100Обратите внимание, что метод отображения для fittype объекты возвращают только основную информацию, объединяя выходные данные formula и indepnames.
cfit и fittype объекты оцениваются при значениях предиктора x использование feval. Вы можете позвонить feval косвенно с использованием следующего функционального синтаксиса:
y = cfun(x) % cfit objects; y = ffun(coef1,coef2,...,x) % fittype objects;
Методы фитинга кривой позволяют создавать, получать доступ и изменять объекты фитинга кривой. Они также позволяют, с помощью таких методов, как plot и integrate, для выполнения операций, которые равномерно обрабатывают всю информацию, инкапсулированную в объект аппроксимации кривой.
Методы, перечисленные в следующей таблице, доступны для всех fittype объекты, в том числе cfit объекты.
| Метод типа подгонки | Описание |
|---|---|
Получить имена входных аргументов | |
Получить категорию соответствия | |
Получить имена коэффициентов | |
Получить имя зависимой переменной | |
Оценка модели для указанных предикторов | |
Конструкция | |
Получить строку формулы | |
Получить имя независимой переменной | |
Определить, является ли модель линейной | |
Получение количества входных аргументов | |
Получить число коэффициентов | |
Получение имен параметров, зависящих от проблем | |
Задание параметров аппроксимации модели | |
Получить имя модели |
Методы, перечисленные в следующей таблице, доступны исключительно для cfit объекты.
| Метод подгонки кривой | Описание |
|---|---|
Конструкция | |
Получить значения коэффициентов | |
Получить доверительные интервалы для коэффициентов соответствия | |
Дифференцировать подгонку | |
Интегрированная посадка | |
Посадка по графику | |
Получить интервалы прогнозирования | |
Получение зависимых от проблем значений параметров |
Полный список методов для объекта аппроксимации кривой можно получить с помощью MATLAB methods команда. Например,
f = fittype('a*x^2+b*exp(n*x)');
methods(f)
Methods for class fittype:
argnames dependnames fittype islinear probnames
category feval formula numargs setoptions
coeffnames fitoptions indepnames numcoeffs typeОбратите внимание, что некоторые методы перечислены в methods не отображаются в таблицах выше и не имеют страниц ссылок в документации панели инструментов фитинга кривой. Эти дополнительные методы, как правило, представляют собой низкоуровневые операции, используемые приложением «Подбор кривой», и не представляют общего интереса при написании приложений подбора кривой.
Нет глобальных методов доступа, сравнимых с getfield и setfield, доступно для fittype объекты. Доступ ограничен способами, перечисленными выше. Это потому, что многие свойства fittype объекты являются производными от других свойств, доступ к которым имеется. Например,
f = fittype('a*cos( b*x-c )')
f =
General model:
f(a,b,c,x) = a*cos( b*x-c )
formula(f)
ans =
a*cos( b*x-c )
argnames(f)
ans =
'a'
'b'
'c'
'x'Вы создаете fittype объект f давая формулу, вы получаете доступ на запись к этому базовому свойству объекта. У вас есть доступ для чтения к этому свойству через formula способ. У вас также есть доступ для чтения к именам аргументов объекта, через argnames способ. Однако у вас нет прямого доступа на запись к именам аргументов, производным от формулы. Если требуется задать имена аргументов, задайте формулу.
Объект посадки поверхности (sfit) сохраняет результаты операции фитинга поверхности, облегчая печать и анализ посадок в командной строке.
Как cfit объекты, sfit объекты являются подклассом fittype объекты, поэтому они наследуют все те же методы fittype перечислены в разделе Методы фитинга кривой.
sfit объекты также предоставляют методы исключительно для sfit объекты. Посмотрите sfit.
Одним из способов быстрой сборки кода для посадок поверхности и графиков в полезные программы является создание файла из сессии в приложении «Фитинг кривой». Таким образом, можно преобразовать интерактивный анализ одного набора данных в функцию многократного использования для анализа в командной строке или для пакетной обработки нескольких наборов данных. Созданный файл можно использовать без изменений или при необходимости редактировать и настраивать код. См. раздел Создание кода и экспорт посадок в рабочую область.