31 lines
775 B
Matlab
31 lines
775 B
Matlab
clear
|
|
load('lin_regression.mat')
|
|
|
|
ms = -1:0.5:5;
|
|
ns = -10:1:10;
|
|
|
|
error_surf = zeros(length(ms), length(ns));
|
|
gradient_m = zeros(size(error_surf));
|
|
gradient_n = zeros(size(error_surf));
|
|
|
|
for i = 1:length(ms)
|
|
for j = 1:length(ns)
|
|
error_surf(i,j) = lsqError([ms(i), ns(j)], x, y);
|
|
grad = lsqGradient([ms(i), ns(j)], x, y);
|
|
gradient_m(i,j) = grad(1);
|
|
gradient_n(i,j) = grad(2);
|
|
end
|
|
end
|
|
|
|
figure()
|
|
hold on
|
|
[N, M] = meshgrid(ns, ms);
|
|
%surface(M,N, error_surf, 'FaceAlpha', 0.5);
|
|
contour(M,N, error_surf, 50);
|
|
quiver(M,N, gradient_m, gradient_n)
|
|
xlabel('slope')
|
|
ylabel('intercept')
|
|
zlabel('error')
|
|
set(gcf, 'paperunits', 'centimeters', 'papersize', [15, 12.5], ...
|
|
'paperposition', [0., 0., 15, 12.5])
|
|
saveas(gcf, 'error_gradient', 'pdf') |