Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Evaluar un ajuste de superficie

Este ejemplo muestra cómo trabajar con un ajuste de superficie.

Cargar datos y ajustar una superficie polinomial

load franke;
surffit = fit([x,y],z,'poly23','normalize','on')
     Linear model Poly23:
     surffit(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
       where x is normalized by mean 1982 and std 868.6
       and where y is normalized by mean 0.4972 and std 0.2897
     Coefficients (with 95% confidence bounds):
       p00 =      0.4253  (0.3928, 0.4578)
       p10 =      -0.106  (-0.1322, -0.07974)
       p01 =     -0.4299  (-0.4775, -0.3822)
       p20 =     0.02104  (0.001457, 0.04062)
       p11 =     0.07153  (0.05409, 0.08898)
       p02 =    -0.03084  (-0.05039, -0.01129)
       p21 =     0.02091  (0.001372, 0.04044)
       p12 =     -0.0321  (-0.05164, -0.01255)
       p03 =      0.1216  (0.09929, 0.1439)

La salida muestra la ecuación modelo ajustada, los coeficientes ajustados y los límites de confianza para los coeficientes ajustados.

Representar el ajuste, datos, valores residuales y límites de predicción

plot(surffit,[x,y],z)

Figure contains an axes object. The axes object contains 2 objects of type surface, line. One or more of the lines displays its values using only markers

Represente el ajuste de los valores residuales.

plot(surffit,[x,y],z,'Style','Residuals')

Figure contains an axes object. The axes object contains 2 objects of type patch, stem.

Represente los límites de predicción del ajuste.

plot(surffit,[x,y],z,'Style','predfunc')

Figure contains an axes object. The axes object contains 4 objects of type surface, line. One or more of the lines displays its values using only markers

Evaluar el ajuste en un punto específico

Evalúe el ajuste en un punto específico definiendo un valor para x e y con esta fórmula: z = fittedmodel(x,y).

surffit(1000,0.5)
ans = 0.5673

Evaluar los valores de ajuste en muchos puntos

xi = [500;1000;1200];
yi = [0.7;0.6;0.5];
surffit(xi,yi)
ans = 3×1

    0.3771
    0.4064
    0.5331

Obtenga límites de predicción en dichos valores.

[ci, zi] = predint(surffit,[xi,yi])
ci = 3×2

    0.0713    0.6829
    0.1058    0.7069
    0.2333    0.8330

zi = 3×1

    0.3771
    0.4064
    0.5331

Obtener la ecuación modelo

Indique el nombre del ajuste para mostrar la ecuación modelo, los coeficientes ajustados y los límites de confianza para los coeficientes ajustados.

surffit
     Linear model Poly23:
     surffit(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
       where x is normalized by mean 1982 and std 868.6
       and where y is normalized by mean 0.4972 and std 0.2897
     Coefficients (with 95% confidence bounds):
       p00 =      0.4253  (0.3928, 0.4578)
       p10 =      -0.106  (-0.1322, -0.07974)
       p01 =     -0.4299  (-0.4775, -0.3822)
       p20 =     0.02104  (0.001457, 0.04062)
       p11 =     0.07153  (0.05409, 0.08898)
       p02 =    -0.03084  (-0.05039, -0.01129)
       p21 =     0.02091  (0.001372, 0.04044)
       p12 =     -0.0321  (-0.05164, -0.01255)
       p03 =      0.1216  (0.09929, 0.1439)

Para obtener solo la ecuación modelo, utilice formula.

formula(surffit)
ans = 
'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'

Obtener nombres y valores de coeficiente

Especifique un coeficiente por su nombre.

p00 = surffit.p00
p00 = 0.4253
p03 = surffit.p03
p03 = 0.1216

Obtenga todos los nombres de coeficientes. Observe la ecuación de ajuste (por ejemplo, f(x,y) = p00 + p10*x...) para ver los términos del modelo para cada coeficiente.

coeffnames(surffit)
ans = 9x1 cell
    {'p00'}
    {'p10'}
    {'p01'}
    {'p20'}
    {'p11'}
    {'p02'}
    {'p21'}
    {'p12'}
    {'p03'}

Obtenga todos los valores de coeficientes.

coeffvalues(surffit)
ans = 1×9

    0.4253   -0.1060   -0.4299    0.0210    0.0715   -0.0308    0.0209   -0.0321    0.1216

Obtener los límites de confianza en los coeficientes

Utilizar los límites de confianza en los coeficientes le resultará útil para evaluar y comparar ajustes. Los límites de confianza en los coeficientes determinan su precisión. Los límites muy separados indican incertidumbre. Si los límites cruzan por cero para los coeficientes lineales, significa que no puede tener la certeza de que estos coeficientes difieran de cero. Si los términos de algunos modelos tienen coeficientes de cero, entonces no ayudarán con el ajuste.

confint(surffit)
ans = 2×9

    0.3928   -0.1322   -0.4775    0.0015    0.0541   -0.0504    0.0014   -0.0516    0.0993
    0.4578   -0.0797   -0.3822    0.0406    0.0890   -0.0113    0.0404   -0.0126    0.1439

Buscar métodos

Enumere todos los métodos que puede utilizar con el ajuste.

methods(surffit)
Methods for class sfit:

argnames       category       coeffnames     coeffvalues    confint        dependnames    differentiate  feval          fitoptions     formula        indepnames     islinear       numargs        numcoeffs      plot           predint        probnames      probvalues     quad2d         setoptions     sfit           type           

Para obtener más información sobre cómo usar un método de ajuste, consulte sfit.

Consulte también

| | |