2017-04-24 2 views
2

두 배열간에 가장 잘 맞는 것을 찾기 위해 Matlab R2016a에서 곡선 맞춤을 사용하고 있습니다. 하나의 배열은 주어진 위도와 경도에서 특정 값을 나타내고 다른 배열은 값이 수집 된 날짜를 나타냅니다.curvefit에서 잔차를 추출하는 방법

곡선 맞춤 도구를 사용할 때 잔차를 플롯 할뿐만 아니라 가장 잘 맞는 선을 찾을 수 있습니다. 잔차는 내가 신경 써야 할 모든 것입니다. 그러나 잔차를 작업 공간으로 내보낼 때 하나의 숫자 열로 표현됩니다. 이것은 원래 배열에 대한 잔차의 관계에 대한 식별 정보 없이는 유용하지 않습니다. (즉, X, Y 쌍이 각각의 잔차에 해당합니까?)

곡선 적합 도구에서 잔차 그래프의 데이터는 다음과 같습니다. 정확히 내가 원하는 것. 이것을 사용할 수있는 방식으로 내보내는 방법이 있습니까?

답변

1

cftoolfit을 마음에두고 있습니다. 적합성과 잔차를 더 자세히 탐색하기 위해 수행 할 수있는 작업은 작업 영역에 적합성을 내보내는 것입니다. Curve Fitting Tool 창의 맨 위에있는 'Fit'메뉴를 통해이를 수행 한 다음 '작업 공간에 저장'을 선택하십시오. 이 맞춤 개체 (곡선의 경우 cfit, 서페이스의 경우 sfit)를 사용하면 커브 피팅 도구와 동일한 분석을 할 수 있습니다.

적합성을 얻는 방법, 잔차의 플롯을 만드는 방법 및 잔차를 계산하는 방법을 설명하겠습니다. 결과 이미지가 아래에 나와 있습니다. 코드에서 residuals 변수는 각 샘플 쌍에 속하는 각 요소의 피트 잔차를 xy에 포함합니다.

% Generate data 
rng default 
x = sort(rand(10, 1)); 
y = randn(size(x)) - 3*x; 

% Fit a line 
fitted = fit(x, y, fittype('poly1')); 

% Plot fitted line with data 
figure 
subplot 311 
plot(fitted, x, y) 

% Plot residuals 
subplot 312 
plot(fitted, x, y, 'residuals)') 
ylabel residuals 

% Get residuals 
residuals = y - fitted(x); 

% Create stem plot of residuals 
subplot 313 
stem(x, residuals) 
legend residuals 
xlabel x 
ylabel residuals 

Result of the code in the answer