В этом разделе описывается использовать функции 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. Таким образом можно преобразовать интерактивный анализ одного набора данных в допускающую повторное использование функцию для анализа командной строки или для пакетной обработки данных нескольких наборов данных. Можно использовать сгенерированный файл без модификации, или отредактировать и настроить код по мере необходимости. Смотрите Генерируют Подгонки Кода и Экспорта к Рабочей области.