fit

Подходящая кривая или поверхность к данным

Описание

пример

fitobject = fit(x,y,fitType) создает подгонку к данным в x и y с моделью, заданной fitType.

пример

fitobject = fit([x,y],z,fitType) создает поверхностную подгонку к данным в векторах xY, и z.

пример

fitobject = fit(x,y,fitType,fitOptions) создает подгонку к данным с помощью опций алгоритма, заданных fitOptions объект.

пример

fitobject = fit(x,y,fitType,Name,Value) создает подгонку к данным с помощью модели fitType библиотеки с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы. Использование fitoptions отобразить доступные имена свойства и значения по умолчанию для определенной модели библиотеки.

пример

[fitobject,gof] = fit(x,y,fitType) возвращает статистику качества подгонки в структуре gof.

пример

[fitobject,gof,output] = fit(x,y,fitType) возвращает информацию об алгоритме подбора в структуре output.

Примеры

свернуть все

Загрузите некоторые данные, соответствуйте квадратичной кривой к переменным cdate и pop, и постройте подгонку и данные.

load census;
f=fit(cdate,pop,'poly2')
f = 
     Linear model Poly2:
     f(x) = p1*x^2 + p2*x + p3
     Coefficients (with 95% confidence bounds):
       p1 =    0.006541  (0.006124, 0.006958)
       p2 =      -23.51  (-25.09, -21.93)
       p3 =   2.113e+04  (1.964e+04, 2.262e+04)
plot(f,cdate,pop)

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

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

Загрузите некоторые данные и соответствуйте полиномиальной поверхности степени 2 в x и степень 3 в y. Постройте подгонку и данные.

load franke
sf = fit([x, y],z,'poly23')
     Linear model Poly23:
     sf(x,y) = p00 + p10*x + p01*y + p20*x^2 + p11*x*y + p02*y^2 + p21*x^2*y 
                    + p12*x*y^2 + p03*y^3
     Coefficients (with 95% confidence bounds):
       p00 =       1.118  (0.9149, 1.321)
       p10 =  -0.0002941  (-0.000502, -8.623e-05)
       p01 =       1.533  (0.7032, 2.364)
       p20 =  -1.966e-08  (-7.084e-08, 3.152e-08)
       p11 =   0.0003427  (-0.0001009, 0.0007863)
       p02 =      -6.951  (-8.421, -5.481)
       p21 =   9.563e-08  (6.276e-09, 1.85e-07)
       p12 =  -0.0004401  (-0.0007082, -0.0001721)
       p03 =       4.999  (4.082, 5.917)
plot(sf,[x,y],z)

Figure contains an axes. The axes contains 2 objects of type surface, line.

Загрузите franke данные и преобразуют его в таблицу MATLAB®.

load franke
T = table(x,y,z);

Задайте переменные в таблице как входные параметры к fit функция и график подгонка.

f = fit([T.x, T.y],T.z,'linearinterp');
plot( f, [T.x, T.y], T.z )

Figure contains an axes. The axes contains 2 objects of type surface, line.

Загрузите и отобразите данные на графике, создайте подходящие опции и подходящий тип с помощью fittype и fitoptions функции, затем создайте и постройте подгонку.

Загрузите и отобразите данные на графике в census.mat.

load census
plot(cdate,pop,'o')

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

Создайте подходящий объект опций и подходящий тип для пользовательской нелинейной модели y=a(x-b)n, где a и b являются коэффициентами, и n является зависимым проблемой параметром.

fo = fitoptions('Method','NonlinearLeastSquares',...
               'Lower',[0,0],...
               'Upper',[Inf,max(cdate)],...
               'StartPoint',[1 1]);
ft = fittype('a*(x-b)^n','problem','n','options',fo);

Соответствуйте данным с помощью подходящих опций и значения n = 2.

[curve2,gof2] = fit(cdate,pop,ft,'problem',2)
curve2 = 
     General model:
     curve2(x) = a*(x-b)^n
     Coefficients (with 95% confidence bounds):
       a =    0.006092  (0.005743, 0.006441)
       b =        1789  (1784, 1793)
     Problem parameters:
       n =           2
gof2 = struct with fields:
           sse: 246.1543
       rsquare: 0.9980
           dfe: 19
    adjrsquare: 0.9979
          rmse: 3.5994

Соответствуйте данным с помощью подходящих опций и значения n = 3.

[curve3,gof3] = fit(cdate,pop,ft,'problem',3)
curve3 = 
     General model:
     curve3(x) = a*(x-b)^n
     Coefficients (with 95% confidence bounds):
       a =   1.359e-05  (1.245e-05, 1.474e-05)
       b =        1725  (1718, 1731)
     Problem parameters:
       n =           3
gof3 = struct with fields:
           sse: 232.0058
       rsquare: 0.9981
           dfe: 19
    adjrsquare: 0.9980
          rmse: 3.4944

Постройте результаты подгонки с данными.

hold on
plot(curve2,'m')
plot(curve3,'c')
legend('Data','n=2','n=3')
hold off

Figure contains an axes. The axes contains 3 objects of type line. These objects represent Data, n=2, n=3.

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

load census;
f=fit(cdate,pop,'poly3','Normalize','on','Robust','Bisquare')
f = 
     Linear model Poly3:
     f(x) = p1*x^3 + p2*x^2 + p3*x + p4
       where x is normalized by mean 1890 and std 62.05
     Coefficients (with 95% confidence bounds):
       p1 =     -0.4619  (-1.895, 0.9707)
       p2 =       25.01  (23.79, 26.22)
       p3 =       77.03  (74.37, 79.7)
       p4 =       62.81  (61.26, 64.37)
plot(f,cdate,pop)

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

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

Задайте функцию в файле MATLAB®.

function y = piecewiseLine(x,a,b,c,d,k)
% PIECEWISELINE   A line made of two pieces
% that is not continuous.

y = zeros(size(x));

% This example includes a for-loop and if statement
% purely for example purposes.
for i = 1:length(x)
    if x(i) < k,
        y(i) = a + b.* x(i);
    else
        y(i) = c + d.* x(i);
    end
end
end

Сохраните файл.

Задайте некоторые данные, создайте подходящий тип, задающий функциональный piecewiseLine, создайте подгонку с помощью подходящего типа ft, и постройте результаты.

x = [0.81;0.91;0.13;0.91;0.63;0.098;0.28;0.55;...
0.96;0.96;0.16;0.97;0.96];
y = [0.17;0.12;0.16;0.0035;0.37;0.082;0.34;0.56;...
0.15;-0.046;0.17;-0.091;-0.071];
ft = fittype( 'piecewiseLine( x, a, b, c, d, k )' )
f = fit( x, y, ft, 'StartPoint', [1, 0, 1, 0, 0.5] )
plot( f, x, y ) 

Загрузите некоторые данные и соответствуйте пользовательскому определению уравнения точки, чтобы исключить. Постройте график результатов.

Загрузите данные и определите пользовательское уравнение и некоторые стартовые точки.

[x, y] = titanium;

gaussEqn = 'a*exp(-((x-b)/c)^2)+d'
gaussEqn = 
'a*exp(-((x-b)/c)^2)+d'
startPoints = [1.5 900 10 0.6]
startPoints = 1×4

    1.5000  900.0000   10.0000    0.6000

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

f1 = fit(x',y',gaussEqn,'Start', startPoints, 'Exclude', [1 10 25])
f1 = 
     General model:
     f1(x) = a*exp(-((x-b)/c)^2)+d
     Coefficients (with 95% confidence bounds):
       a =       1.493  (1.432, 1.554)
       b =       897.4  (896.5, 898.3)
       c =        27.9  (26.55, 29.25)
       d =      0.6519  (0.6367, 0.6672)
f2 = fit(x',y',gaussEqn,'Start', startPoints, 'Exclude', x < 800)
f2 = 
     General model:
     f2(x) = a*exp(-((x-b)/c)^2)+d
     Coefficients (with 95% confidence bounds):
       a =       1.494  (1.41, 1.578)
       b =       897.4  (896.2, 898.7)
       c =       28.15  (26.22, 30.09)
       d =      0.6466  (0.6169, 0.6764)

Постройте обе подгонки.

plot(f1,x,y)
title('Fit with data points 1, 10, and 25 excluded')

Figure contains an axes. The axes with title Fit with data points 1, 10, and 25 excluded contains 2 objects of type line. These objects represent data, fitted curve.

figure
plot(f2,x,y)
title('Fit with data points excluded such that x < 800')

Figure contains an axes. The axes with title Fit with data points excluded such that x < 800 contains 2 objects of type line. These objects represent data, fitted curve.

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

Загрузите данные и определите пользовательское уравнение и некоторые стартовые точки.

[x, y] = titanium;

gaussEqn = 'a*exp(-((x-b)/c)^2)+d'
gaussEqn = 
'a*exp(-((x-b)/c)^2)+d'
startPoints = [1.5 900 10 0.6]
startPoints = 1×4

    1.5000  900.0000   10.0000    0.6000

Задайте два набора точек, чтобы исключить, с помощью вектора индекса и выражения.

exclude1 = [1 10 25];
exclude2 = x < 800;

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

f1 = fit(x',y',gaussEqn,'Start', startPoints, 'Exclude', exclude1);
f2 = fit(x',y',gaussEqn,'Start', startPoints, 'Exclude', exclude2);

Постройте обе подгонки и подсветите исключенные данные.

plot(f1,x,y,exclude1)
title('Fit with data points 1, 10, and 25 excluded')

Figure contains an axes. The axes with title Fit with data points 1, 10, and 25 excluded contains 3 objects of type line. These objects represent data, excluded data, fitted curve.

figure; 
plot(f2,x,y,exclude2)
title('Fit with data points excluded such that x < 800')

Figure contains an axes. The axes with title Fit with data points excluded such that x < 800 contains 3 objects of type line. These objects represent data, excluded data, fitted curve.

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

load franke
f1 = fit([x y],z,'poly23', 'Exclude', [1 10 25]);
f2 = fit([x y],z,'poly23', 'Exclude', z > 1);

figure
plot(f1, [x y], z, 'Exclude', [1 10 25]);
title('Fit with data points 1, 10, and 25 excluded')

Figure contains an axes. The axes with title Fit with data points 1, 10, and 25 excluded contains 3 objects of type surface, line.

figure
plot(f2, [x y], z, 'Exclude', z > 1);
title('Fit with data points excluded such that z > 1')

Figure contains an axes. The axes with title Fit with data points excluded such that z > 1 contains 3 objects of type surface, line.

Загрузите некоторые данные и соответствуйте сплайновой кривой сглаживания через переменные month и pressure, и возвратите информацию о качестве подгонки и структуру output. Постройте подгонку и остаточные значения против данных.

load enso;
[curve, goodness, output] = fit(month,pressure,'smoothingspline');
plot(curve,month,pressure);
xlabel('Month');
ylabel('Pressure');

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

Постройте остаточные значения против x-данных (month).

plot( curve, month, pressure, 'residuals' )
xlabel( 'Month' )
ylabel( 'Residuals' )

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

Используйте данные в output структура, чтобы построить остаточные значения против y-данных (pressure).

plot( pressure, output.residuals, '.' )
xlabel( 'Pressure' )
ylabel( 'Residuals' )

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

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

x = (0:0.2:5)';
y = 2*exp(-0.2*x) + 0.5*randn(size(x));
f = fit(x,y,'exp1');
plot(f,x,y)

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

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

Загрузите данные и установите Emax к 1 прежде, чем задать вашу анонимную функцию:

data = importdata( 'OpioidHypnoticSynergy.txt' );
Propofol      = data.data(:,1);
Remifentanil  = data.data(:,2);
Algometry     = data.data(:,3);
Emax = 1;

Определите уравнение модели как анонимную функцию:

Effect = @(IC50A, IC50B, alpha, n, x, y) ...
    Emax*( x/IC50A + y/IC50B + alpha*( x/IC50A )...
    .* ( y/IC50B ) ).^n ./(( x/IC50A + y/IC50B + ...
    alpha*( x/IC50A ) .* ( y/IC50B ) ).^n  + 1);

Используйте анонимную функцию Effect как вход к fit функция и график результаты:

AlgometryEffect = fit( [Propofol, Remifentanil], Algometry, Effect, ...
    'StartPoint', [2, 10, 1, 0.8], ...
    'Lower', [-Inf, -Inf, -5, -Inf], ...
    'Robust', 'LAR' )
plot( AlgometryEffect, [Propofol, Remifentanil], Algometry )

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

Для свойств Upperниже, и StartPoint, необходимо найти порядок записей для коэффициентов.

Создайте подходящий тип.

ft = fittype('b*x^2+c*x+a');

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

coeffnames(ft)
ans = 3x1 cell
    {'a'}
    {'b'}
    {'c'}

Обратите внимание на то, что это отличается от порядка коэффициентов в выражении, используемом, чтобы создать ft с fittype.

Загрузите данные, создайте подгонку и установите стартовые точки.

load enso
fit(month,pressure,ft,'StartPoint',[1,3,5])
ans = 
     General model:
     ans(x) = b*x^2+c*x+a
     Coefficients (with 95% confidence bounds):
       a =       10.94  (9.362, 12.52)
       b =   0.0001677  (-7.985e-05, 0.0004153)
       c =     -0.0224  (-0.06559, 0.02079)

Это присваивает начальные значения коэффициентам можно следующим образом: a = 1, b = 3, c = 5.

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

options = fitoptions(ft)
options =

        Normalize: 'off'
          Exclude: []
          Weights: []
           Method: 'NonlinearLeastSquares'
           Robust: 'Off'
       StartPoint: [1x0 double]
            Lower: [1x0 double]
            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.StartPoint = [10 1 3];
options.Lower = [0 -Inf 0];
fit(month,pressure,ft,options)
ans = 
     General model:
     ans(x) = b*x^2+c*x+a
     Coefficients (with 95% confidence bounds):
       a =       10.23  (9.448, 11.01)
       b =   4.335e-05  (-1.82e-05, 0.0001049)
       c =   5.523e-12  (fixed at bound)

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

свернуть все

Данные, чтобы соответствовать в виде матрицы или одной (аппроксимирование кривыми) или два (подбор кривой поверхности) столбцы. Можно задать переменные в таблице MATLAB с помощью tablename.varname. Не может содержать Inf или NaN. Только действительные части комплексных данных используются в подгонке.

Пример: x

Пример: [x,y]

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

Данные, чтобы соответствовать в виде вектор-столбца одинаковому числу строк как x. Можно задать переменную в таблице MATLAB с помощью tablename.varname. Не может содержать Inf или NaN. Только действительные части комплексных данных используются в подгонке.

Использование prepareCurveData или prepareSurfaceData если ваши данные не находятся в форме вектор-столбца.

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

Данные, чтобы соответствовать в виде вектор-столбца одинаковому числу строк как x. Можно задать переменную в таблице MATLAB с помощью tablename.varname. Не может содержать Inf или NaN. Только действительные части комплексных данных используются в подгонке.

Использование prepareSurfaceData если ваши данные не находятся в форме вектор-столбца. Например, если у вас есть 3 матрицы, или если ваши данные находятся в форме вектора сетки, где length(X) = n, length(Y) = m и size(Z) = [m,n].

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

Тип модели, чтобы соответствовать в виде вектора символов имени модели библиотеки, выражения MATLAB, массива ячеек линейных условий моделей, анонимной функции или fittype созданный с fittype функция. Можно использовать любые из допустимых первых входных параметров к fittype как вход к fit.

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

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

Описание

'poly1'

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

'poly11'

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

'poly2'

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

'linearinterp'

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

'cubicinterp'

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

'smoothingspline'

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

'lowess'

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

Чтобы подбирать пользовательские модели, используйте выражение MATLAB, массив ячеек линейных условий модели, анонимной функции, или создайте fittype с fittype функционируйте и используйте это в качестве fitType аргумент. Для примера сочтите целесообразным Пользовательская Модель Используя Анонимную функцию. Для примеров линейных условий модели смотрите fitType функция.

Пример: poly2

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

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

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

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

свернуть все

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

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

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

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

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

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

Для примера смотрите, Исключают Точки из Подгонки.

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

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

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

Значения, чтобы присвоить зависимым проблемой константам в виде разделенной запятой пары, состоящей из 'problem' и массив ячеек с одним элементом на проблемного постоянного зависимого. Для получения дополнительной информации смотрите fittype.

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

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

свернуть все

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

Если никакие стартовые точки (значение по умолчанию пустого вектора) не передаются fit функция, начальные точки для некоторых моделей библиотеки определяются эвристическим образом. Для рационального и моделей Weibull и всех пользовательских нелинейных моделей, тулбокс выбирает начальные значения по умолчанию для коэффициентов однородно наугад от интервала (0,1). В результате несколько подгонок с помощью тех же данных и силы модели приводят к различным подходящим коэффициентам. Чтобы избежать этого, задайте начальные значения для коэффициентов с a fitoptions возразите или векторное значение для 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

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

свернуть все

Результат подгонки, возвращенный как a cfit (для кривых) или sfit (для поверхностей) объект. Сочтите целесообразным Постобработав для функций для графического вывода, оценки, вычисления доверительных интервалов, интеграции, дифференциации или изменения вашего подходящего объекта.

Статистика качества подгонки, возвращенная как gof структура включая поля в этой таблице.

Поле

Значение

sse

Сумма квадратов из-за ошибки

rsquare

R-squared (коэффициент детерминации)

dfe

Степени свободы по ошибке

adjrsquare

Степень свободы настроила коэффициент детерминации

rmse

Среднеквадратическая ошибка (стандартная погрешность)

Информация об алгоритме подбора, возвращенная как output структура, содержащая информацию, сопоставлена с алгоритмом подбора.

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

Поле

Значение

numobs

Количество наблюдений (значения отклика)

numparam

Количество неизвестных параметров (коэффициенты), чтобы соответствовать

residuals

Вектор из остаточных значений

Jacobian

Якобиевская матрица

exitflag

Описывает выходное условие алгоритма. Положительные флаги указывают на сходимость в допусках. Нулевые флаги указывают, что максимальное количество вычислений функции или итераций было превышено. Отрицательные флаги указывают, что алгоритм не сходился к решению.

iterations

Количество итераций

funcCount

Количество вычислений функции

firstorderopt

Мера оптимальности первого порядка (абсолютный максимум компонентов градиента)

algorithm

Алгоритм подбора используется

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