exponenta event banner

Объекты и методы фитинга кривых и поверхностей

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

Приложение «Фитинг кривой» обеспечивает удобное интерактивное использование функций панели инструментов «Фитинг кривой» без программирования. Однако можно обращаться непосредственно к функциям панели инструментов фитинга кривой и писать программы, которые объединяют функции фитинга кривой с функциями MATLAB ® и функциями других панелей инструментов. Это позволяет создать среду фитинга кривой, которая точно соответствует вашим потребностям.

Модели и посадки в приложении «Фитинг кривой» управляются внутри как объекты фитинга кривой. Управление объектами осуществляется с помощью различных функций, называемых методами. Можно создавать объекты фитинга кривой и применять методы фитинга кривой вне приложения «Фитинг кривой».

Объекты фитинга кривой

В программировании MATLAB все переменные рабочей области являются объектами определенного класса. Знакомые примеры классов MATLAB: double, char, и function_handle. Можно также создавать пользовательские классы MATLAB с помощью объектно-ориентированного программирования.

Методы - это функции, которые работают исключительно с объектами определенного класса. Типы данных объединяют объекты и методы таким образом, чтобы методы работали исключительно с объектами собственного типа, а не с объектами других типов. Четко определенная инкапсуляция объектов и методов является целью объектно-ориентированного программирования.

Программное обеспечение панели инструментов фитинга кривой предоставляет новые типы данных 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 объекты.

Метод типа подгонкиОписание

argnames

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

category

Получить категорию соответствия

coeffnames

Получить имена коэффициентов

dependnames

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

feval

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

fittype

Конструкция fittype объект

formula

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

indepnames

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

islinear

Определить, является ли модель линейной

numargs

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

numcoeffs

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

probnames

Получение имен параметров, зависящих от проблем

setoptions

Задание параметров аппроксимации модели

type

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

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

Метод подгонки кривойОписание

cfit

Конструкция cfit объект

coeffvalues

Получить значения коэффициентов

confint

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

differentiate

Дифференцировать подгонку

integrate

Интегрированная посадка

plot

Посадка по графику

predint

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

probvalues

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

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

Нет глобальных методов доступа, сравнимых с 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 перечислены в разделе Методы фитинга кривой.

sfit объекты также предоставляют методы исключительно для sfit объекты. Посмотрите sfit.

Одним из способов быстрой сборки кода для посадок поверхности и графиков в полезные программы является создание файла из сессии в приложении «Фитинг кривой». Таким образом, можно преобразовать интерактивный анализ одного набора данных в функцию многократного использования для анализа в командной строке или для пакетной обработки нескольких наборов данных. Созданный файл можно использовать без изменений или при необходимости редактировать и настраивать код. См. раздел Создание кода и экспорт посадок в рабочую область.