подгонка

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

Синтаксис

fitobject = fit(x,y,fitType)
fitobject = fit([x,y],z,fitType)
fitobject = fit(x,y,fitType,fitOptions)
fitobject = fit(x,y,fitType,Name,Value)
[fitobject,gof] = fit(x,y,fitType)
[fitobject,gof,output] = fit(x,y,fitType)

Описание

пример

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

пример

fitobject = fit([x,y],z,fitType) создает поверхностную подгонку к данным в векторах x, y и 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)

Для списка имен модели библиотеки смотрите 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)

Загрузите данные 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 )

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

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

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

Создайте подходящий объект опций и подходящий тип для пользовательской нелинейной модели 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

Загрузите некоторые данные и соответствуйте и постройте кубический полином с центром и шкалой (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)

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

Задайте функцию в файле 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
plot(f2,x,y)
title('Fit with data points excluded such that x < 800')

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

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

[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; 
plot(f2,x,y,exclude2)
title('Fit with data points excluded such that x < 800')

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

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
plot(f2, [x y], z, 'Exclude', z > 1);
title('Fit with data points excluded such that z > 1')

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

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

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

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

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

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

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

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)

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

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

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

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

coeffnames(ft)
ans = 3x1 cell array
    {'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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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.

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

Типы данных: logical | 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). В результате несколько подгонок с помощью тех же данных и силы модели приводят к различным подходящим коэффициентам. Чтобы избежать этого, задайте начальные значения для коэффициентов с объектом 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

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

свернуть все

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

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

Поле

Значение

sse

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

rsquare

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

dfe

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

adjrsquare

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

rmse

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

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

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

Поле

Значение

numobs

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

numparam

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

residuals

Вектор невязок

Jacobian

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

exitflag

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

iterations

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

funcCount

Количество функциональных оценок

firstorderopt

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

algorithm

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

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

Для просмотра документации необходимо авторизоваться на сайте