В этом разделе описывается использовать функции Curve Fitting Toolbox™ от командной строки или написать программы для кривой и поверхности подходящие приложения.
Приложение Curve Fitting позволяет удобное, интерактивное использование функций Curve Fitting Toolbox без программирования. Можно, однако, получить доступ к функциям Curve Fitting Toolbox непосредственно и написать программы, которые комбинируют функции аппроксимирования кривыми с функциями MATLAB® и функциями от других тулбоксов. Это позволяет вам создавать среду аппроксимирования кривыми, которая точно подходит для ваших потребностей.
Модели и помещаются в приложение Curve Fitting, управляемы внутренне, когда аппроксимирование кривыми возражает. Объектами управляют через множество вызываемых методов функций. Можно создать объекты аппроксимирования кривыми и применить методы аппроксимирования кривыми, за пределами приложения Curve Fitting.
В программировании MATLAB все переменные рабочей области являются объектами конкретного класса. Знакомыми примерами классов MATLAB является double
, char
и function_handle
. Можно также создать пользовательские классы MATLAB, с помощью объектно-ориентированного программирования.
Методы являются функциями, которые работают исключительно с объектами конкретного класса. Пакет типов данных вместе возражает и методы так, чтобы методы работали исключительно с объектами своего собственного типа, а не с объектами других типов. Ясно заданная инкапсуляция объектов и методов является целью объектно-ориентированного программирования.
Программное обеспечение Curve Fitting Toolbox предоставляет вам новые типы данных 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
.
Подходящий метод типа | Описание |
---|---|
Получите имена входного параметра | |
Наберите форму категория | |
Получите содействующие имена | |
Получите имя зависимой переменной | |
Оцените модель в заданных предикторах | |
Объект Construct | |
Получите строку формулы | |
Получите имя независимой переменной | |
Определите, линейна ли модель | |
Получите количество входных параметров | |
Получите количество коэффициентов | |
Получите зависимые проблемой названия параметра | |
Установите образцовые подходящие опции | |
Получите имя модели |
Методы, перечисленные в следующей таблице, доступны исключительно для объектов cfit
.
Изогните подходящий метод | Описание |
---|---|
Объект Construct | |
Получите содействующие значения | |
Получите доверительные интервалы для подходящих коэффициентов | |
Дифференцируйте подгонку | |
Интегрируйте подгонку | |
Подгонка графика | |
Получите интервалы прогноза | |
Получите зависимые проблемой значения параметров |
Полный список методов для объекта аппроксимирования кривыми может быть получен с командой methods
MATLAB. Например,
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
, не появляются в приведенных выше таблицах и не имеют страниц с описанием в документации Curve Fitting Toolbox. Эти дополнительные методы являются обычно низкоуровневыми операциями, используемыми приложением Curve Fitting, и не представляющие общий интерес при записи приложений аппроксимирования кривыми.
Нет никаких глобальных методов доступа, сопоставимых с 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
, перечисленного в Методах Curve Fitting.
Объекты sfit
также предоставляют методы исключительно для объектов sfit
. Смотрите sfit
.
Один способ быстро собрать код для поверхностных подгонок и графики в полезные программы состоит в том, чтобы сгенерировать файл от сеанса в приложении Curve Fitting. Таким образом можно преобразовать интерактивный анализ одного набора данных в допускающую повторное использование функцию для анализа командной строки или для пакетной обработки данных нескольких наборов данных. Можно использовать сгенерированный файл без модификации, или отредактировать и настроить код по мере необходимости. Смотрите Генерируют Подгонки Кода и Экспорта к Рабочей области.