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