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