fitoptions

Создайте или измените подходящий объект опций

Описание

пример

fitOptions = fitoptions создает подходящий объект fitOptions опций по умолчанию.

пример

fitOptions = fitoptions(libraryModelName) создает подходящий объект опций по умолчанию для модели библиотеки.

пример

fitOptions = fitoptions(libraryModelName,Name,Value) создает подходящие опции для заданной модели библиотеки с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

пример

fitOptions = fitoptions(fitType) получает подходящий объект опций для заданного fitType. Используйте этот синтаксис, чтобы работать с подходящими опциями для пользовательских моделей.

пример

fitOptions = fitoptions(Name,Value) создает подходящие опции с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

пример

newOptions = fitoptions(fitOptions,Name,Value) изменяет существующий подходящий объект fitOptions опций и возвращает обновленные приспособленные опции в newOptions с новыми опциями, заданными одним или несколькими Name,Value парные аргументы.

пример

newOptions = fitoptions(options1,options2) объединяется существующие подходящие опции возражает options1 и options2 в newOptions.

  • Если Method соглашается, непустые значения для свойств в options2 замените соответствующие значения в options1 в newOptions.

  • Если Method отличается, newOptions содержит options1 значение для Method и значения от options2 для Normalize, Exclude, и Weights.

Примеры

свернуть все

Создайте подходящий объект опций по умолчанию и установите опцию сосредотачивать и масштабировать данные перед подбором кривой.

options = fitoptions;
options.Normal = 'on'
options =

    Normalize: 'on'
      Exclude: [1x0 double]
      Weights: [1x0 double]
       Method: 'None'
options = fitoptions('gauss2')
options =

        Normalize: 'off'
          Exclude: []
          Weights: []
           Method: 'NonlinearLeastSquares'
           Robust: 'Off'
       StartPoint: [1x0 double]
            Lower: [-Inf -Inf 0 -Inf -Inf 0]
            Upper: [1x0 double]
        Algorithm: 'Trust-Region'
    DiffMinChange: 1.0000e-08
    DiffMaxChange: 0.1000
          Display: 'Notify'
      MaxFunEvals: 600
          MaxIter: 400
           TolFun: 1.0000e-06
             TolX: 1.0000e-06

Создайте подходящие опции для кубического полинома и установите центр и шкалу и устойчивые подходящие опции.

options = fitoptions('poly3', 'Normalize', 'on', 'Robust', 'Bisquare')
options =

    Normalize: 'on'
      Exclude: []
      Weights: []
       Method: 'LinearLeastSquares'
       Robust: 'Bisquare'
        Lower: [1x0 double]
        Upper: [1x0 double]
options = fitoptions('Method', 'LinearLeastSquares')
options =

    Normalize: 'off'
      Exclude: []
      Weights: []
       Method: 'LinearLeastSquares'
       Robust: 'Off'
        Lower: [1x0 double]
        Upper: [1x0 double]

Изменение подходящего объекта опций по умолчанию полезно, когда это необходимо, чтобы установить Normalize, Exclude, или Weights свойства, и затем соответствуют вашим данным с помощью тех же опций с различными подходящими методами. Например, следующее использование те же подходящие опции, чтобы соответствовать различным типам модели библиотеки.

load census
options = fitoptions;
options.Normalize = 'on';
f1 = fit(cdate,pop,'poly3',options);
f2 = fit(cdate,pop,'exp1',options);
f3 = fit(cdate,pop,'cubicspline',options)
f3 = 
     Cubic interpolating spline:
       f3(x) = piecewise polynomial computed from p
       where x is normalized by mean 1890 and std 62.05
     Coefficients:
       p = coefficient structure

Найдите параметр сглаживания. Информационно-зависимые подходящие опции, такие как smooth параметр возвращен в третьем выходном аргументе fit функция.

load census
[f,gof,out] = fit(cdate,pop,'SmoothingSpline');
smoothparam = out.p
smoothparam = 0.0089

Измените параметр сглаживания значения по умолчанию для новой подгонки.

options = fitoptions('Method','SmoothingSpline',...
                     'SmoothingParam',0.0098);
[f,gof,out] = fit(cdate,pop,'SmoothingSpline',options);

Создайте Гауссову подгонку, смотрите доверительные интервалы и задайте опции подгонки нижней границы, чтобы помочь алгоритму.

Создайте шумную сумму двух Гауссовых peaks, один с маленькой шириной, и один с большой шириной.

a1 = 1; b1 = -1; c1 = 0.05;
a2 = 1; b2 = 1; c2 = 50;
x = (-10:0.02:10)';
gdata = a1*exp(-((x-b1)/c1).^2) + ...
        a2*exp(-((x-b2)/c2).^2) + ...
        0.1*(rand(size(x))-.5);
plot(x,gdata)

Figure contains an axes. The axes contains an object of type line.

Соответствуйте данным с помощью модели библиотеки Gaussian 2D термина.

gfit = fit(x,gdata,'gauss2') 
gfit = 
     General model Gauss2:
     gfit(x) =  a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2)
     Coefficients (with 95% confidence bounds):
       a1 =      -0.145  (-1.486, 1.195)
       b1 =       9.725  (-14.71, 34.16)
       c1 =       7.117  (-15.84, 30.07)
       a2 =       14.06  (-1.957e+04, 1.96e+04)
       b2 =         607  (-3.193e+05, 3.205e+05)
       c2 =       375.9  (-9.737e+04, 9.812e+04)
plot(gfit,x,gdata)

Figure contains an axes. The axes contains 2 objects of type line. These objects represent data, fitted curve.

Алгоритм испытывает затруднения, как обозначено широкими доверительными интервалами для нескольких коэффициентов.

Чтобы помочь алгоритму, задайте нижние границы для неотрицательных амплитуд a1 и a2 и ширины c1C2 .

options = fitoptions('gauss2', 'Lower', [0 -Inf 0 0 -Inf 0]);

В качестве альтернативы можно установить свойства подходящих опций с помощью формы options.Property = NewPropertyValue.

options = fitoptions('gauss2');
options.Lower = [0 -Inf 0 0 -Inf 0];

Повторно вычислите подгонку с помощью связанных ограничений на коэффициенты.

gfit = fit(x,gdata,'gauss2',options) 
gfit = 
     General model Gauss2:
     gfit(x) =  a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2)
     Coefficients (with 95% confidence bounds):
       a1 =       1.005  (0.966, 1.044)
       b1 =          -1  (-1.002, -0.9988)
       c1 =      0.0491  (0.0469, 0.0513)
       a2 =      0.9985  (0.9958, 1.001)
       b2 =      0.8059  (0.3879, 1.224)
       c2 =        50.6  (46.68, 54.52)
plot(gfit,x,gdata)

Figure contains an axes. The axes contains 2 objects of type line. These objects represent data, fitted curve.

Это - намного лучшая подгонка. Можно далее улучшить подгонку путем присвоения рыночной стоимости другим свойствам в подходящем объекте опций.

Создайте подходящие опции и установите нижние границы.

options = fitoptions('gauss2', 'Lower', [0 -Inf 0 0 -Inf 0])
options =

        Normalize: 'off'
          Exclude: []
          Weights: []
           Method: 'NonlinearLeastSquares'
           Robust: 'Off'
       StartPoint: [1x0 double]
            Lower: [0 -Inf 0 0 -Inf 0]
            Upper: [1x0 double]
        Algorithm: 'Trust-Region'
    DiffMinChange: 1.0000e-08
    DiffMaxChange: 0.1000
          Display: 'Notify'
      MaxFunEvals: 600
          MaxIter: 400
           TolFun: 1.0000e-06
             TolX: 1.0000e-06

Сделайте новую копию подходящих опций и измените устойчивый параметр.

newoptions = fitoptions(options, 'Robust','Bisquare')
newoptions =

        Normalize: 'off'
          Exclude: []
          Weights: []
           Method: 'NonlinearLeastSquares'
           Robust: 'Bisquare'
       StartPoint: [1x0 double]
            Lower: [0 -Inf 0 0 -Inf 0]
            Upper: [1x0 double]
        Algorithm: 'Trust-Region'
    DiffMinChange: 1.0000e-08
    DiffMaxChange: 0.1000
          Display: 'Notify'
      MaxFunEvals: 600
          MaxIter: 400
           TolFun: 1.0000e-06
             TolX: 1.0000e-06

Объедините подходящие опции.

options2 = fitoptions(options, newoptions)
options2 =

        Normalize: 'off'
          Exclude: []
          Weights: []
           Method: 'NonlinearLeastSquares'
           Robust: 'Bisquare'
       StartPoint: [1x0 double]
            Lower: [0 -Inf 0 0 -Inf 0]
            Upper: [1x0 double]
        Algorithm: 'Trust-Region'
    DiffMinChange: 1.0000e-08
    DiffMaxChange: 0.1000
          Display: 'Notify'
      MaxFunEvals: 600
          MaxIter: 400
           TolFun: 1.0000e-06
             TolX: 1.0000e-06

Создайте линейный подходящий тип модели.

lft = fittype({'x','sin(x)','1'})
lft = 
     Linear model:
     lft(a,b,c,x) = a*x + b*sin(x) + c

Получите подходящие опции для подходящего типа lft.

fo = fitoptions(lft)
fo =

    Normalize: 'off'
      Exclude: []
      Weights: []
       Method: 'LinearLeastSquares'
       Robust: 'Off'
        Lower: [1x0 double]
        Upper: [1x0 double]

Установите нормировать подходящую опцию.

fo.Normalize = 'on'
fo =

    Normalize: 'on'
      Exclude: []
      Weights: []
       Method: 'LinearLeastSquares'
       Robust: 'Off'
        Lower: [1x0 double]
        Upper: [1x0 double]

Входные параметры

свернуть все

Модель Library, чтобы соответствовать в виде вектора символов. Эта таблица показывает некоторые типичные примеры.

Имя модели библиотеки

Описание

'poly1'

Линейная полиномиальная кривая

'poly11'

Линейная полиномиальная поверхность

'poly2'

Квадратичная полиномиальная кривая

'linearinterp'

Кусочная линейная интерполяция

'cubicinterp'

Кусочная кубичная интерполяция

'smoothingspline'

Сглаживание сплайна (кривая)

'lowess'

Локальная линейная регрессия (поверхность)

Для списка имен модели библиотеки смотрите Имена модели и уравнения.

Пример: 'poly2'

Типы данных: char

Тип модели, чтобы соответствовать в виде fittype созданный с fittype функция. Используйте это, чтобы работать с подходящими опциями для пользовательских моделей.

Опции алгоритма в виде fitoptions объект создал использование fitoptions функция.

Опции алгоритма, чтобы объединиться, созданное использование fitoptions функция.

Опции алгоритма, чтобы объединиться, созданное использование fitoptions функция.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Method','NonlinearLeastSquares','Lower',[0,0],'Upper',[Inf,max(x)],'Startpoint',[1 1] задает подходящий метод, границы и стартовые точки.
Опции для всех подходящих методов

свернуть все

Опция, чтобы сосредоточиться и масштабировать данные в виде разделенной запятой пары, состоящей из 'Normalize' и 'on' или 'off'.

Типы данных: char

Точки, чтобы исключить из подгонки в виде разделенной запятой пары, состоящей из 'Exclude' и один из:

  • Выражение, описывающее логический вектор, например, x > 10.

  • Вектор из целых чисел, индексирующих точки, вы хотите исключить, например, [1 10 25].

  • Логический вектор для всех точек данных, где true представляет выброс, созданный excludedata.

Для примеров смотрите fit.

Веса для подгонки в виде разделенной запятой пары, состоящей из 'Weights' и вектор тот же размер как количество точек данных.

Типы данных: double

Подходящий метод в виде разделенной запятой пары, состоящей из 'Method' и один из подходящих методов в этой таблице.

Подбор кривой методу

Описание

'NearestInterpolant'

Интерполяция по ближайшему соседу

'LinearInterpolant'

Линейная интерполяция

'PchipInterpolant'

Кусочная кубическая интерполяция Эрмита (изгибается только),

'CubicSplineInterpolant'

Интерполяция кубическим сплайном

'BiharmonicInterpolant'

Бигармоническая поверхностная интерполяция

'SmoothingSpline'

Сглаживание сплайна

'LowessFit'

Сглаживание Lowess (появляется только),

'LinearLeastSquares'

Линейный метод наименьших квадратов

'NonlinearLeastSquares'

Нелинейный метод наименьших квадратов

Типы данных: char

Сглаживание опций

свернуть все

Сглаживание параметра в виде разделенной запятой пары, состоящей из 'SmoothingParam' и скалярное значение между 0 и 1. Значение по умолчанию зависит от набора данных. Только доступный, если Method SmoothingSpline.

Типы данных: double

Пропорция точек данных, чтобы использовать в локальных регрессиях в виде разделенной запятой пары, состоящей из 'Span' и скалярное значение между 0 и 1. Только доступный, если Method LowessFit.

Типы данных: double

Линейный и опции нелинейного метода наименьших квадратов

свернуть все

Устойчивый линейный метод наименьших квадратов подходящий метод в виде разделенной запятой пары, состоящей из 'Robust' и одно из этих значений:

  • 'LAR' задает наименее абсолютный остаточный метод.

  • 'Bisquare' задает bisquare метод весов.

Доступный, когда Method LinearLeastSquares или NonlinearLeastSquares.

Типы данных: char

Нижние границы на коэффициентах, которые будут адаптированы в виде разделенной запятой пары, состоящей из 'Lower' и вектор. Значением по умолчанию является пустой вектор, указывая, что подгонка неограничена нижними границами. Если границы заданы, длина вектора должна равняться количеству коэффициентов. Найдите порядок записей для коэффициентов в векторном значении при помощи coeffnames функция. Для примера смотрите fit. Отдельные неограниченные нижние границы могут быть заданы -Inf.

Доступный, когда Method LinearLeastSquares или NonlinearLeastSquares.

Типы данных: double

Верхние границы на коэффициентах, которые будут адаптированы в виде разделенной запятой пары, состоящей из 'Upper' и вектор. Значением по умолчанию является пустой вектор, указывая, что подгонка неограничена верхними границами. Если границы заданы, длина вектора должна равняться количеству коэффициентов. Найдите порядок записей для коэффициентов в векторном значении при помощи coeffnames функция. Для примера смотрите fit. Отдельные неограниченные верхние границы могут быть заданы +Inf.

Доступный, когда Method LinearLeastSquares или NonlinearLeastSquares.

Типы данных: логический

Опции нелинейного метода наименьших квадратов

свернуть все

Начальные значения для коэффициентов в виде разделенной запятой пары, состоящей из 'StartPoint' и вектор. Найдите порядок записей для коэффициентов в векторном значении при помощи coeffnames функция. Для примера смотрите fit.

Если никакие стартовые точки (значение по умолчанию пустого вектора) не передаются fit функция, начальные точки для некоторых моделей библиотеки определяются эвристическим образом. Для рационального и моделей Weibull и всех пользовательских нелинейных моделей, тулбокс выбирает начальные значения по умолчанию для коэффициентов однородно наугад от интервала (0,1). В результате несколько подгонок с помощью тех же данных и силы модели приводят к различным подходящим коэффициентам. Чтобы избежать этого, задайте начальные значения для коэффициентов с векторным значением для StartPoint свойство.

Доступный, когда Method NonlinearLeastSquares.

Типы данных: double

Алгоритм, чтобы использовать для подходящей процедуры в виде разделенной запятой пары, состоящей из 'Algorithm' и любой 'Levenberg-Marquardt' или 'Trust-Region'.

Доступный, когда Method NonlinearLeastSquares.

Типы данных: char

Максимальное изменение в коэффициентах для градиентов конечной разности в виде разделенной запятой пары, состоящей из 'DiffMaxChange' и скаляр.

Доступный, когда Method NonlinearLeastSquares.

Типы данных: double

Минимальное изменение в коэффициентах для градиентов конечной разности в виде разделенной запятой пары, состоящей из 'DiffMinChange' и скаляр.

Доступный, когда Method NonlinearLeastSquares.

Типы данных: double

Параметр отображения в командном окне в виде разделенной запятой пары, состоящей из 'Display' и одна из этих опций:

  • 'notify' отображает вывод, только если подгонка не сходится.

  • 'final' отображает только окончательный вывод.

  • 'iter' отображает вывод в каждой итерации.

  • 'off' не отображает вывода.

Доступный, когда Method NonlinearLeastSquares.

Типы данных: char

Максимальное количество оценок модели, позволенной в виде разделенной запятой пары, состоящей из 'MaxFunEvals' и скаляр.

Доступный, когда Method NonlinearLeastSquares.

Типы данных: double

Максимальное количество итераций допускало подгонку в виде разделенной запятой пары, состоящей из 'MaxIter' и скаляр.

Доступный, когда Method NonlinearLeastSquares.

Типы данных: double

Допуск завершения на значении модели в виде разделенной запятой пары, состоящей из 'TolFun' и скаляр.

Доступный, когда Method NonlinearLeastSquares.

Типы данных: double

Допуск завершения на содействующих значениях в виде разделенной запятой пары, состоящей из 'TolX' и скаляр.

Доступный, когда Method NonlinearLeastSquares.

Типы данных: double

Выходные аргументы

свернуть все

Опции алгоритма, возвращенные как fitoptions объект.

Новые опции алгоритма, возвращенные как fitoptions объект.

Представлено до R2006a