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

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