이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

fit

곡선 또는 곡면을 데이터에 피팅

설명

예제

fitobject = fit(x,y,fitType)fitType으로 지정된 모델을 사용하여 xy 데이터에 대한 피팅을 만듭니다.

예제

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에 피팅 알고리즘 정보를 반환합니다.

예제

모두 축소

데이터를 불러와서 변수 cdatepop에 2차 곡선을 피팅하고 피팅 결과와 데이터를 플로팅합니다.

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을 참조하십시오.

데이터를 불러와서 x가 2차고 y가 3차인 다항식 곡면을 피팅합니다. 피팅과 데이터를 플로팅합니다.

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에 대한 fit options 객체와 피팅 유형을 만듭니다. 여기서 ab는 계수이고 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) 옵션 및 로버스트 피팅 옵션을 사용하여 3차 다항식을 피팅하고 플로팅합니다.

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

사용자 지정 수식과 시작점을 사용하여 2개의 피팅을 만들고, 인덱스 벡터와 표현식을 사용하여 2개의 제외된 점 집합을 정의합니다. 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')

제외된 점을 변수로 정의한 다음 이를 fit 함수에 대한 입력값으로 제공할 수 있습니다. 다음 단계에서는 위 예제의 피팅을 다시 생성하여 데이터와 피팅뿐만 아니라 제외된 점도 플로팅할 수 있도록 합니다.

데이터를 불러와서 사용자 지정 수식과 몇몇 시작점을 정의합니다.

[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

인덱스 벡터와 표현식을 사용하여 제외할 점 집합 2개를 정의합니다.

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

사용자 지정 수식, 시작점, 2개의 제외된 점 집합을 사용하여 2개의 피팅을 만듭니다.

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

데이터를 불러와서 변수 monthpressure를 통해 평활화 스플라인 곡선을 피팅한 후 적합도 정보와 출력 구조체를 반환합니다. 데이터에 대해 피팅과 잔차를 플로팅합니다.

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 함수로 다른 데이터를 보다 쉽게 전달할 수 있습니다.

익명 함수를 정의하기 전에 먼저 데이터를 불러오고 Emax1로 설정합니다.

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

익명 함수 Effectfit 함수에 대한 입력값으로 사용하고 결과를 플로팅합니다.

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
    {'a'}
    {'b'}
    {'c'}

이것은 fittype을 사용하여 ft를 만들 때 사용한 표현식의 계수 순서와 다릅니다.

데이터를 불러오고 피팅을 만든 후 시작점을 설정합니다.

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)

입력 인수

모두 축소

피팅할 데이터로, 하나(곡선 피팅) 또는 두 개(곡면 피팅)의 열을 갖는 행렬로 지정됩니다. tablename.varname을 사용하여 MATLAB 테이블의 변수를 지정할 수 있습니다. Inf 또는 NaN은 포함할 수 없습니다. 피팅에는 복소수 데이터의 실수부만 사용됩니다.

예: x

예: [x,y]

데이터형: double

피팅할 데이터로, x와 동일한 개수의 행을 갖는 열 벡터로 지정됩니다. tablename.varname을 사용하여 MATLAB 테이블의 변수를 지정할 수 있습니다. Inf 또는 NaN은 포함할 수 없습니다. 피팅에는 복소수 데이터의 실수부만 사용됩니다.

데이터가 열 벡터 형식이 아닌 경우 prepareCurveData 또는 prepareSurfaceData를 사용하십시오.

데이터형: double

피팅할 데이터로, x와 동일한 개수의 행을 갖는 열 벡터로 지정됩니다. tablename.varname을 사용하여 MATLAB 테이블의 변수를 지정할 수 있습니다. Inf 또는 NaN은 포함할 수 없습니다. 피팅에는 복소수 데이터의 실수부만 사용됩니다.

데이터가 열 벡터 형식이 아닌 경우 prepareSurfaceData를 사용하십시오. 행렬이 3개 있거나, 데이터가 length(X) = n, length(Y) = m, size(Z) = [m,n]인 그리드 벡터 형식을 갖는 경우를 예로 들 수 있습니다.

데이터형: double

피팅할 모델 유형으로, 라이브러리 모델 이름 문자형 벡터, MATLAB 표현식, 선형 모델 항으로 구성된 셀형 배열, 익명 함수 또는 fittype 함수로 생성된 fittype으로 지정됩니다. fittype에 대해 유효한 임의의 첫 번째 입력값을 fit의 입력값으로 사용할 수 있습니다.

라이브러리 모델 이름 목록은 모델 이름과 방정식 항목을 참조하십시오. 다음 표에는 몇 가지 일반적인 예가 나와 있습니다.

라이브러리 모델 이름

설명

'poly1'

1차 다항식 곡선

'poly11'

1차 다항식 곡면

'poly2'

2차 다항식 곡선

'linearinterp'

조각별 선형 보간

'cubicinterp'

조각별 3차 보간

'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를 사용하여 만듭니다.

예제는 피팅에서 점 제외하기 항목을 참조하십시오.

데이터형: logical | double

피팅의 가중치로, 'Weights'와 함께 응답 변수 데이터 y(곡선) 또는 z(곡면)와 크기가 같은 벡터가 쉼표로 구분되어 지정됩니다.

데이터형: double

문제 종속적인 상수에 할당할 값으로, 'problem'과 함께 문제 종속적인 상수 하나당 요소 하나를 갖는 셀형 배열이 쉼표로 구분되어 지정됩니다. 자세한 내용은 fittype을 참조하십시오.

데이터형: cell | double

평활화 옵션

모두 축소

평활화 파라미터로, 'SmoothingParam'과 함께 0과 1 사이의 스칼라 값이 쉼표로 구분되어 지정됩니다. 디폴트 값은 데이터 세트에 따라 달라집니다. 피팅 유형이 smoothingspline인 경우에만 사용할 수 있습니다.

데이터형: double

국소 회귀에서 사용할 데이터 점의 비율로, 'Span'과 함께 0과 1 사이의 스칼라 값이 쉼표로 구분되어 지정됩니다. 피팅 유형이 lowess 또는 loess인 경우에만 사용할 수 있습니다.

데이터형: double

선형 및 비선형 최소제곱 옵션

모두 축소

로버스트 선형 최소제곱 피팅 방법으로, 'Robust'와 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'LAR'은 최소 절대 잔차법을 지정합니다.

  • 'Bisquare'는 겹제곱 가중치 방법을 지정합니다.

피팅 유형 MethodLinearLeastSquares 또는 NonlinearLeastSquares인 경우 사용할 수 있습니다.

데이터형: char

피팅할 계수의 하한으로, 'Lower'와 함께 벡터가 쉼표로 구분되어 지정됩니다. 디폴트 값은 빈 벡터로, 이는 피팅에 하한이라는 제약 조건이 적용되지 않음을 나타냅니다. 한계가 지정된 경우 벡터 길이는 계수의 개수와 같아야 합니다. coeffnames 함수를 사용하여 벡터 값에서 계수 요소의 순서를 확인합니다. 예제는 시작점과 한계를 설정하기 위해 계수 순서 찾기 항목을 참조하십시오. 제약 조건이 적용되지 않은 개별 하한은 -Inf로 지정할 수 있습니다.

MethodLinearLeastSquares 또는 NonlinearLeastSquares인 경우에 사용할 수 있습니다.

데이터형: double

피팅할 계수의 상한으로, 'Upper'와 함께 벡터가 쉼표로 구분되어 지정됩니다. 디폴트 값은 빈 벡터로, 이는 피팅에 상한이라는 제약 조건이 적용되지 않음을 나타냅니다. 한계가 지정된 경우 벡터 길이는 계수의 개수와 같아야 합니다. coeffnames 함수를 사용하여 벡터 값에서 계수 요소의 순서를 확인합니다. 예제는 시작점과 한계를 설정하기 위해 계수 순서 찾기 항목을 참조하십시오. 제약 조건이 적용되지 않은 개별 상한은 +Inf로 지정할 수 있습니다.

MethodLinearLeastSquares 또는 NonlinearLeastSquares인 경우에 사용할 수 있습니다.

데이터형: logical

비선형 최소제곱 옵션

모두 축소

계수의 초기값으로, 'StartPoint'와 함께 벡터가 쉼표로 구분되어 지정됩니다. coeffnames 함수를 사용하여 벡터 값에서 계수 요소의 순서를 확인합니다. 예제는 시작점과 한계를 설정하기 위해 계수 순서 찾기 항목을 참조하십시오.

fit 함수로 전달된 시작점(빈 벡터의 디폴트 값)이 없는 경우, 일부 라이브러리 모델의 시작점은 발견적 방식으로 정해집니다. 유리 모델과 베이불 모델, 그리고 모든 사용자 지정 비선형 모델의 경우, 이 툴박스는 구간 (0,1)에서 계수에 대한 디폴트 초기값을 임의로 균일하게 선택합니다. 따라서 동일한 데이터와 모델을 사용해서 피팅을 여러 번 수행하면 피팅된 계수가 서로 다를 수 있습니다. 이를 방지하려면 fitoptions 객체를 사용하거나 StartPoint 값으로 벡터 값을 사용하여 계수의 초기값을 지정하십시오.

MethodNonlinearLeastSquares인 경우 사용할 수 있습니다.

데이터형: double

피팅 절차에 사용할 알고리즘으로, 'Algorithm'과 함께 'Levenberg-Marquardt' 또는 'Trust-Region'이 쉼표로 구분되어 지정됩니다.

MethodNonlinearLeastSquares인 경우 사용할 수 있습니다.

데이터형: char

유한 차분 기울기에 대한 계수의 최대 변화량으로, 'DiffMaxChange'와 함께 스칼라가 쉼표로 구분되어 지정됩니다.

MethodNonlinearLeastSquares인 경우 사용할 수 있습니다.

데이터형: double

유한 차분 기울기에 대한 계수의 최소 변화량으로, 'DiffMinChange'와 함께 스칼라가 쉼표로 구분되어 지정됩니다.

MethodNonlinearLeastSquares인 경우 사용할 수 있습니다.

데이터형: double

명령 창의 표시 옵션으로, 'Display'와 함께 다음 옵션 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'notify'는 피팅이 수렴하지 않는 경우에만 출력값을 표시합니다.

  • 'final'은 최종 출력값만 표시합니다.

  • 'iter'은 각 반복마다 출력값을 표시합니다.

  • 'off'는 출력값을 표시하지 않습니다.

MethodNonlinearLeastSquares인 경우 사용할 수 있습니다.

데이터형: char

모델의 허용되는 최대 실행 횟수로, 'MaxFunEvals'와 함께 스칼라가 쉼표로 구분되어 지정됩니다.

MethodNonlinearLeastSquares인 경우 사용할 수 있습니다.

데이터형: double

피팅에 대해 허용되는 최대 반복 횟수로, 'MaxIter'과 함께 스칼라가 쉼표로 구분되어 지정됩니다.

MethodNonlinearLeastSquares인 경우 사용할 수 있습니다.

데이터형: double

모델 값에 대한 종료 허용오차로, 'TolFun'과 함께 스칼라가 쉼표로 구분되어 지정됩니다.

MethodNonlinearLeastSquares인 경우 사용할 수 있습니다.

데이터형: double

계수 값에 대한 종료 허용오차로, 'TolX'와 함께 스칼라가 쉼표로 구분되어 지정됩니다.

MethodNonlinearLeastSquares인 경우 사용할 수 있습니다.

데이터형: double

출력 인수

모두 축소

피팅 결과로, cfit(곡선) 또는 sfit(곡면) 객체로 반환됩니다. 플로팅, 평가, 신뢰구간 계산, 적분, 미분 또는 피팅 객체 수정을 위한 함수는 피팅 후처리 항목을 참조하십시오.

적합도 통계량으로, 다음 표에 나와 있는 필드를 포함하는 gof 구조체로 반환됩니다.

필드

sse

오차제곱합

rsquare

결정계수

dfe

오차의 자유도

adjrsquare

자유도 수정된 결정계수

rmse

평균 제곱 오차의 제곱근(표준 오차)

피팅 알고리즘 정보로, 피팅 알고리즘과 관련된 정보를 포함하는 output 구조체로 반환됩니다.

필드는 알고리즘에 따라 달라집니다. 예를 들어, 비선형 최소제곱 알고리즘의 output 구조체는 다음 표에 나와 있는 필드를 포함합니다.

필드

numobs

관측값 개수(응답 변수 값)

numparam

피팅할 알려지지 않은 파라미터(계수)의 개수

residuals

잔차로 구성된 벡터

Jacobian

야코비 행렬

exitflag

알고리즘의 종료 조건을 설명합니다. 양의 플래그는 허용오차 내의 수렴을 나타냅니다. 0 플래그는 함수 실행이나 반복의 최대 횟수가 초과되었음을 나타냅니다. 음의 플래그는 알고리즘이 해로 수렴하지 않았음을 나타냅니다.

iterations

반복 횟수

funcCount

함수 실행 횟수

firstorderopt

1차 최적성에 대한 측도(기울기 성분의 절대 최댓값)

algorithm

사용한 피팅 알고리즘

R2006a 이전에 개발됨