Создание или изменение объекта параметров посадки
создает объект параметров вписывания по умолчанию fitOptions = fitoptionsfitOptions.
создает объект параметров вписывания по умолчанию для библиотечной модели.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);
Создайте подгонку по Гауссу, проверьте доверительные интервалы и укажите параметры подгонки по нижней границе, чтобы помочь алгоритму.
Создайте шумную сумму из двух гауссовых пиков, один с малой шириной, а другой с большой шириной.
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)

Подгоните данные, используя двухсрочную модель библиотеки Гаусса.
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)

Алгоритм испытывает трудности, о чем свидетельствуют широкие доверительные интервалы для нескольких коэффициентов.
Чтобы помочь алгоритму, укажите нижние границы для неотрицательных амплитуд a1 и a2 и ширины c1, c2.
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)

Это намного лучше подходит. Кроме того, можно улучшить аппроксимацию, назначив разумные значения другим свойствам в объекте параметров аппроксимации.
Создайте параметры подгонки и задайте нижние границы.
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]
libraryModelName - Модель библиотеки по размеруБиблиотечная модель для подгонки, заданная как символьный вектор. В этой таблице приведены некоторые общие примеры.
Имя модели библиотеки | Описание |
|---|---|
| Линейная полиномиальная кривая |
| Линейная полиномиальная поверхность |
| Квадратичная полиномиальная кривая |
| Кусочно-линейная интерполяция |
| Кусочно-кубическая интерполяция |
| Сглаживание сплайна (кривой) |
| Локальная линейная регрессия (поверхность) |
Список имен библиотечных моделей см. в разделе Имена и уравнения моделей.
Пример: 'poly2'
Типы данных: char
fitType - Тип модели для подгонкиfittypeТип модели для подгонки, указанный как fittype построен с помощью fittype функция. Используется для работы с опциями подгонки для пользовательских моделей.
fitOptions - Варианты алгоритмаfitoptionsПараметры алгоритма, указанные как fitoptions объект, созданный с помощью fitoptions функция.
options1 - Параметры алгоритма для комбинированияfitoptionsПараметры алгоритма для объединения, созданные с помощью fitoptions функция.
options2 - Параметры алгоритма для комбинированияfitoptionsПараметры алгоритма для объединения, созданные с помощью fitoptions функция.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'Method','NonlinearLeastSquares','Lower',[0,0],'Upper',[Inf,max(x)],'Startpoint',[1 1] задает метод подгонки, границы и начальные точки.'Normalize' - Возможность центрирования и масштабирования данных'off' (по умолчанию) | 'on'Опция для центрирования и масштабирования данных, заданная как разделенная запятыми пара, состоящая из 'Normalize' и 'on' или 'off'.
Типы данных: char
'Exclude' - Точки для исключения из посадкиТочки для исключения из посадки, указанные как разделенная запятыми пара, состоящая из 'Exclude' и один из:
Выражение, описывающее логический вектор, например, x > 10.
Вектор целых чисел, индексирующий точки, которые требуется исключить, например, [1 10 25].
Логический вектор для всех точек данных, где true представляет отклонение, созданное excludedata.
Примеры см. в разделе fit.
'Weights' - Веса для подгонкиВеса для посадки, указанные как разделенная запятыми пара, состоящая из 'Weights' и вектор того же размера, что и количество точек данных.
Типы данных: double
'Method' - Способ подгонки'None' (по умолчанию) | символьный векторМетод фитинга, указанный как разделенная запятыми пара, состоящая из 'Method' и один из методов подгонки в этой таблице.
Метод подгонки | Описание |
|---|---|
| Интерполяция ближайшего соседа |
| Линейная интерполяция |
| Кусочно-кубическая эрмитовая интерполяция (только кривые) |
| Интерполяция кубического сплайна |
| Биармоническая интерполяция поверхности |
| Сглаживание сплайна |
| Бесступенчатое сглаживание (только поверхности) |
| Линейные наименьшие квадраты |
| Нелинейные наименьшие квадраты |
Типы данных: char
'SmoothingParam' - Параметр сглаживанияПараметр сглаживания, заданный как пара, разделенная запятыми, состоящая из 'SmoothingParam' и скалярное значение от 0 до 1. Значение по умолчанию зависит от набора данных. Доступно только в том случае, если Method является SmoothingSpline.
Типы данных: double
'Span' - Доля точек данных, используемых в локальных регрессияхДоля точек данных для использования в локальных регрессиях, указанная как разделенная запятыми пара, состоящая из 'Span' и скалярное значение от 0 до 1. Доступно только в том случае, если Method является LowessFit.
Типы данных: double
'Robust' - Надежный линейный метод подгонки методом наименьших квадратов'off' (по умолчанию) | 'LAR' | 'Bisquare'Надежный линейный метод подгонки методом наименьших квадратов, определяемый как разделенная запятыми пара, состоящая из 'Robust' и одно из этих значений:
'LAR' задает метод наименьшего абсолютного остатка.
'Bisquare' задает метод весов bisquare.
Доступно, когда Method является LinearLeastSquares или NonlinearLeastSquares.
Типы данных: char
'Lower' - Нижние границы коэффициентов, которые должны быть установленыНижние границы устанавливаемых коэффициентов, определяемые как разделенная запятыми пара, состоящая из: 'Lower' и вектор. Значением по умолчанию является пустой вектор, указывающий, что посадка не ограничена более низкими границами. Если заданы границы, длина вектора должна равняться количеству коэффициентов. Найдите порядок записей коэффициентов в векторном значении с помощью coeffnames функция. Пример см. в разделе fit. Отдельные неограниченные нижние границы могут быть определены -Inf.
Доступно, когда Method является LinearLeastSquares или NonlinearLeastSquares.
Типы данных: double
'Upper' - верхние границы коэффициентов, которые должны быть установлены;Верхние границы устанавливаемых коэффициентов, определяемые как разделенная запятыми пара, состоящая из: 'Upper' и вектор. Значением по умолчанию является пустой вектор, указывающий, что посадка не ограничена верхними границами. Если заданы границы, длина вектора должна равняться количеству коэффициентов. Найдите порядок записей коэффициентов в векторном значении с помощью coeffnames функция. Пример см. в разделе fit. Отдельные неограниченные верхние границы могут быть определены +Inf.
Доступно, когда Method является LinearLeastSquares или NonlinearLeastSquares.
Типы данных: logical
'StartPoint' - Начальные значения коэффициентовНачальные значения коэффициентов, указанные как разделенная запятыми пара, состоящая из 'StartPoint' и вектор. Найдите порядок записей коэффициентов в векторном значении с помощью coeffnames функция. Пример см. в разделе fit.
Если начальные точки (значение по умолчанию пустого вектора) не передаются в fit начальные точки для некоторых библиотечных моделей определяются эвристически. Для рациональных моделей и моделей Вейбулла, а также для всех пользовательских нелинейных моделей панель инструментов выбирает начальные значения по умолчанию для коэффициентов, равномерно случайным образом, из интервала (0,1). В результате множественные посадки, использующие одни и те же данные и модель, могут привести к различным подходящим коэффициентам. Во избежание этого укажите начальные значения для коэффициентов со значением вектора для StartPoint собственность.
Доступно, когда Method является NonlinearLeastSquares.
Типы данных: double
'Algorithm' - Алгоритм для процедуры подгонкиАлгоритм, используемый для процедуры подгонки, указанный как разделенная запятыми пара, состоящая из 'Algorithm' и либо 'Levenberg-Marquardt' или 'Trust-Region'.
Доступно, когда Method является NonlinearLeastSquares.
Типы данных: char
'DiffMaxChange' - Максимальное изменение коэффициентов для градиентов конечных разностей0.1 (по умолчанию)Максимальное изменение коэффициентов для градиентов конечных разностей, указанных как пара, разделенная запятыми, состоящая из 'DiffMaxChange' и скаляр.
Доступно, когда Method является NonlinearLeastSquares.
Типы данных: double
'DiffMinChange' - Минимальное изменение коэффициентов для градиентов конечных разностей10–8 (по умолчанию)Минимальное изменение коэффициентов для градиентов конечных разностей, указанных как пара, разделенная запятыми, состоящая из 'DiffMinChange' и скаляр.
Доступно, когда Method является NonlinearLeastSquares.
Типы данных: double
'Display' - Опция отображения в окне команд'notify' (по умолчанию) | 'final' | 'iter' | 'off'Опция отображения в окне команды, заданная как разделенная запятыми пара, состоящая из 'Display' и один из следующих вариантов:
'notify' вывод отображается только в том случае, если посадка не сходится.
'final' отображает только окончательный результат.
'iter' отображает выходные данные в каждой итерации.
'off' не отображает выходные данные.
Доступно, когда Method является NonlinearLeastSquares.
Типы данных: char
'MaxFunEvals' - Максимально допустимое количество оценок модели600 (по умолчанию)Максимально допустимое количество оценок модели, указанное как пара, разделенная запятыми, состоящая из 'MaxFunEvals' и скаляр.
Доступно, когда Method является NonlinearLeastSquares.
Типы данных: double
'MaxIter' - Максимальное число итераций, разрешенных для подгонки 400 (по умолчанию)Максимальное число итераций, разрешенных для аппроксимации, указанное как пара, разделенная запятыми, состоящая из 'MaxIter' и скаляр.
Доступно, когда Method является NonlinearLeastSquares.
Типы данных: double
'TolFun' - Допуск окончания для значения модели10–6 (по умолчанию)Допуск окончания для значения модели, указанного как разделенная запятыми пара, состоящая из 'TolFun' и скаляр.
Доступно, когда Method является NonlinearLeastSquares.
Типы данных: double
'TolX' - Допуск окончания по значениям коэффициентовДопуск окончания для значений коэффициентов, указанных как разделенная запятыми пара, состоящая из 'TolX' и скаляр.
Доступно, когда Method является NonlinearLeastSquares.
Типы данных: double
fitOptions - Варианты алгоритмаfitoptionsПараметры алгоритма, возвращенные как fitoptions объект.
newOptions - Новые параметры алгоритмаfitoptionsНовые параметры алгоритма, возвращенные как fitoptions объект.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.