Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

fit

Ajustar curvas o superficies a datos

Descripción

ejemplo

fitobject = fit(x,y,fitType) crea el ajuste para los datos en x e y con el modelo especificado por fitType.

ejemplo

fitobject = fit([x,y],z,fitType) crea un ajuste de superficie para los datos en vectores x, y y z.

ejemplo

fitobject = fit(x,y,fitType,fitOptions) crea un ajuste para los datos con las opciones de algoritmo especificadas por el objeto fitOptions.

ejemplo

fitobject = fit(x,y,fitType,Name,Value) crea un ajuste para los datos con el modelo de la biblioteca fitType con opciones adicionales especificadas por uno o más argumentos de parName,Value. Utilice fitoptions para mostrar nombres de propiedad disponibles y valores predeterminados para el modelo específico de la biblioteca.

ejemplo

[fitobject,gof] = fit(x,y,fitType) devuelve estadísticas de bondad de ajuste en la estructura gof.

ejemplo

[fitobject,gof,output] = fit(x,y,fitType) devuelve información del algoritmo de ajuste en la estructura output.

Ejemplos

contraer todo

Cargue algunos datos, ajuste la curva cuadrática a las variables cdate y pop, y represente el ajuste y los datos.

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)

Para obtener una lista de nombres de modelos de biblioteca, consulte fitType.

Cargue algunos datos y ajuste una superficie polinomial de grado 2 en x y de grado 3 en y. Represente el ajuste y los datos.

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)

Cargue los datos franke y conviértalos en una tabla de MATLAB®.

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

Especifique las variables en la tabla como entradas de la función fit y represente el ajuste.

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

Cargue y represente los datos, cree opciones de ajuste y tipo de ajuste con las funciones fittype y fitoptions, luego, cree y represente el ajuste.

Cargue y represente los datos en census.mat.

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

Cree un objeto de opciones de ajuste y un tipo de ajuste para el modelo personalizado no lineal y=a(x-b)n, en el que a y b son coeficientes y n es un parámetro dependiente de problema.

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

Ajuste los datos con las opciones de ajuste y un valor de 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

Ajuste los datos con las opciones de ajuste y un valor de 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

Represente los resultados de ajuste con los datos.

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

Cargue algunos datos, ajuste y represente un polinomio cúbico con centro y escala (Normalize) y opciones de ajuste robusto.

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)

Defina una función en un archivo y utilícela para crear un tipo de ajuste y ajustar una curva.

Defina una función en un archivo de 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

Guarde el archivo.

Defina algunos datos, cree un tipo de ajuste especificando la función piecewiseLine, cree un ajuste con el tipo de ajuste ft y represente los resultados.

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 ) 

Cargue algunos datos y ajuste una ecuación personalizada que especifique los puntos que se deben excluir. Represente los resultados.

Cargue datos y defina una ecuación personalizada y algunos puntos de partida.

[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

Cree dos ajustes con la ecuación personalizada y los puntos de partida, y defina dos conjuntos distintos de puntos excluidos utilizando un vector índice y una expresión. Utilice Exclude para eliminar los valores atípicos de su ajuste.

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)

Represente ambos ajustes.

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')

Puede definir los puntos excluidos como variables antes de proporcionarlos como entradas para la función de ajuste. Los siguientes pasos recrean los ajustes del ejemplo anterior y le permiten representar los puntos excluidos, así como los datos y el ajuste.

Cargue datos y defina una ecuación personalizada y algunos puntos de partida.

[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

Defina dos conjuntos de puntos para excluir, utilizando un vector índice y una expresión.

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

Cree dos ajustes con la ecuación personalizada, puntos de partida y los dos puntos excluidos distintos.

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

Represente ambos ajustes y destaque los datos excluidos.

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')

Para generar un ejemplo de ajuste de superficie con puntos excluidos, cargue algunos datos de superficie y cree y represente ajustes que especifiquen los datos excluidos.

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')

Cargue algunos datos y ajuste una curva de spline de suavizado a lo largo de las variables month y pressure, y obtenga información sobre la bondad de ajuste y la estructura de salida. Represente el ajuste y los valores residuales en comparación con los datos.

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

Represente los valores residuales en comparación con los datos de x (month).

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

Utilice los datos de la estructura output para representar los valores residuales en comparación con los datos en y (pressure).

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

Genere datos con tendencia exponencial y luego ajústelos con la primera ecuación de la curva de ajuste de la biblioteca de modelos exponenciales (exponencial de un solo término). Represente los resultados.

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)

Puede utilizar funciones anónimas para hacer que sea más fácil pasar otros datos a la función fit.

Cargue los datos y establezca Emax en 1 antes de definir la función anónima:

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

Defina la ecuación modelo como una función anónima:

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);

Utilice la función anónima Effect como entrada para la función fit y represente los resultados:

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

Para ver más ejemplos de uso de funciones anónimas y otros modelos personalizados para ajuste, consulte la función fittype.

Para las propiedades Upper, Lower y StartPoint, debe encontrar el orden de las entradas para los coeficientes.

Cree un tipo de ajuste.

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

Obtenga los nombres y el orden de los coeficientes con la función coeffnames.

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

Tenga en cuenta que es distinto al orden de coeficientes en la expresión utilizada para crear ft con fittype.

Cargue los datos, cree un ajuste y defina los puntos de partida.

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)

Esto asigna un valor inicial a los coeficientes de la siguiente manera: a = 1, b = 3, c = 5.

También puede obtener opciones de ajuste y definir puntos de partida y cotas inferiores y luego reajustar con las nuevas opciones.

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)

Argumentos de entrada

contraer todo

Datos que ajustar, especificados como una matriz con una (ajuste de curva) o dos (ajuste de superficie) columnas. Puede especificar variables en una tabla de MATLAB con tablename.varname. No puede contener Inf ni NaN. En el ajuste solo se utilizan las partes reales de datos complejos.

Ejemplo: x

Ejemplo: [x,y]

Tipos de datos: double

Datos que ajustar, especificados como vector columna con el mismo número de filas que x. Puede especificar una variable en una tabla de MATLAB con tablename.varname. No puede contener Inf ni NaN. En el ajuste solo se utilizan las partes reales de datos complejos.

Utilice prepareCurveData o prepareSurfaceData si sus datos no están en forma de vector columna.

Tipos de datos: double

Datos que ajustar, especificados como vector columna con el mismo número de filas que x. Puede especificar una variable en una tabla de MATLAB con tablename.varname. No puede contener Inf ni NaN. En el ajuste solo se utilizan las partes reales de datos complejos.

Utilice prepareSurfaceData si sus datos no están en forma de vector columna. Por ejemplo, si tiene tres matrices o si sus datos están en forma de vector cuadrícula, en donde length(X) = n, length(Y) = m y size(Z) = [m,n].

Tipos de datos: double

Tipo de modelo para el ajuste, especificado como un vector de caracteres de nombre de modelo de biblioteca, una expresión de MATLAB, un arreglo de celdas de términos de modelos lineales, una función anónima o un fittype construido con la función fittype. Puede utilizar cualquiera de las primeras entradas válidas para fittype como entrada para fit.

Para obtener una lista de nombres de modelos de biblioteca, consulte Nombres y ecuaciones de modelos. Esta tabla muestra algunos ejemplos habituales.

Nombre de modelo de biblioteca

Descripción

'poly1'

Curva polinomial lineal

'poly11'

Superficie polinomial lineal

'poly2'

Curva polinomial cuadrática

'linearinterp'

Interpolación lineal por tramos

'cubicinterp'

Interpolación cúbica por tramos

'smoothingspline'

Spline de suavizado (curva)

'lowess'

Regresión lineal local (superficie)

Para ajustar modelos personalizados, utilice una expresión de MATLAB, un arreglo de celdas de términos de modelos lineales, una función anónima, o cree un fittype con la función fittype y utilícelo como el argumento fitType. Para ver un ejemplo, consulte Ajustar un modelo personalizado con una función anónima. Para ver ejemplos de términos de modelos lineales, consulte la función fitType.

Ejemplo: 'poly2'

Opciones de algoritmos construidas con la función fitoptions. Se trata de una alternativa para especificar argumentos de par nombre-valor en opciones de ajuste.

Argumentos de par nombre-valor

Especifique argumentos opcionales de par Name,Value separados por comas. Name es el nombre del argumento y Value el valor correspondiente. Además, Name debe aparecer entre comillas. Puede especificar varios argumentos de par nombre-valor en cualquier orden, como Name1,Value1,...,NameN,ValueN.

Ejemplo: 'Lower',[0,0],'Upper',[Inf,max(x)],'StartPoint',[1 1] especifica el método de ajuste, cotas y puntos de partida.
Opciones para todos los métodos de ajuste

contraer todo

Opción para centrar y escalar los datos, especificada como el par separado por comas compuesto por 'Normalize' y 'on' u 'off'.

Tipos de datos: char

Puntos que excluir del ajuste, especificados como el par separado por comas compuesto por 'Exclude' y uno de los siguientes:

  • Una expresión que describe un vector lógico, por ejemplo, x > 10.

  • Un vector de enteros que indexa los puntos que quiere excluir, por ejemplo, [1 10 25].

  • Un vector lógico para todos los puntos de datos en donde true representa un valor atípico, creado por excludedata.

Para ver un ejemplo, consulte Excluir puntos del ajuste.

Tipos de datos: logical | double

Ponderaciones para el ajuste, especificadas como el par separado por comas compuesto por 'Weights' y un vector del mismo tamaño que los datos de respuesta y (curvas) o z (superficies).

Tipos de datos: double

Valores que asignar a constantes dependientes de problemas, especificados como el par separado por comas compuesto por 'problem' y un arreglo de celdas con un elemento por constante dependiente de problemas. Para obtener más detalles, consulte fittype.

Tipos de datos: cell | double

Opciones de suavizado

contraer todo

Parámetro de suavizado, especificado como el par separado por comas compuesto por 'SmoothingParam' y un valor escalar entre 0 y 1. El valor predeterminado depende del conjunto de datos. Solo disponible si el tipo de ajuste es smoothingspline.

Tipos de datos: double

Proporción de puntos de datos que utilizar en regresiones locales, especificada como el par separado por comas compuesto por 'Span' y un valor escalar entre 0 y 1. Solo disponible si el tipo de ajuste es lowess o loess.

Tipos de datos: double

Opciones de mínimos cuadrados lineales y no lineales

contraer todo

Método de ajuste robusto de mínimos cuadrados, especificado como el par separado por comas compuesto por 'Robust' y uno de estos valores:

  • 'LAR' especifica el método de mínimo residual absoluto.

  • 'Bisquare' especifica el método de ponderación bicuadrada.

Disponible cuando el Method del tipo de ajuste es LinearLeastSquares o NonlinearLeastSquares.

Tipos de datos: char

Cotas inferiores en coeficientes que ajustar, especificadas como el par separado por comas compuesto por 'Lower' y un vector. El valor predeterminado es un vector vacío, que indica que el ajuste no está limitado por cotas inferiores. Si se especifican las cotas, la longitud del vector debe ser igual al número de coeficientes. Encuentre el orden de las entradas para los coeficientes en el valor del vector con la función coeffnames. Para ver un ejemplo, consulte Encontrar el orden de coeficientes para definir puntos de partida y cotas. Las cotas inferiores individuales ilimitadas se pueden especificar con -Inf.

Disponibles cuando el Method es LinearLeastSquares o NonlinearLeastSquares.

Tipos de datos: double

Cotas superiores de coeficientes que ajustar, especificadas como el par separado por comas compuesto por 'Upper' y un vector. El valor predeterminado es un vector vacío, que indica que el ajuste no está limitado por cotas superiores. Si se especifican las cotas, la longitud del vector debe ser igual al número de coeficientes. Encuentre el orden de las entradas para los coeficientes en el valor del vector con la función coeffnames. Para ver un ejemplo, consulte Encontrar el orden de coeficientes para definir puntos de partida y cotas. Las cotas superiores individuales ilimitadas se pueden especificar con +Inf.

Disponibles cuando el Method es LinearLeastSquares o NonlinearLeastSquares.

Tipos de datos: logical

Opciones de mínimos cuadrados no lineales

contraer todo

Valores iniciales para los coeficientes, especificados como el par separado por comas compuesto por 'StartPoint' y un vector. Encuentre el orden de las entradas para los coeficientes en el valor del vector con la función coeffnames. Para ver un ejemplo, consulte Encontrar el orden de coeficientes para definir puntos de partida y cotas.

Si no se trasladan puntos de partida (el valor predeterminado de un vector vacío) a la función fit, los puntos de partida para algunos modelos de biblioteca se determinan de forma heurística. Para modelos racionales y de Weibull, y todos los modelos personalizados no lineales, la toolbox selecciona los valores iniciales predeterminados para coeficientes de forma uniforme y aleatoria del intervalo (0,1). Como resultado, varios ajustes con los mismos datos y modelo podrían derivar en distintos coeficientes ajustados. Para evitarlo, especifique valores iniciales para coeficientes con un objeto fitoptions o con un valor del vector para el valor StartPoint.

Disponible cuando el Method es NonlinearLeastSquares.

Tipos de datos: double

Algoritmo que utilizar en el proceso de ajuste, especificado como el par separado por comas compuesto por 'Algorithm' y 'Levenberg-Marquardt' o 'Trust-Region'.

Disponible cuando el Method es NonlinearLeastSquares.

Tipos de datos: char

Cambio máximo en los coeficientes para gradientes de diferencia finitos, especificados como el par separado por comas compuesto por 'DiffMaxChange' y un escalar.

Disponible cuando el Method es NonlinearLeastSquares.

Tipos de datos: double

Cambio mínimo en los coeficientes para gradientes de diferencia finitos, especificado como el par separado por comas compuesto por 'DiffMinChange' y un escalar.

Disponible cuando el Method es NonlinearLeastSquares.

Tipos de datos: double

Opción de visualizar en la ventana de comandos, especificada como el par separado por comas compuesto por 'Display' y una de estas opciones:

  • 'notify' solo muestra salidas si el ajuste no converge.

  • 'final' solo muestra la salida final.

  • 'iter' muestra la salida en cada iteración.

  • 'off' no muestra salida alguna.

Disponible cuando el Method es NonlinearLeastSquares.

Tipos de datos: char

Número máximo de evaluaciones de modelo permitidas, especificado como el par separado por comas compuesto por 'MaxFunEvals' y un escalar.

Disponible cuando el Method es NonlinearLeastSquares.

Tipos de datos: double

Número máximo de iteraciones permitidas para el ajuste, especificado como el par separado por comas compuesto por 'MaxIter' y un escalar.

Disponible cuando el Method es NonlinearLeastSquares.

Tipos de datos: double

Tolerancia de terminación en el valor del modelo, especificada como el par separado por comas compuesto por 'TolFun' y un escalar.

Disponible cuando el Method es NonlinearLeastSquares.

Tipos de datos: double

Tolerancia de terminación en los valores de coeficiente, especificada como el par separado por comas compuesto por 'TolX' y un escalar.

Disponible cuando el Method es NonlinearLeastSquares.

Tipos de datos: double

Argumentos de salida

contraer todo

Resultado de ajuste, devuelto como objeto cfit (para curvas) o sfit (para superficies). Consulte Posprocesar ajustes para ver funciones de representación, evaluación, cálculo de intervalos de confidencia, integración, diferenciación o modificación de su objeto de ajuste.

Estadísticas de bondad de ajuste, devueltas como la estructura gof incluidos los valores de esta tabla.

Campo

Valor

sse

Suma de cuadrados debidos al error

rsquare

R-cuadrado (coeficiente de determinación)

dfe

Grados de libertad en el error

adjrsquare

Coeficiente de determinación ajustado al grado de libertad

rmse

Raíz del error cuadrático medio (error estándar)

Información del algoritmo de ajuste, devuelto como la estructura output que contiene información asociada con el algoritmo de ajuste.

Los campos dependen del algoritmo. Por ejemplo, la estructura output para algoritmos de mínimos cuadrados no lineales incluye los campos que se muestran en esta tabla.

Campo

Valor

numobs

Número de observaciones (valores de respuesta)

numparam

Número de parámetros desconocidos (coeficientes) que ajustar

residuals

Vector de valores residuales

Jacobian

Matriz jacobiana

exitflag

Describe la condición de salida del algoritmo. Los indicadores positivos señalan convergencia dentro de las tolerancias. Los indicadores cero señalan que el número máximo de evaluaciones de función o de iteraciones se ha superado. Los indicadores negativos señalan que el algoritmo no ha convergido a una solución.

iterations

Número de iteraciones

funcCount

Número de evaluaciones de función

firstorderopt

Medida de optimalidad de primer orden (máximo absoluto de componentes de gradiente)

algorithm

Algoritmo de ajuste utilizado

Introducido antes de R2006a