fit
곡선 또는 곡면을 데이터에 피팅
구문
설명
는 라이브러리 모델 fitobject
= fit(x
,y
,fitType
,Name,Value
)fitType
과 하나 이상의 Name,Value
쌍의 인수로 지정된 추가 옵션을 사용하여 데이터에 대한 피팅을 만듭니다. 지정된 라이브러리 모델에 대해 사용 가능한 속성 이름과 디폴트 값을 표시하려면 fitoptions
를 사용하십시오.
예제
2차 곡선 피팅하기
데이터를 불러와서 변수 cdate
와 pop
에 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)
MATLAB 테이블의 변수를 사용하여 곡면 피팅하기
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')
사용자 지정 비선형 모델 에 대한 fit options 객체와 피팅 유형을 만듭니다. 여기서 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
정규화 및 로버스트 옵션을 지정하여 3차 다항식 피팅하기
데이터를 불러와서 정규화(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')
평활화 스플라인 곡선을 피팅하고 적합도 정보 반환하기
데이터를 불러와서 변수 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
{'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)
입력 인수
x
— 피팅할 데이터
행렬
피팅할 데이터로, 하나(곡선 피팅) 또는 두 개(곡면 피팅)의 열을 갖는 행렬로 지정됩니다. tablename.varname
을 사용하여 MATLAB 테이블의 변수를 지정할 수 있습니다. Inf
또는 NaN
은 포함할 수 없습니다. 피팅에는 복소수 데이터의 실수부만 사용됩니다.
예: x
예: [x,y]
데이터형: double
y
— 피팅할 데이터
벡터
피팅할 데이터로, x
와 동일한 개수의 행을 갖는 열 벡터로 지정됩니다. tablename.varname
을 사용하여 MATLAB 테이블의 변수를 지정할 수 있습니다. Inf
또는 NaN
은 포함할 수 없습니다. 피팅에는 복소수 데이터의 실수부만 사용됩니다.
데이터가 열 벡터 형식이 아닌 경우 prepareCurveData
또는 prepareSurfaceData
를 사용하십시오.
데이터형: double
z
— 피팅할 데이터
벡터
피팅할 데이터로, x
와 동일한 개수의 행을 갖는 열 벡터로 지정됩니다. tablename.varname
을 사용하여 MATLAB 테이블의 변수를 지정할 수 있습니다. Inf
또는 NaN
은 포함할 수 없습니다. 피팅에는 복소수 데이터의 실수부만 사용됩니다.
데이터가 열 벡터 형식이 아닌 경우 prepareSurfaceData
를 사용하십시오. 행렬이 3개 있거나, 데이터가 length(X) = n, length(Y) = m
, size(Z) = [m,n]
인 그리드 벡터 형식을 갖는 경우를 예로 들 수 있습니다.
데이터형: double
fitType
— 피팅할 모델 유형
문자형 벡터 | string형 스칼라 | string형 배열 | 문자형 벡터로 구성된 셀형 배열 | 익명 함수 | fittype
피팅할 모델 유형으로, 라이브러리 모델 이름 또는 MATLAB 표현식을 나타내는 문자형 벡터나 string형 스칼라, 선형 모델 항으로 구성된 셀형 배열이나 string형 배열, 익명 함수 또는 fittype
함수로 생성된 fittype
으로 지정됩니다. fittype
에 대해 유효한 임의의 첫 번째 입력값을 fit
의 입력값으로 사용할 수 있습니다.
라이브러리 모델 이름 목록은 모델 이름과 방정식 항목을 참조하십시오. 다음 표에는 몇 가지 일반적인 예가 나와 있습니다.
라이브러리 모델 이름 | 설명 |
---|---|
| 1차 다항식 곡선 |
| 1차 다항식 곡면 |
| 2차 다항식 곡선 |
| 조각별 선형 보간 |
| 조각별 3차 보간 |
| 평활화 스플라인(곡선) |
| 국소 선형 회귀(곡면) |
사용자 지정 모델을 피팅하려면 MATLAB 표현식, 선형 모델 항으로 구성된 셀형 배열 또는 익명 함수를 사용하거나 fittype
함수를 사용하여 fittype
을 만들고 이것을 fitType
인수로 사용하십시오. 예제는 익명 함수를 사용하여 사용자 지정 모델 피팅하기 항목을 참조하십시오. 선형 모델 항 예제는 fitType
함수를 참조하십시오.
예: 'poly2'
fitOptions
— 알고리즘 옵션
fitoptions
fitoptions
함수를 사용하여 생성된 알고리즘 옵션입니다. 피팅 옵션으로 이름-값 쌍 인수를 지정하는 방법 대신에 이 옵션을 사용할 수 있습니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: 'Lower',[0,0],'Upper',[Inf,max(x)],'StartPoint',[1 1]
은 피팅 방법, 한계 및 시작점을 지정합니다.
Normalize
— 데이터 정규화 옵션
'off'
(디폴트 값) | 'on'
데이터 정규화 옵션으로, 'Normalize'
와 함께 'on'
또는 'off'
가 쉼표로 구분되어 지정됩니다.
데이터형: char
Exclude
— 피팅에서 제외할 점
표현식 | 인덱스 벡터 | 논리형 벡터 | 비어 있음
피팅에서 제외할 점으로, 'Exclude'
와 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.
논리형 벡터를 설명하는 표현식(예:
x > 10
).제외하려는 점을 참조하는 정수로 구성된 벡터(예:
[1 10 25]
).모든 데이터 점에 대한 논리형 벡터.
true
가 이상값을 나타내며excludedata
를 사용하여 만듭니다.
예제는 피팅에서 점 제외하기 항목을 참조하십시오.
데이터형: logical
| double
problem
— 문제 종속적인 상수에 할당할 값
셀형 배열 | double형
문제 종속적인 상수에 할당할 값으로, 'problem'
과 함께 문제 종속적인 상수 하나당 요소 하나를 갖는 셀형 배열이 쉼표로 구분되어 지정됩니다. 자세한 내용은 fittype
을 참조하십시오.
데이터형: cell
| double
SmoothingParam
— 평활화 파라미터
(0,1) 범위의 스칼라 값
평활화 파라미터로, 'SmoothingParam'
과 함께 0과 1 사이의 스칼라 값이 쉼표로 구분되어 지정됩니다. 디폴트 값은 데이터 세트에 따라 달라집니다. 피팅 유형이 smoothingspline
인 경우에만 사용할 수 있습니다.
데이터형: double
Span
— 국소 회귀에서 사용할 데이터 점의 비율
0.25 (디폴트 값) | (0,1) 범위의 스칼라 값
국소 회귀에서 사용할 데이터 점의 비율로, 'Span'
과 함께 0과 1 사이의 스칼라 값이 쉼표로 구분되어 지정됩니다. 피팅 유형이 lowess
또는 loess
인 경우에만 사용할 수 있습니다.
데이터형: double
Robust
— 로버스트 선형 최소제곱 피팅 방법
'off'
(디폴트 값) | LAR
| Bisquare
로버스트 선형 최소제곱 피팅 방법으로, 'Robust'
와 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.
'LAR'
은 최소 절대 잔차법을 지정합니다.'Bisquare'
는 겹제곱 가중치 방법을 지정합니다.
피팅 유형 Method
가 LinearLeastSquares
또는 NonlinearLeastSquares
인 경우 사용할 수 있습니다.
데이터형: char
Lower
— 피팅할 계수의 하한
[ ] (디폴트 값) | 벡터
피팅할 계수의 하한으로, 'Lower'
와 함께 벡터가 쉼표로 구분되어 지정됩니다. 디폴트 값은 빈 벡터로, 이는 피팅에 하한이라는 제약 조건이 적용되지 않음을 나타냅니다. 한계가 지정된 경우 벡터 길이는 계수의 개수와 같아야 합니다. coeffnames
함수를 사용하여 벡터 값에서 계수 요소의 순서를 확인합니다. 예제는 시작점과 한계를 설정하기 위해 계수 순서 찾기 항목을 참조하십시오. 제약 조건이 적용되지 않은 개별 하한은 -Inf
로 지정할 수 있습니다.
Method
가 LinearLeastSquares
또는 NonlinearLeastSquares
인 경우에 사용할 수 있습니다.
데이터형: double
Upper
— 피팅할 계수의 상한
[ ] (디폴트 값) | 벡터
피팅할 계수의 상한으로, 'Upper'
와 함께 벡터가 쉼표로 구분되어 지정됩니다. 디폴트 값은 빈 벡터로, 이는 피팅에 상한이라는 제약 조건이 적용되지 않음을 나타냅니다. 한계가 지정된 경우 벡터 길이는 계수의 개수와 같아야 합니다. coeffnames
함수를 사용하여 벡터 값에서 계수 요소의 순서를 확인합니다. 예제는 시작점과 한계를 설정하기 위해 계수 순서 찾기 항목을 참조하십시오. 제약 조건이 적용되지 않은 개별 상한은 +Inf
로 지정할 수 있습니다.
Method
가 LinearLeastSquares
또는 NonlinearLeastSquares
인 경우에 사용할 수 있습니다.
데이터형: logical
StartPoint
— 계수의 초기값
[ ] (디폴트 값) | 벡터
계수의 초기값으로, 'StartPoint'
와 함께 벡터가 쉼표로 구분되어 지정됩니다. coeffnames
함수를 사용하여 벡터 값에서 계수 요소의 순서를 확인합니다. 예제는 시작점과 한계를 설정하기 위해 계수 순서 찾기 항목을 참조하십시오.
fit
함수로 전달된 시작점(빈 벡터의 디폴트 값)이 없는 경우, 일부 라이브러리 모델의 시작점은 발견적 방식으로 정해집니다. 유리 모델과 베이불 모델, 그리고 모든 사용자 지정 비선형 모델의 경우, 이 툴박스는 구간 (0,1)에서 계수에 대한 디폴트 초기값을 임의로 균일하게 선택합니다. 따라서 동일한 데이터와 모델을 사용해서 피팅을 여러 번 수행하면 피팅된 계수가 서로 다를 수 있습니다. 이를 방지하려면 fitoptions
객체를 사용하거나 StartPoint
값으로 벡터 값을 사용하여 계수의 초기값을 지정하십시오.
Method
가 NonlinearLeastSquares
인 경우 사용할 수 있습니다.
데이터형: double
Algorithm
— 피팅 절차에 사용할 알고리즘
'Trust-Region' (디폴트 값) | 'Levenberg-Marquardt'
피팅 절차에 사용할 알고리즘으로, 'Algorithm'
과 함께 'Levenberg-Marquardt'
또는 'Trust-Region'
이 쉼표로 구분되어 지정됩니다.
Method
가 NonlinearLeastSquares
인 경우 사용할 수 있습니다.
데이터형: char
DiffMaxChange
— 유한 차분 기울기에 대한 계수의 최대 변화량
0.1 (디폴트 값)
유한 차분 기울기에 대한 계수의 최대 변화량으로, 'DiffMaxChange'
와 함께 스칼라가 쉼표로 구분되어 지정됩니다.
Method
가 NonlinearLeastSquares
인 경우 사용할 수 있습니다.
데이터형: double
DiffMinChange
— 유한 차분 기울기에 대한 계수의 최소 변화량
10–8 (디폴트 값)
유한 차분 기울기에 대한 계수의 최소 변화량으로, 'DiffMinChange'
와 함께 스칼라가 쉼표로 구분되어 지정됩니다.
Method
가 NonlinearLeastSquares
인 경우 사용할 수 있습니다.
데이터형: double
Display
— 명령 창의 표시 옵션
'notify'
(디폴트 값) | 'final'
| 'iter'
| 'off'
명령 창의 표시 옵션으로, 'Display'
와 함께 다음 옵션 중 하나가 쉼표로 구분되어 지정됩니다.
'notify'
는 피팅이 수렴하지 않는 경우에만 출력값을 표시합니다.'final'
은 최종 출력값만 표시합니다.'iter'
은 각 반복마다 출력값을 표시합니다.'off'
는 출력값을 표시하지 않습니다.
Method
가 NonlinearLeastSquares
인 경우 사용할 수 있습니다.
데이터형: char
MaxFunEvals
— 모델의 허용되는 최대 실행 횟수
600
(디폴트 값)
모델의 허용되는 최대 실행 횟수로, 'MaxFunEvals'
와 함께 스칼라가 쉼표로 구분되어 지정됩니다.
Method
가 NonlinearLeastSquares
인 경우 사용할 수 있습니다.
데이터형: double
MaxIter
— 피팅에 대해 허용되는 최대 반복 횟수
400
(디폴트 값)
피팅에 대해 허용되는 최대 반복 횟수로, 'MaxIter'
과 함께 스칼라가 쉼표로 구분되어 지정됩니다.
Method
가 NonlinearLeastSquares
인 경우 사용할 수 있습니다.
데이터형: double
TolFun
— 모델 값에 대한 종료 허용오차
10–6 (디폴트 값)
모델 값에 대한 종료 허용오차로, 'TolFun'
과 함께 스칼라가 쉼표로 구분되어 지정됩니다.
Method
가 NonlinearLeastSquares
인 경우 사용할 수 있습니다.
데이터형: double
TolX
— 계수 값에 대한 종료 허용오차
10–6 (디폴트 값)
계수 값에 대한 종료 허용오차로, 'TolX'
와 함께 스칼라가 쉼표로 구분되어 지정됩니다.
Method
가 NonlinearLeastSquares
인 경우 사용할 수 있습니다.
데이터형: double
출력 인수
gof
— 적합도 통계량
gof
구조체
적합도 통계량으로, 다음 표에 나와 있는 필드를 포함하는 gof
구조체로 반환됩니다.
필드 | 값 |
---|---|
| 오차제곱합 |
| 결정계수 |
| 오차의 자유도 |
| 자유도 수정된 결정계수 |
| 평균 제곱 오차의 제곱근(표준 오차) |
output
— 피팅 알고리즘 정보
output
구조체
피팅 알고리즘 정보로, 피팅 알고리즘과 관련된 정보를 포함하는 output
구조체로 반환됩니다.
필드는 알고리즘에 따라 달라집니다. 예를 들어, 비선형 최소제곱 알고리즘의 output
구조체는 다음 표에 나와 있는 필드를 포함합니다.
필드 | 값 |
---|---|
| 관측값 개수(응답 변수 값) |
| 피팅할 알려지지 않은 파라미터(계수)의 개수 |
| 잔차로 구성된 벡터 |
| 야코비 행렬 |
| 알고리즘의 종료 조건을 설명합니다. 양의 플래그는 허용오차 내의 수렴을 나타냅니다. 0 플래그는 함수 실행이나 반복의 최대 횟수가 초과되었음을 나타냅니다. 음의 플래그는 알고리즘이 해로 수렴하지 않았음을 나타냅니다. |
| 반복 횟수 |
| 함수 실행 횟수 |
| 1차 최적성에 대한 측도(기울기 성분의 절대 최댓값) |
| 사용한 피팅 알고리즘 |
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)