lsq1
MATLAB으로 구현한 최소자승법 예제
추정하고자 하는 모수 참 값
a = 3.5;
b = 105.3;
모수의 참값으로 그려본 직선
x = 0:0.1:100;
y = a*x + b;
plot(x, y,'LineWidth', 3);
hold on;
측정되는 가상 데이터 생성
x_perturbed = x + randn(1, 1001)*10;
y_perturbed = y + randn(1, 1001)*10;
plot(x_perturbed, y_perturbed, 'MarkerSize', 2, 'Marker', '*', 'Color', 'r', 'LineStyle', 'none');
hold on;
최소자승법으로 모수를 추정
[param_est] = [x_perturbed' ones(1001, 1)] \ y_perturbed';
y_est = param_est(1)*x + param_est(2);
plot(x, y_est, 'Color','g' , 'LineWidth', 3);
legend('true', 'measured data', 'Least Square Estimation');
param_est =
3.1268
123.7713
댓글 없음:
댓글 쓰기