Изогнитесь и появитесь, соответствуя объектам и методам

В этом разделе описывается использовать функции Curve Fitting Toolbox™ от командной строки или написать программы для кривой и поверхности подходящие приложения.

Приложение Curve Fitting позволяет удобное, интерактивное использование функций Curve Fitting Toolbox без программирования. Можно, однако, получить доступ к функциям Curve Fitting Toolbox непосредственно и написать программы, которые комбинируют функции аппроксимирования кривыми с функциями MATLAB® и функциями от других тулбоксов. Это позволяет вам создавать среду аппроксимирования кривыми, которая точно подходит для ваших потребностей.

Модели и помещаются в приложение Curve Fitting, управляемы внутренне, когда аппроксимирование кривыми возражает. Объектами управляют через множество вызываемых методов функций. Можно создать объекты аппроксимирования кривыми и применить методы аппроксимирования кривыми, за пределами приложения 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;

Методы Curve Fitting

Методы аппроксимирования кривыми позволяют вам создавать, получать доступ, и изменять объекты аппроксимирования кривыми. Они также позволяют вам, через методы как plot и integrate, чтобы выполнить операции, которые однородно обрабатывают полноту информации, инкапсулировавшей в объекте аппроксимирования кривыми.

Методы, перечисленные в следующей таблице, доступны для всех объектов fittype, включая объекты cfit.

Подходящий метод типаОписание

argnames

Получите имена входного параметра

category

Наберите форму категория

coeffnames

Получите содействующие имена

dependnames

Получите имя зависимой переменной

feval

Оцените модель в заданных предикторах

fittype

Объект Construct fittype

formula

Получите строку формулы

indepnames

Получите имя независимой переменной

islinear

Определите, линейна ли модель

numargs

Получите количество входных параметров

numcoeffs

Получите количество коэффициентов

probnames

Получите зависимые проблемой названия параметра

setoptions

Установите образцовые подходящие опции

type

Получите имя модели

Методы, перечисленные в следующей таблице, доступны исключительно для объектов cfit.

Изогните подходящий методОписание

cfit

Объект Construct cfit

coeffvalues

Получите содействующие значения

confint

Получите доверительные интервалы для подходящих коэффициентов

differentiate

Дифференцируйте подгонку

integrate

Интегрируйте подгонку

plot

Подгонка графика

predint

Получите интервалы прогноза

probvalues

Получите зависимые проблемой значения параметров

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

Для просмотра документации необходимо авторизоваться на сайте